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 opAcceptTransitGatewayPeeringAttachment = "AcceptTransitGatewayPeeringAttachment"
92
93// AcceptTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
94// client's request for the AcceptTransitGatewayPeeringAttachment 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 AcceptTransitGatewayPeeringAttachment for more information on using the AcceptTransitGatewayPeeringAttachment
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 AcceptTransitGatewayPeeringAttachmentRequest method.
109//    req, resp := client.AcceptTransitGatewayPeeringAttachmentRequest(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/AcceptTransitGatewayPeeringAttachment
117func (c *EC2) AcceptTransitGatewayPeeringAttachmentRequest(input *AcceptTransitGatewayPeeringAttachmentInput) (req *request.Request, output *AcceptTransitGatewayPeeringAttachmentOutput) {
118	op := &request.Operation{
119		Name:       opAcceptTransitGatewayPeeringAttachment,
120		HTTPMethod: "POST",
121		HTTPPath:   "/",
122	}
123
124	if input == nil {
125		input = &AcceptTransitGatewayPeeringAttachmentInput{}
126	}
127
128	output = &AcceptTransitGatewayPeeringAttachmentOutput{}
129	req = c.newRequest(op, input, output)
130	return
131}
132
133// AcceptTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
134//
135// Accepts a transit gateway peering attachment request. The peering attachment
136// must be in the pendingAcceptance state.
137//
138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
139// with awserr.Error's Code and Message methods to get detailed information about
140// the error.
141//
142// See the AWS API reference guide for Amazon Elastic Compute Cloud's
143// API operation AcceptTransitGatewayPeeringAttachment for usage and error information.
144// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayPeeringAttachment
145func (c *EC2) AcceptTransitGatewayPeeringAttachment(input *AcceptTransitGatewayPeeringAttachmentInput) (*AcceptTransitGatewayPeeringAttachmentOutput, error) {
146	req, out := c.AcceptTransitGatewayPeeringAttachmentRequest(input)
147	return out, req.Send()
148}
149
150// AcceptTransitGatewayPeeringAttachmentWithContext is the same as AcceptTransitGatewayPeeringAttachment with the addition of
151// the ability to pass a context and additional request options.
152//
153// See AcceptTransitGatewayPeeringAttachment for details on how to use this API operation.
154//
155// The context must be non-nil and will be used for request cancellation. If
156// the context is nil a panic will occur. In the future the SDK may create
157// sub-contexts for http.Requests. See https://golang.org/pkg/context/
158// for more information on using Contexts.
159func (c *EC2) AcceptTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *AcceptTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*AcceptTransitGatewayPeeringAttachmentOutput, error) {
160	req, out := c.AcceptTransitGatewayPeeringAttachmentRequest(input)
161	req.SetContext(ctx)
162	req.ApplyOptions(opts...)
163	return out, req.Send()
164}
165
166const opAcceptTransitGatewayVpcAttachment = "AcceptTransitGatewayVpcAttachment"
167
168// AcceptTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
169// client's request for the AcceptTransitGatewayVpcAttachment operation. The "output" return
170// value will be populated with the request's response once the request completes
171// successfully.
172//
173// Use "Send" method on the returned Request to send the API call to the service.
174// the "output" return value is not valid until after Send returns without error.
175//
176// See AcceptTransitGatewayVpcAttachment for more information on using the AcceptTransitGatewayVpcAttachment
177// API call, and error handling.
178//
179// This method is useful when you want to inject custom logic or configuration
180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
181//
182//
183//    // Example sending a request using the AcceptTransitGatewayVpcAttachmentRequest method.
184//    req, resp := client.AcceptTransitGatewayVpcAttachmentRequest(params)
185//
186//    err := req.Send()
187//    if err == nil { // resp is now filled
188//        fmt.Println(resp)
189//    }
190//
191// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment
192func (c *EC2) AcceptTransitGatewayVpcAttachmentRequest(input *AcceptTransitGatewayVpcAttachmentInput) (req *request.Request, output *AcceptTransitGatewayVpcAttachmentOutput) {
193	op := &request.Operation{
194		Name:       opAcceptTransitGatewayVpcAttachment,
195		HTTPMethod: "POST",
196		HTTPPath:   "/",
197	}
198
199	if input == nil {
200		input = &AcceptTransitGatewayVpcAttachmentInput{}
201	}
202
203	output = &AcceptTransitGatewayVpcAttachmentOutput{}
204	req = c.newRequest(op, input, output)
205	return
206}
207
208// AcceptTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
209//
210// Accepts a request to attach a VPC to a transit gateway.
211//
212// The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
213// to view your pending VPC attachment requests. Use RejectTransitGatewayVpcAttachment
214// to reject a VPC attachment request.
215//
216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
217// with awserr.Error's Code and Message methods to get detailed information about
218// the error.
219//
220// See the AWS API reference guide for Amazon Elastic Compute Cloud's
221// API operation AcceptTransitGatewayVpcAttachment for usage and error information.
222// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptTransitGatewayVpcAttachment
223func (c *EC2) AcceptTransitGatewayVpcAttachment(input *AcceptTransitGatewayVpcAttachmentInput) (*AcceptTransitGatewayVpcAttachmentOutput, error) {
224	req, out := c.AcceptTransitGatewayVpcAttachmentRequest(input)
225	return out, req.Send()
226}
227
228// AcceptTransitGatewayVpcAttachmentWithContext is the same as AcceptTransitGatewayVpcAttachment with the addition of
229// the ability to pass a context and additional request options.
230//
231// See AcceptTransitGatewayVpcAttachment for details on how to use this API operation.
232//
233// The context must be non-nil and will be used for request cancellation. If
234// the context is nil a panic will occur. In the future the SDK may create
235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
236// for more information on using Contexts.
237func (c *EC2) AcceptTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *AcceptTransitGatewayVpcAttachmentInput, opts ...request.Option) (*AcceptTransitGatewayVpcAttachmentOutput, error) {
238	req, out := c.AcceptTransitGatewayVpcAttachmentRequest(input)
239	req.SetContext(ctx)
240	req.ApplyOptions(opts...)
241	return out, req.Send()
242}
243
244const opAcceptVpcEndpointConnections = "AcceptVpcEndpointConnections"
245
246// AcceptVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
247// client's request for the AcceptVpcEndpointConnections operation. The "output" return
248// value will be populated with the request's response once the request completes
249// successfully.
250//
251// Use "Send" method on the returned Request to send the API call to the service.
252// the "output" return value is not valid until after Send returns without error.
253//
254// See AcceptVpcEndpointConnections for more information on using the AcceptVpcEndpointConnections
255// API call, and error handling.
256//
257// This method is useful when you want to inject custom logic or configuration
258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
259//
260//
261//    // Example sending a request using the AcceptVpcEndpointConnectionsRequest method.
262//    req, resp := client.AcceptVpcEndpointConnectionsRequest(params)
263//
264//    err := req.Send()
265//    if err == nil { // resp is now filled
266//        fmt.Println(resp)
267//    }
268//
269// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
270func (c *EC2) AcceptVpcEndpointConnectionsRequest(input *AcceptVpcEndpointConnectionsInput) (req *request.Request, output *AcceptVpcEndpointConnectionsOutput) {
271	op := &request.Operation{
272		Name:       opAcceptVpcEndpointConnections,
273		HTTPMethod: "POST",
274		HTTPPath:   "/",
275	}
276
277	if input == nil {
278		input = &AcceptVpcEndpointConnectionsInput{}
279	}
280
281	output = &AcceptVpcEndpointConnectionsOutput{}
282	req = c.newRequest(op, input, output)
283	return
284}
285
286// AcceptVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
287//
288// Accepts one or more interface VPC endpoint connection requests to your VPC
289// endpoint service.
290//
291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
292// with awserr.Error's Code and Message methods to get detailed information about
293// the error.
294//
295// See the AWS API reference guide for Amazon Elastic Compute Cloud's
296// API operation AcceptVpcEndpointConnections for usage and error information.
297// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcEndpointConnections
298func (c *EC2) AcceptVpcEndpointConnections(input *AcceptVpcEndpointConnectionsInput) (*AcceptVpcEndpointConnectionsOutput, error) {
299	req, out := c.AcceptVpcEndpointConnectionsRequest(input)
300	return out, req.Send()
301}
302
303// AcceptVpcEndpointConnectionsWithContext is the same as AcceptVpcEndpointConnections with the addition of
304// the ability to pass a context and additional request options.
305//
306// See AcceptVpcEndpointConnections for details on how to use this API operation.
307//
308// The context must be non-nil and will be used for request cancellation. If
309// the context is nil a panic will occur. In the future the SDK may create
310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
311// for more information on using Contexts.
312func (c *EC2) AcceptVpcEndpointConnectionsWithContext(ctx aws.Context, input *AcceptVpcEndpointConnectionsInput, opts ...request.Option) (*AcceptVpcEndpointConnectionsOutput, error) {
313	req, out := c.AcceptVpcEndpointConnectionsRequest(input)
314	req.SetContext(ctx)
315	req.ApplyOptions(opts...)
316	return out, req.Send()
317}
318
319const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
320
321// AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
322// client's request for the AcceptVpcPeeringConnection operation. The "output" return
323// value will be populated with the request's response once the request completes
324// successfully.
325//
326// Use "Send" method on the returned Request to send the API call to the service.
327// the "output" return value is not valid until after Send returns without error.
328//
329// See AcceptVpcPeeringConnection for more information on using the AcceptVpcPeeringConnection
330// API call, and error handling.
331//
332// This method is useful when you want to inject custom logic or configuration
333// into the SDK's request lifecycle. Such as custom headers, or retry logic.
334//
335//
336//    // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
337//    req, resp := client.AcceptVpcPeeringConnectionRequest(params)
338//
339//    err := req.Send()
340//    if err == nil { // resp is now filled
341//        fmt.Println(resp)
342//    }
343//
344// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
345func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
346	op := &request.Operation{
347		Name:       opAcceptVpcPeeringConnection,
348		HTTPMethod: "POST",
349		HTTPPath:   "/",
350	}
351
352	if input == nil {
353		input = &AcceptVpcPeeringConnectionInput{}
354	}
355
356	output = &AcceptVpcPeeringConnectionOutput{}
357	req = c.newRequest(op, input, output)
358	return
359}
360
361// AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
362//
363// Accept a VPC peering connection request. To accept a request, the VPC peering
364// connection must be in the pending-acceptance state, and you must be the owner
365// of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
366// VPC peering connection requests.
367//
368// For an inter-Region VPC peering connection request, you must accept the VPC
369// peering connection in the Region of the accepter VPC.
370//
371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
372// with awserr.Error's Code and Message methods to get detailed information about
373// the error.
374//
375// See the AWS API reference guide for Amazon Elastic Compute Cloud's
376// API operation AcceptVpcPeeringConnection for usage and error information.
377// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
378func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
379	req, out := c.AcceptVpcPeeringConnectionRequest(input)
380	return out, req.Send()
381}
382
383// AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
384// the ability to pass a context and additional request options.
385//
386// See AcceptVpcPeeringConnection for details on how to use this API operation.
387//
388// The context must be non-nil and will be used for request cancellation. If
389// the context is nil a panic will occur. In the future the SDK may create
390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
391// for more information on using Contexts.
392func (c *EC2) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
393	req, out := c.AcceptVpcPeeringConnectionRequest(input)
394	req.SetContext(ctx)
395	req.ApplyOptions(opts...)
396	return out, req.Send()
397}
398
399const opAdvertiseByoipCidr = "AdvertiseByoipCidr"
400
401// AdvertiseByoipCidrRequest generates a "aws/request.Request" representing the
402// client's request for the AdvertiseByoipCidr operation. The "output" return
403// value will be populated with the request's response once the request completes
404// successfully.
405//
406// Use "Send" method on the returned Request to send the API call to the service.
407// the "output" return value is not valid until after Send returns without error.
408//
409// See AdvertiseByoipCidr for more information on using the AdvertiseByoipCidr
410// API call, and error handling.
411//
412// This method is useful when you want to inject custom logic or configuration
413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
414//
415//
416//    // Example sending a request using the AdvertiseByoipCidrRequest method.
417//    req, resp := client.AdvertiseByoipCidrRequest(params)
418//
419//    err := req.Send()
420//    if err == nil { // resp is now filled
421//        fmt.Println(resp)
422//    }
423//
424// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
425func (c *EC2) AdvertiseByoipCidrRequest(input *AdvertiseByoipCidrInput) (req *request.Request, output *AdvertiseByoipCidrOutput) {
426	op := &request.Operation{
427		Name:       opAdvertiseByoipCidr,
428		HTTPMethod: "POST",
429		HTTPPath:   "/",
430	}
431
432	if input == nil {
433		input = &AdvertiseByoipCidrInput{}
434	}
435
436	output = &AdvertiseByoipCidrOutput{}
437	req = c.newRequest(op, input, output)
438	return
439}
440
441// AdvertiseByoipCidr API operation for Amazon Elastic Compute Cloud.
442//
443// Advertises an IPv4 or IPv6 address range that is provisioned for use with
444// your AWS resources through bring your own IP addresses (BYOIP).
445//
446// You can perform this operation at most once every 10 seconds, even if you
447// specify different address ranges each time.
448//
449// We recommend that you stop advertising the BYOIP CIDR from other locations
450// when you advertise it from AWS. To minimize down time, you can configure
451// your AWS resources to use an address from a BYOIP CIDR before it is advertised,
452// and then simultaneously stop advertising it from the current location and
453// start advertising it through AWS.
454//
455// It can take a few minutes before traffic to the specified addresses starts
456// routing to AWS because of BGP propagation delays.
457//
458// To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.
459//
460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
461// with awserr.Error's Code and Message methods to get detailed information about
462// the error.
463//
464// See the AWS API reference guide for Amazon Elastic Compute Cloud's
465// API operation AdvertiseByoipCidr for usage and error information.
466// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AdvertiseByoipCidr
467func (c *EC2) AdvertiseByoipCidr(input *AdvertiseByoipCidrInput) (*AdvertiseByoipCidrOutput, error) {
468	req, out := c.AdvertiseByoipCidrRequest(input)
469	return out, req.Send()
470}
471
472// AdvertiseByoipCidrWithContext is the same as AdvertiseByoipCidr with the addition of
473// the ability to pass a context and additional request options.
474//
475// See AdvertiseByoipCidr for details on how to use this API operation.
476//
477// The context must be non-nil and will be used for request cancellation. If
478// the context is nil a panic will occur. In the future the SDK may create
479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
480// for more information on using Contexts.
481func (c *EC2) AdvertiseByoipCidrWithContext(ctx aws.Context, input *AdvertiseByoipCidrInput, opts ...request.Option) (*AdvertiseByoipCidrOutput, error) {
482	req, out := c.AdvertiseByoipCidrRequest(input)
483	req.SetContext(ctx)
484	req.ApplyOptions(opts...)
485	return out, req.Send()
486}
487
488const opAllocateAddress = "AllocateAddress"
489
490// AllocateAddressRequest generates a "aws/request.Request" representing the
491// client's request for the AllocateAddress operation. The "output" return
492// value will be populated with the request's response once the request completes
493// successfully.
494//
495// Use "Send" method on the returned Request to send the API call to the service.
496// the "output" return value is not valid until after Send returns without error.
497//
498// See AllocateAddress for more information on using the AllocateAddress
499// API call, and error handling.
500//
501// This method is useful when you want to inject custom logic or configuration
502// into the SDK's request lifecycle. Such as custom headers, or retry logic.
503//
504//
505//    // Example sending a request using the AllocateAddressRequest method.
506//    req, resp := client.AllocateAddressRequest(params)
507//
508//    err := req.Send()
509//    if err == nil { // resp is now filled
510//        fmt.Println(resp)
511//    }
512//
513// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
514func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
515	op := &request.Operation{
516		Name:       opAllocateAddress,
517		HTTPMethod: "POST",
518		HTTPPath:   "/",
519	}
520
521	if input == nil {
522		input = &AllocateAddressInput{}
523	}
524
525	output = &AllocateAddressOutput{}
526	req = c.newRequest(op, input, output)
527	return
528}
529
530// AllocateAddress API operation for Amazon Elastic Compute Cloud.
531//
532// Allocates an Elastic IP address to your AWS account. After you allocate the
533// Elastic IP address you can associate it with an instance or network interface.
534// After you release an Elastic IP address, it is released to the IP address
535// pool and can be allocated to a different AWS account.
536//
537// You can allocate an Elastic IP address from an address pool owned by AWS
538// or from an address pool created from a public IPv4 address range that you
539// have brought to AWS for use with your AWS resources using bring your own
540// IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses
541// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
542// in the Amazon Elastic Compute Cloud User Guide.
543//
544// [EC2-VPC] If you release an Elastic IP address, you might be able to recover
545// it. You cannot recover an Elastic IP address that you released after it is
546// allocated to another AWS account. You cannot recover an Elastic IP address
547// for EC2-Classic. To attempt to recover an Elastic IP address that you released,
548// specify it in this operation.
549//
550// An Elastic IP address is for use either in the EC2-Classic platform or in
551// a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic
552// per Region and 5 Elastic IP addresses for EC2-VPC per Region.
553//
554// For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
555// in the Amazon Elastic Compute Cloud User Guide.
556//
557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
558// with awserr.Error's Code and Message methods to get detailed information about
559// the error.
560//
561// See the AWS API reference guide for Amazon Elastic Compute Cloud's
562// API operation AllocateAddress for usage and error information.
563// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
564func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
565	req, out := c.AllocateAddressRequest(input)
566	return out, req.Send()
567}
568
569// AllocateAddressWithContext is the same as AllocateAddress with the addition of
570// the ability to pass a context and additional request options.
571//
572// See AllocateAddress for details on how to use this API operation.
573//
574// The context must be non-nil and will be used for request cancellation. If
575// the context is nil a panic will occur. In the future the SDK may create
576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
577// for more information on using Contexts.
578func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
579	req, out := c.AllocateAddressRequest(input)
580	req.SetContext(ctx)
581	req.ApplyOptions(opts...)
582	return out, req.Send()
583}
584
585const opAllocateHosts = "AllocateHosts"
586
587// AllocateHostsRequest generates a "aws/request.Request" representing the
588// client's request for the AllocateHosts operation. The "output" return
589// value will be populated with the request's response once the request completes
590// successfully.
591//
592// Use "Send" method on the returned Request to send the API call to the service.
593// the "output" return value is not valid until after Send returns without error.
594//
595// See AllocateHosts for more information on using the AllocateHosts
596// API call, and error handling.
597//
598// This method is useful when you want to inject custom logic or configuration
599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
600//
601//
602//    // Example sending a request using the AllocateHostsRequest method.
603//    req, resp := client.AllocateHostsRequest(params)
604//
605//    err := req.Send()
606//    if err == nil { // resp is now filled
607//        fmt.Println(resp)
608//    }
609//
610// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
611func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
612	op := &request.Operation{
613		Name:       opAllocateHosts,
614		HTTPMethod: "POST",
615		HTTPPath:   "/",
616	}
617
618	if input == nil {
619		input = &AllocateHostsInput{}
620	}
621
622	output = &AllocateHostsOutput{}
623	req = c.newRequest(op, input, output)
624	return
625}
626
627// AllocateHosts API operation for Amazon Elastic Compute Cloud.
628//
629// Allocates a Dedicated Host to your account. At a minimum, specify the supported
630// instance type or instance family, the Availability Zone in which to allocate
631// the host, and the number of hosts to allocate.
632//
633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
634// with awserr.Error's Code and Message methods to get detailed information about
635// the error.
636//
637// See the AWS API reference guide for Amazon Elastic Compute Cloud's
638// API operation AllocateHosts for usage and error information.
639// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
640func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
641	req, out := c.AllocateHostsRequest(input)
642	return out, req.Send()
643}
644
645// AllocateHostsWithContext is the same as AllocateHosts with the addition of
646// the ability to pass a context and additional request options.
647//
648// See AllocateHosts for details on how to use this API operation.
649//
650// The context must be non-nil and will be used for request cancellation. If
651// the context is nil a panic will occur. In the future the SDK may create
652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
653// for more information on using Contexts.
654func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
655	req, out := c.AllocateHostsRequest(input)
656	req.SetContext(ctx)
657	req.ApplyOptions(opts...)
658	return out, req.Send()
659}
660
661const opApplySecurityGroupsToClientVpnTargetNetwork = "ApplySecurityGroupsToClientVpnTargetNetwork"
662
663// ApplySecurityGroupsToClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
664// client's request for the ApplySecurityGroupsToClientVpnTargetNetwork operation. The "output" return
665// value will be populated with the request's response once the request completes
666// successfully.
667//
668// Use "Send" method on the returned Request to send the API call to the service.
669// the "output" return value is not valid until after Send returns without error.
670//
671// See ApplySecurityGroupsToClientVpnTargetNetwork for more information on using the ApplySecurityGroupsToClientVpnTargetNetwork
672// API call, and error handling.
673//
674// This method is useful when you want to inject custom logic or configuration
675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
676//
677//
678//    // Example sending a request using the ApplySecurityGroupsToClientVpnTargetNetworkRequest method.
679//    req, resp := client.ApplySecurityGroupsToClientVpnTargetNetworkRequest(params)
680//
681//    err := req.Send()
682//    if err == nil { // resp is now filled
683//        fmt.Println(resp)
684//    }
685//
686// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
687func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkRequest(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (req *request.Request, output *ApplySecurityGroupsToClientVpnTargetNetworkOutput) {
688	op := &request.Operation{
689		Name:       opApplySecurityGroupsToClientVpnTargetNetwork,
690		HTTPMethod: "POST",
691		HTTPPath:   "/",
692	}
693
694	if input == nil {
695		input = &ApplySecurityGroupsToClientVpnTargetNetworkInput{}
696	}
697
698	output = &ApplySecurityGroupsToClientVpnTargetNetworkOutput{}
699	req = c.newRequest(op, input, output)
700	return
701}
702
703// ApplySecurityGroupsToClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
704//
705// Applies a security group to the association between the target network and
706// the Client VPN endpoint. This action replaces the existing security groups
707// with the specified security groups.
708//
709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
710// with awserr.Error's Code and Message methods to get detailed information about
711// the error.
712//
713// See the AWS API reference guide for Amazon Elastic Compute Cloud's
714// API operation ApplySecurityGroupsToClientVpnTargetNetwork for usage and error information.
715// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ApplySecurityGroupsToClientVpnTargetNetwork
716func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetwork(input *ApplySecurityGroupsToClientVpnTargetNetworkInput) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
717	req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
718	return out, req.Send()
719}
720
721// ApplySecurityGroupsToClientVpnTargetNetworkWithContext is the same as ApplySecurityGroupsToClientVpnTargetNetwork with the addition of
722// the ability to pass a context and additional request options.
723//
724// See ApplySecurityGroupsToClientVpnTargetNetwork for details on how to use this API operation.
725//
726// The context must be non-nil and will be used for request cancellation. If
727// the context is nil a panic will occur. In the future the SDK may create
728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
729// for more information on using Contexts.
730func (c *EC2) ApplySecurityGroupsToClientVpnTargetNetworkWithContext(ctx aws.Context, input *ApplySecurityGroupsToClientVpnTargetNetworkInput, opts ...request.Option) (*ApplySecurityGroupsToClientVpnTargetNetworkOutput, error) {
731	req, out := c.ApplySecurityGroupsToClientVpnTargetNetworkRequest(input)
732	req.SetContext(ctx)
733	req.ApplyOptions(opts...)
734	return out, req.Send()
735}
736
737const opAssignIpv6Addresses = "AssignIpv6Addresses"
738
739// AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
740// client's request for the AssignIpv6Addresses operation. The "output" return
741// value will be populated with the request's response once the request completes
742// successfully.
743//
744// Use "Send" method on the returned Request to send the API call to the service.
745// the "output" return value is not valid until after Send returns without error.
746//
747// See AssignIpv6Addresses for more information on using the AssignIpv6Addresses
748// API call, and error handling.
749//
750// This method is useful when you want to inject custom logic or configuration
751// into the SDK's request lifecycle. Such as custom headers, or retry logic.
752//
753//
754//    // Example sending a request using the AssignIpv6AddressesRequest method.
755//    req, resp := client.AssignIpv6AddressesRequest(params)
756//
757//    err := req.Send()
758//    if err == nil { // resp is now filled
759//        fmt.Println(resp)
760//    }
761//
762// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
763func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
764	op := &request.Operation{
765		Name:       opAssignIpv6Addresses,
766		HTTPMethod: "POST",
767		HTTPPath:   "/",
768	}
769
770	if input == nil {
771		input = &AssignIpv6AddressesInput{}
772	}
773
774	output = &AssignIpv6AddressesOutput{}
775	req = c.newRequest(op, input, output)
776	return
777}
778
779// AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
780//
781// Assigns one or more IPv6 addresses to the specified network interface. You
782// can specify one or more specific IPv6 addresses, or you can specify the number
783// of IPv6 addresses to be automatically assigned from within the subnet's IPv6
784// CIDR block range. You can assign as many IPv6 addresses to a network interface
785// as you can assign private IPv4 addresses, and the limit varies per instance
786// type. For information, see IP Addresses Per Network Interface Per Instance
787// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
788// in the Amazon Elastic Compute Cloud User Guide.
789//
790// You must specify either the IPv6 addresses or the IPv6 address count in the
791// request.
792//
793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
794// with awserr.Error's Code and Message methods to get detailed information about
795// the error.
796//
797// See the AWS API reference guide for Amazon Elastic Compute Cloud's
798// API operation AssignIpv6Addresses for usage and error information.
799// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
800func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
801	req, out := c.AssignIpv6AddressesRequest(input)
802	return out, req.Send()
803}
804
805// AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
806// the ability to pass a context and additional request options.
807//
808// See AssignIpv6Addresses for details on how to use this API operation.
809//
810// The context must be non-nil and will be used for request cancellation. If
811// the context is nil a panic will occur. In the future the SDK may create
812// sub-contexts for http.Requests. See https://golang.org/pkg/context/
813// for more information on using Contexts.
814func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
815	req, out := c.AssignIpv6AddressesRequest(input)
816	req.SetContext(ctx)
817	req.ApplyOptions(opts...)
818	return out, req.Send()
819}
820
821const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
822
823// AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
824// client's request for the AssignPrivateIpAddresses operation. The "output" return
825// value will be populated with the request's response once the request completes
826// successfully.
827//
828// Use "Send" method on the returned Request to send the API call to the service.
829// the "output" return value is not valid until after Send returns without error.
830//
831// See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
832// API call, and error handling.
833//
834// This method is useful when you want to inject custom logic or configuration
835// into the SDK's request lifecycle. Such as custom headers, or retry logic.
836//
837//
838//    // Example sending a request using the AssignPrivateIpAddressesRequest method.
839//    req, resp := client.AssignPrivateIpAddressesRequest(params)
840//
841//    err := req.Send()
842//    if err == nil { // resp is now filled
843//        fmt.Println(resp)
844//    }
845//
846// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
847func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
848	op := &request.Operation{
849		Name:       opAssignPrivateIpAddresses,
850		HTTPMethod: "POST",
851		HTTPPath:   "/",
852	}
853
854	if input == nil {
855		input = &AssignPrivateIpAddressesInput{}
856	}
857
858	output = &AssignPrivateIpAddressesOutput{}
859	req = c.newRequest(op, input, output)
860	return
861}
862
863// AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
864//
865// Assigns one or more secondary private IP addresses to the specified network
866// interface.
867//
868// You can specify one or more specific secondary IP addresses, or you can specify
869// the number of secondary IP addresses to be automatically assigned within
870// the subnet's CIDR block range. The number of secondary IP addresses that
871// you can assign to an instance varies by instance type. For information about
872// instance types, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
873// in the Amazon Elastic Compute Cloud User Guide. For more information about
874// Elastic IP addresses, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
875// in the Amazon Elastic Compute Cloud User Guide.
876//
877// When you move a secondary private IP address to another network interface,
878// any Elastic IP address that is associated with the IP address is also moved.
879//
880// Remapping an IP address is an asynchronous operation. When you move an IP
881// address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s
882// in the instance metadata to confirm that the remapping is complete.
883//
884// You must specify either the IP addresses or the IP address count in the request.
885//
886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
887// with awserr.Error's Code and Message methods to get detailed information about
888// the error.
889//
890// See the AWS API reference guide for Amazon Elastic Compute Cloud's
891// API operation AssignPrivateIpAddresses for usage and error information.
892// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
893func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
894	req, out := c.AssignPrivateIpAddressesRequest(input)
895	return out, req.Send()
896}
897
898// AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
899// the ability to pass a context and additional request options.
900//
901// See AssignPrivateIpAddresses for details on how to use this API operation.
902//
903// The context must be non-nil and will be used for request cancellation. If
904// the context is nil a panic will occur. In the future the SDK may create
905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
906// for more information on using Contexts.
907func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
908	req, out := c.AssignPrivateIpAddressesRequest(input)
909	req.SetContext(ctx)
910	req.ApplyOptions(opts...)
911	return out, req.Send()
912}
913
914const opAssociateAddress = "AssociateAddress"
915
916// AssociateAddressRequest generates a "aws/request.Request" representing the
917// client's request for the AssociateAddress operation. The "output" return
918// value will be populated with the request's response once the request completes
919// successfully.
920//
921// Use "Send" method on the returned Request to send the API call to the service.
922// the "output" return value is not valid until after Send returns without error.
923//
924// See AssociateAddress for more information on using the AssociateAddress
925// API call, and error handling.
926//
927// This method is useful when you want to inject custom logic or configuration
928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
929//
930//
931//    // Example sending a request using the AssociateAddressRequest method.
932//    req, resp := client.AssociateAddressRequest(params)
933//
934//    err := req.Send()
935//    if err == nil { // resp is now filled
936//        fmt.Println(resp)
937//    }
938//
939// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
940func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
941	op := &request.Operation{
942		Name:       opAssociateAddress,
943		HTTPMethod: "POST",
944		HTTPPath:   "/",
945	}
946
947	if input == nil {
948		input = &AssociateAddressInput{}
949	}
950
951	output = &AssociateAddressOutput{}
952	req = c.newRequest(op, input, output)
953	return
954}
955
956// AssociateAddress API operation for Amazon Elastic Compute Cloud.
957//
958// Associates an Elastic IP address with an instance or a network interface.
959// Before you can use an Elastic IP address, you must allocate it to your account.
960//
961// An Elastic IP address is for use in either the EC2-Classic platform or in
962// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
963// in the Amazon Elastic Compute Cloud User Guide.
964//
965// [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
966// already associated with a different instance, it is disassociated from that
967// instance and associated with the specified instance. If you associate an
968// Elastic IP address with an instance that has an existing Elastic IP address,
969// the existing address is disassociated from the instance, but remains allocated
970// to your account.
971//
972// [VPC in an EC2-Classic account] If you don't specify a private IP address,
973// the Elastic IP address is associated with the primary IP address. If the
974// Elastic IP address is already associated with a different instance or a network
975// interface, you get an error unless you allow reassociation. You cannot associate
976// an Elastic IP address with an instance or network interface that has an existing
977// Elastic IP address.
978//
979// You cannot associate an Elastic IP address with an interface in a different
980// network border group.
981//
982// This is an idempotent operation. If you perform the operation more than once,
983// Amazon EC2 doesn't return an error, and you may be charged for each time
984// the Elastic IP address is remapped to the same instance. For more information,
985// see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
986//
987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
988// with awserr.Error's Code and Message methods to get detailed information about
989// the error.
990//
991// See the AWS API reference guide for Amazon Elastic Compute Cloud's
992// API operation AssociateAddress for usage and error information.
993// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
994func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
995	req, out := c.AssociateAddressRequest(input)
996	return out, req.Send()
997}
998
999// AssociateAddressWithContext is the same as AssociateAddress with the addition of
1000// the ability to pass a context and additional request options.
1001//
1002// See AssociateAddress for details on how to use this API operation.
1003//
1004// The context must be non-nil and will be used for request cancellation. If
1005// the context is nil a panic will occur. In the future the SDK may create
1006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1007// for more information on using Contexts.
1008func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
1009	req, out := c.AssociateAddressRequest(input)
1010	req.SetContext(ctx)
1011	req.ApplyOptions(opts...)
1012	return out, req.Send()
1013}
1014
1015const opAssociateClientVpnTargetNetwork = "AssociateClientVpnTargetNetwork"
1016
1017// AssociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
1018// client's request for the AssociateClientVpnTargetNetwork operation. The "output" return
1019// value will be populated with the request's response once the request completes
1020// successfully.
1021//
1022// Use "Send" method on the returned Request to send the API call to the service.
1023// the "output" return value is not valid until after Send returns without error.
1024//
1025// See AssociateClientVpnTargetNetwork for more information on using the AssociateClientVpnTargetNetwork
1026// API call, and error handling.
1027//
1028// This method is useful when you want to inject custom logic or configuration
1029// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1030//
1031//
1032//    // Example sending a request using the AssociateClientVpnTargetNetworkRequest method.
1033//    req, resp := client.AssociateClientVpnTargetNetworkRequest(params)
1034//
1035//    err := req.Send()
1036//    if err == nil { // resp is now filled
1037//        fmt.Println(resp)
1038//    }
1039//
1040// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
1041func (c *EC2) AssociateClientVpnTargetNetworkRequest(input *AssociateClientVpnTargetNetworkInput) (req *request.Request, output *AssociateClientVpnTargetNetworkOutput) {
1042	op := &request.Operation{
1043		Name:       opAssociateClientVpnTargetNetwork,
1044		HTTPMethod: "POST",
1045		HTTPPath:   "/",
1046	}
1047
1048	if input == nil {
1049		input = &AssociateClientVpnTargetNetworkInput{}
1050	}
1051
1052	output = &AssociateClientVpnTargetNetworkOutput{}
1053	req = c.newRequest(op, input, output)
1054	return
1055}
1056
1057// AssociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
1058//
1059// Associates a target network with a Client VPN endpoint. A target network
1060// is a subnet in a VPC. You can associate multiple subnets from the same VPC
1061// with a Client VPN endpoint. You can associate only one subnet in each Availability
1062// Zone. We recommend that you associate at least two subnets to provide Availability
1063// Zone redundancy.
1064//
1065// If you specified a VPC when you created the Client VPN endpoint or if you
1066// have previous subnet associations, the specified subnet must be in the same
1067// VPC. To specify a subnet that's in a different VPC, you must first modify
1068// the Client VPN endpoint (ModifyClientVpnEndpoint) and change the VPC that's
1069// associated with it.
1070//
1071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1072// with awserr.Error's Code and Message methods to get detailed information about
1073// the error.
1074//
1075// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1076// API operation AssociateClientVpnTargetNetwork for usage and error information.
1077// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
1078func (c *EC2) AssociateClientVpnTargetNetwork(input *AssociateClientVpnTargetNetworkInput) (*AssociateClientVpnTargetNetworkOutput, error) {
1079	req, out := c.AssociateClientVpnTargetNetworkRequest(input)
1080	return out, req.Send()
1081}
1082
1083// AssociateClientVpnTargetNetworkWithContext is the same as AssociateClientVpnTargetNetwork with the addition of
1084// the ability to pass a context and additional request options.
1085//
1086// See AssociateClientVpnTargetNetwork for details on how to use this API operation.
1087//
1088// The context must be non-nil and will be used for request cancellation. If
1089// the context is nil a panic will occur. In the future the SDK may create
1090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1091// for more information on using Contexts.
1092func (c *EC2) AssociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *AssociateClientVpnTargetNetworkInput, opts ...request.Option) (*AssociateClientVpnTargetNetworkOutput, error) {
1093	req, out := c.AssociateClientVpnTargetNetworkRequest(input)
1094	req.SetContext(ctx)
1095	req.ApplyOptions(opts...)
1096	return out, req.Send()
1097}
1098
1099const opAssociateDhcpOptions = "AssociateDhcpOptions"
1100
1101// AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
1102// client's request for the AssociateDhcpOptions operation. The "output" return
1103// value will be populated with the request's response once the request completes
1104// successfully.
1105//
1106// Use "Send" method on the returned Request to send the API call to the service.
1107// the "output" return value is not valid until after Send returns without error.
1108//
1109// See AssociateDhcpOptions for more information on using the AssociateDhcpOptions
1110// API call, and error handling.
1111//
1112// This method is useful when you want to inject custom logic or configuration
1113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1114//
1115//
1116//    // Example sending a request using the AssociateDhcpOptionsRequest method.
1117//    req, resp := client.AssociateDhcpOptionsRequest(params)
1118//
1119//    err := req.Send()
1120//    if err == nil { // resp is now filled
1121//        fmt.Println(resp)
1122//    }
1123//
1124// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
1125func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
1126	op := &request.Operation{
1127		Name:       opAssociateDhcpOptions,
1128		HTTPMethod: "POST",
1129		HTTPPath:   "/",
1130	}
1131
1132	if input == nil {
1133		input = &AssociateDhcpOptionsInput{}
1134	}
1135
1136	output = &AssociateDhcpOptionsOutput{}
1137	req = c.newRequest(op, input, output)
1138	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1139	return
1140}
1141
1142// AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
1143//
1144// Associates a set of DHCP options (that you've previously created) with the
1145// specified VPC, or associates no DHCP options with the VPC.
1146//
1147// After you associate the options with the VPC, any existing instances and
1148// all new instances that you launch in that VPC use the options. You don't
1149// need to restart or relaunch the instances. They automatically pick up the
1150// changes within a few hours, depending on how frequently the instance renews
1151// its DHCP lease. You can explicitly renew the lease using the operating system
1152// on the instance.
1153//
1154// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
1155// in the Amazon Virtual Private Cloud User Guide.
1156//
1157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1158// with awserr.Error's Code and Message methods to get detailed information about
1159// the error.
1160//
1161// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1162// API operation AssociateDhcpOptions for usage and error information.
1163// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
1164func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
1165	req, out := c.AssociateDhcpOptionsRequest(input)
1166	return out, req.Send()
1167}
1168
1169// AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
1170// the ability to pass a context and additional request options.
1171//
1172// See AssociateDhcpOptions for details on how to use this API operation.
1173//
1174// The context must be non-nil and will be used for request cancellation. If
1175// the context is nil a panic will occur. In the future the SDK may create
1176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1177// for more information on using Contexts.
1178func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
1179	req, out := c.AssociateDhcpOptionsRequest(input)
1180	req.SetContext(ctx)
1181	req.ApplyOptions(opts...)
1182	return out, req.Send()
1183}
1184
1185const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
1186
1187// AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
1188// client's request for the AssociateIamInstanceProfile operation. The "output" return
1189// value will be populated with the request's response once the request completes
1190// successfully.
1191//
1192// Use "Send" method on the returned Request to send the API call to the service.
1193// the "output" return value is not valid until after Send returns without error.
1194//
1195// See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
1196// API call, and error handling.
1197//
1198// This method is useful when you want to inject custom logic or configuration
1199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1200//
1201//
1202//    // Example sending a request using the AssociateIamInstanceProfileRequest method.
1203//    req, resp := client.AssociateIamInstanceProfileRequest(params)
1204//
1205//    err := req.Send()
1206//    if err == nil { // resp is now filled
1207//        fmt.Println(resp)
1208//    }
1209//
1210// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
1211func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
1212	op := &request.Operation{
1213		Name:       opAssociateIamInstanceProfile,
1214		HTTPMethod: "POST",
1215		HTTPPath:   "/",
1216	}
1217
1218	if input == nil {
1219		input = &AssociateIamInstanceProfileInput{}
1220	}
1221
1222	output = &AssociateIamInstanceProfileOutput{}
1223	req = c.newRequest(op, input, output)
1224	return
1225}
1226
1227// AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
1228//
1229// Associates an IAM instance profile with a running or stopped instance. You
1230// cannot associate more than one IAM instance profile with an instance.
1231//
1232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1233// with awserr.Error's Code and Message methods to get detailed information about
1234// the error.
1235//
1236// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1237// API operation AssociateIamInstanceProfile for usage and error information.
1238// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
1239func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
1240	req, out := c.AssociateIamInstanceProfileRequest(input)
1241	return out, req.Send()
1242}
1243
1244// AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
1245// the ability to pass a context and additional request options.
1246//
1247// See AssociateIamInstanceProfile for details on how to use this API operation.
1248//
1249// The context must be non-nil and will be used for request cancellation. If
1250// the context is nil a panic will occur. In the future the SDK may create
1251// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1252// for more information on using Contexts.
1253func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
1254	req, out := c.AssociateIamInstanceProfileRequest(input)
1255	req.SetContext(ctx)
1256	req.ApplyOptions(opts...)
1257	return out, req.Send()
1258}
1259
1260const opAssociateRouteTable = "AssociateRouteTable"
1261
1262// AssociateRouteTableRequest generates a "aws/request.Request" representing the
1263// client's request for the AssociateRouteTable operation. The "output" return
1264// value will be populated with the request's response once the request completes
1265// successfully.
1266//
1267// Use "Send" method on the returned Request to send the API call to the service.
1268// the "output" return value is not valid until after Send returns without error.
1269//
1270// See AssociateRouteTable for more information on using the AssociateRouteTable
1271// API call, and error handling.
1272//
1273// This method is useful when you want to inject custom logic or configuration
1274// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1275//
1276//
1277//    // Example sending a request using the AssociateRouteTableRequest method.
1278//    req, resp := client.AssociateRouteTableRequest(params)
1279//
1280//    err := req.Send()
1281//    if err == nil { // resp is now filled
1282//        fmt.Println(resp)
1283//    }
1284//
1285// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
1286func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
1287	op := &request.Operation{
1288		Name:       opAssociateRouteTable,
1289		HTTPMethod: "POST",
1290		HTTPPath:   "/",
1291	}
1292
1293	if input == nil {
1294		input = &AssociateRouteTableInput{}
1295	}
1296
1297	output = &AssociateRouteTableOutput{}
1298	req = c.newRequest(op, input, output)
1299	return
1300}
1301
1302// AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
1303//
1304// Associates a subnet in your VPC or an internet gateway or virtual private
1305// gateway attached to your VPC with a route table in your VPC. This association
1306// causes traffic from the subnet or gateway to be routed according to the routes
1307// in the route table. The action returns an association ID, which you need
1308// in order to disassociate the route table later. A route table can be associated
1309// with multiple subnets.
1310//
1311// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
1312// in the Amazon Virtual Private Cloud User Guide.
1313//
1314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1315// with awserr.Error's Code and Message methods to get detailed information about
1316// the error.
1317//
1318// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1319// API operation AssociateRouteTable for usage and error information.
1320// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
1321func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
1322	req, out := c.AssociateRouteTableRequest(input)
1323	return out, req.Send()
1324}
1325
1326// AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
1327// the ability to pass a context and additional request options.
1328//
1329// See AssociateRouteTable for details on how to use this API operation.
1330//
1331// The context must be non-nil and will be used for request cancellation. If
1332// the context is nil a panic will occur. In the future the SDK may create
1333// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1334// for more information on using Contexts.
1335func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
1336	req, out := c.AssociateRouteTableRequest(input)
1337	req.SetContext(ctx)
1338	req.ApplyOptions(opts...)
1339	return out, req.Send()
1340}
1341
1342const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
1343
1344// AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
1345// client's request for the AssociateSubnetCidrBlock operation. The "output" return
1346// value will be populated with the request's response once the request completes
1347// successfully.
1348//
1349// Use "Send" method on the returned Request to send the API call to the service.
1350// the "output" return value is not valid until after Send returns without error.
1351//
1352// See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
1353// API call, and error handling.
1354//
1355// This method is useful when you want to inject custom logic or configuration
1356// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1357//
1358//
1359//    // Example sending a request using the AssociateSubnetCidrBlockRequest method.
1360//    req, resp := client.AssociateSubnetCidrBlockRequest(params)
1361//
1362//    err := req.Send()
1363//    if err == nil { // resp is now filled
1364//        fmt.Println(resp)
1365//    }
1366//
1367// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
1368func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
1369	op := &request.Operation{
1370		Name:       opAssociateSubnetCidrBlock,
1371		HTTPMethod: "POST",
1372		HTTPPath:   "/",
1373	}
1374
1375	if input == nil {
1376		input = &AssociateSubnetCidrBlockInput{}
1377	}
1378
1379	output = &AssociateSubnetCidrBlockOutput{}
1380	req = c.newRequest(op, input, output)
1381	return
1382}
1383
1384// AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
1385//
1386// Associates a CIDR block with your subnet. You can only associate a single
1387// IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
1388// of /64.
1389//
1390// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1391// with awserr.Error's Code and Message methods to get detailed information about
1392// the error.
1393//
1394// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1395// API operation AssociateSubnetCidrBlock for usage and error information.
1396// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
1397func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
1398	req, out := c.AssociateSubnetCidrBlockRequest(input)
1399	return out, req.Send()
1400}
1401
1402// AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
1403// the ability to pass a context and additional request options.
1404//
1405// See AssociateSubnetCidrBlock for details on how to use this API operation.
1406//
1407// The context must be non-nil and will be used for request cancellation. If
1408// the context is nil a panic will occur. In the future the SDK may create
1409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1410// for more information on using Contexts.
1411func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
1412	req, out := c.AssociateSubnetCidrBlockRequest(input)
1413	req.SetContext(ctx)
1414	req.ApplyOptions(opts...)
1415	return out, req.Send()
1416}
1417
1418const opAssociateTransitGatewayMulticastDomain = "AssociateTransitGatewayMulticastDomain"
1419
1420// AssociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
1421// client's request for the AssociateTransitGatewayMulticastDomain operation. The "output" return
1422// value will be populated with the request's response once the request completes
1423// successfully.
1424//
1425// Use "Send" method on the returned Request to send the API call to the service.
1426// the "output" return value is not valid until after Send returns without error.
1427//
1428// See AssociateTransitGatewayMulticastDomain for more information on using the AssociateTransitGatewayMulticastDomain
1429// API call, and error handling.
1430//
1431// This method is useful when you want to inject custom logic or configuration
1432// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1433//
1434//
1435//    // Example sending a request using the AssociateTransitGatewayMulticastDomainRequest method.
1436//    req, resp := client.AssociateTransitGatewayMulticastDomainRequest(params)
1437//
1438//    err := req.Send()
1439//    if err == nil { // resp is now filled
1440//        fmt.Println(resp)
1441//    }
1442//
1443// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
1444func (c *EC2) AssociateTransitGatewayMulticastDomainRequest(input *AssociateTransitGatewayMulticastDomainInput) (req *request.Request, output *AssociateTransitGatewayMulticastDomainOutput) {
1445	op := &request.Operation{
1446		Name:       opAssociateTransitGatewayMulticastDomain,
1447		HTTPMethod: "POST",
1448		HTTPPath:   "/",
1449	}
1450
1451	if input == nil {
1452		input = &AssociateTransitGatewayMulticastDomainInput{}
1453	}
1454
1455	output = &AssociateTransitGatewayMulticastDomainOutput{}
1456	req = c.newRequest(op, input, output)
1457	return
1458}
1459
1460// AssociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
1461//
1462// Associates the specified subnets and transit gateway attachments with the
1463// specified transit gateway multicast domain.
1464//
1465// The transit gateway attachment must be in the available state before you
1466// can add a resource. Use DescribeTransitGatewayAttachments (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html)
1467// to see the state of the attachment.
1468//
1469// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1470// with awserr.Error's Code and Message methods to get detailed information about
1471// the error.
1472//
1473// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1474// API operation AssociateTransitGatewayMulticastDomain for usage and error information.
1475// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
1476func (c *EC2) AssociateTransitGatewayMulticastDomain(input *AssociateTransitGatewayMulticastDomainInput) (*AssociateTransitGatewayMulticastDomainOutput, error) {
1477	req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
1478	return out, req.Send()
1479}
1480
1481// AssociateTransitGatewayMulticastDomainWithContext is the same as AssociateTransitGatewayMulticastDomain with the addition of
1482// the ability to pass a context and additional request options.
1483//
1484// See AssociateTransitGatewayMulticastDomain for details on how to use this API operation.
1485//
1486// The context must be non-nil and will be used for request cancellation. If
1487// the context is nil a panic will occur. In the future the SDK may create
1488// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1489// for more information on using Contexts.
1490func (c *EC2) AssociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *AssociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*AssociateTransitGatewayMulticastDomainOutput, error) {
1491	req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
1492	req.SetContext(ctx)
1493	req.ApplyOptions(opts...)
1494	return out, req.Send()
1495}
1496
1497const opAssociateTransitGatewayRouteTable = "AssociateTransitGatewayRouteTable"
1498
1499// AssociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
1500// client's request for the AssociateTransitGatewayRouteTable operation. The "output" return
1501// value will be populated with the request's response once the request completes
1502// successfully.
1503//
1504// Use "Send" method on the returned Request to send the API call to the service.
1505// the "output" return value is not valid until after Send returns without error.
1506//
1507// See AssociateTransitGatewayRouteTable for more information on using the AssociateTransitGatewayRouteTable
1508// API call, and error handling.
1509//
1510// This method is useful when you want to inject custom logic or configuration
1511// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1512//
1513//
1514//    // Example sending a request using the AssociateTransitGatewayRouteTableRequest method.
1515//    req, resp := client.AssociateTransitGatewayRouteTableRequest(params)
1516//
1517//    err := req.Send()
1518//    if err == nil { // resp is now filled
1519//        fmt.Println(resp)
1520//    }
1521//
1522// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
1523func (c *EC2) AssociateTransitGatewayRouteTableRequest(input *AssociateTransitGatewayRouteTableInput) (req *request.Request, output *AssociateTransitGatewayRouteTableOutput) {
1524	op := &request.Operation{
1525		Name:       opAssociateTransitGatewayRouteTable,
1526		HTTPMethod: "POST",
1527		HTTPPath:   "/",
1528	}
1529
1530	if input == nil {
1531		input = &AssociateTransitGatewayRouteTableInput{}
1532	}
1533
1534	output = &AssociateTransitGatewayRouteTableOutput{}
1535	req = c.newRequest(op, input, output)
1536	return
1537}
1538
1539// AssociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
1540//
1541// Associates the specified attachment with the specified transit gateway route
1542// table. You can associate only one route table with an attachment.
1543//
1544// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1545// with awserr.Error's Code and Message methods to get detailed information about
1546// the error.
1547//
1548// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1549// API operation AssociateTransitGatewayRouteTable for usage and error information.
1550// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
1551func (c *EC2) AssociateTransitGatewayRouteTable(input *AssociateTransitGatewayRouteTableInput) (*AssociateTransitGatewayRouteTableOutput, error) {
1552	req, out := c.AssociateTransitGatewayRouteTableRequest(input)
1553	return out, req.Send()
1554}
1555
1556// AssociateTransitGatewayRouteTableWithContext is the same as AssociateTransitGatewayRouteTable with the addition of
1557// the ability to pass a context and additional request options.
1558//
1559// See AssociateTransitGatewayRouteTable for details on how to use this API operation.
1560//
1561// The context must be non-nil and will be used for request cancellation. If
1562// the context is nil a panic will occur. In the future the SDK may create
1563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1564// for more information on using Contexts.
1565func (c *EC2) AssociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *AssociateTransitGatewayRouteTableInput, opts ...request.Option) (*AssociateTransitGatewayRouteTableOutput, error) {
1566	req, out := c.AssociateTransitGatewayRouteTableRequest(input)
1567	req.SetContext(ctx)
1568	req.ApplyOptions(opts...)
1569	return out, req.Send()
1570}
1571
1572const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
1573
1574// AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
1575// client's request for the AssociateVpcCidrBlock operation. The "output" return
1576// value will be populated with the request's response once the request completes
1577// successfully.
1578//
1579// Use "Send" method on the returned Request to send the API call to the service.
1580// the "output" return value is not valid until after Send returns without error.
1581//
1582// See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
1583// API call, and error handling.
1584//
1585// This method is useful when you want to inject custom logic or configuration
1586// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1587//
1588//
1589//    // Example sending a request using the AssociateVpcCidrBlockRequest method.
1590//    req, resp := client.AssociateVpcCidrBlockRequest(params)
1591//
1592//    err := req.Send()
1593//    if err == nil { // resp is now filled
1594//        fmt.Println(resp)
1595//    }
1596//
1597// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
1598func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
1599	op := &request.Operation{
1600		Name:       opAssociateVpcCidrBlock,
1601		HTTPMethod: "POST",
1602		HTTPPath:   "/",
1603	}
1604
1605	if input == nil {
1606		input = &AssociateVpcCidrBlockInput{}
1607	}
1608
1609	output = &AssociateVpcCidrBlockOutput{}
1610	req = c.newRequest(op, input, output)
1611	return
1612}
1613
1614// AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
1615//
1616// Associates a CIDR block with your VPC. You can associate a secondary IPv4
1617// CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from
1618// an IPv6 address pool that you provisioned through bring your own IP addresses
1619// (BYOIP (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)).
1620// The IPv6 CIDR block size is fixed at /56.
1621//
1622// You must specify one of the following in the request: an IPv4 CIDR block,
1623// an IPv6 pool, or an Amazon-provided IPv6 CIDR block.
1624//
1625// For more information about associating CIDR blocks with your VPC and applicable
1626// restrictions, see VPC and Subnet Sizing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPC_Sizing)
1627// in the Amazon Virtual Private Cloud User Guide.
1628//
1629// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1630// with awserr.Error's Code and Message methods to get detailed information about
1631// the error.
1632//
1633// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1634// API operation AssociateVpcCidrBlock for usage and error information.
1635// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
1636func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
1637	req, out := c.AssociateVpcCidrBlockRequest(input)
1638	return out, req.Send()
1639}
1640
1641// AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
1642// the ability to pass a context and additional request options.
1643//
1644// See AssociateVpcCidrBlock for details on how to use this API operation.
1645//
1646// The context must be non-nil and will be used for request cancellation. If
1647// the context is nil a panic will occur. In the future the SDK may create
1648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1649// for more information on using Contexts.
1650func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
1651	req, out := c.AssociateVpcCidrBlockRequest(input)
1652	req.SetContext(ctx)
1653	req.ApplyOptions(opts...)
1654	return out, req.Send()
1655}
1656
1657const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
1658
1659// AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
1660// client's request for the AttachClassicLinkVpc operation. The "output" return
1661// value will be populated with the request's response once the request completes
1662// successfully.
1663//
1664// Use "Send" method on the returned Request to send the API call to the service.
1665// the "output" return value is not valid until after Send returns without error.
1666//
1667// See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
1668// API call, and error handling.
1669//
1670// This method is useful when you want to inject custom logic or configuration
1671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1672//
1673//
1674//    // Example sending a request using the AttachClassicLinkVpcRequest method.
1675//    req, resp := client.AttachClassicLinkVpcRequest(params)
1676//
1677//    err := req.Send()
1678//    if err == nil { // resp is now filled
1679//        fmt.Println(resp)
1680//    }
1681//
1682// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
1683func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
1684	op := &request.Operation{
1685		Name:       opAttachClassicLinkVpc,
1686		HTTPMethod: "POST",
1687		HTTPPath:   "/",
1688	}
1689
1690	if input == nil {
1691		input = &AttachClassicLinkVpcInput{}
1692	}
1693
1694	output = &AttachClassicLinkVpcOutput{}
1695	req = c.newRequest(op, input, output)
1696	return
1697}
1698
1699// AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
1700//
1701// Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
1702// more of the VPC's security groups. You cannot link an EC2-Classic instance
1703// to more than one VPC at a time. You can only link an instance that's in the
1704// running state. An instance is automatically unlinked from a VPC when it's
1705// stopped - you can link it to the VPC again when you restart it.
1706//
1707// After you've linked an instance, you cannot change the VPC security groups
1708// that are associated with it. To change the security groups, you must first
1709// unlink the instance, and then link it again.
1710//
1711// Linking your instance to a VPC is sometimes referred to as attaching your
1712// instance.
1713//
1714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1715// with awserr.Error's Code and Message methods to get detailed information about
1716// the error.
1717//
1718// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1719// API operation AttachClassicLinkVpc for usage and error information.
1720// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
1721func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
1722	req, out := c.AttachClassicLinkVpcRequest(input)
1723	return out, req.Send()
1724}
1725
1726// AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
1727// the ability to pass a context and additional request options.
1728//
1729// See AttachClassicLinkVpc for details on how to use this API operation.
1730//
1731// The context must be non-nil and will be used for request cancellation. If
1732// the context is nil a panic will occur. In the future the SDK may create
1733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1734// for more information on using Contexts.
1735func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
1736	req, out := c.AttachClassicLinkVpcRequest(input)
1737	req.SetContext(ctx)
1738	req.ApplyOptions(opts...)
1739	return out, req.Send()
1740}
1741
1742const opAttachInternetGateway = "AttachInternetGateway"
1743
1744// AttachInternetGatewayRequest generates a "aws/request.Request" representing the
1745// client's request for the AttachInternetGateway operation. The "output" return
1746// value will be populated with the request's response once the request completes
1747// successfully.
1748//
1749// Use "Send" method on the returned Request to send the API call to the service.
1750// the "output" return value is not valid until after Send returns without error.
1751//
1752// See AttachInternetGateway for more information on using the AttachInternetGateway
1753// API call, and error handling.
1754//
1755// This method is useful when you want to inject custom logic or configuration
1756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1757//
1758//
1759//    // Example sending a request using the AttachInternetGatewayRequest method.
1760//    req, resp := client.AttachInternetGatewayRequest(params)
1761//
1762//    err := req.Send()
1763//    if err == nil { // resp is now filled
1764//        fmt.Println(resp)
1765//    }
1766//
1767// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
1768func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
1769	op := &request.Operation{
1770		Name:       opAttachInternetGateway,
1771		HTTPMethod: "POST",
1772		HTTPPath:   "/",
1773	}
1774
1775	if input == nil {
1776		input = &AttachInternetGatewayInput{}
1777	}
1778
1779	output = &AttachInternetGatewayOutput{}
1780	req = c.newRequest(op, input, output)
1781	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1782	return
1783}
1784
1785// AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
1786//
1787// Attaches an internet gateway or a virtual private gateway to a VPC, enabling
1788// connectivity between the internet and the VPC. For more information about
1789// your VPC and internet gateway, see the Amazon Virtual Private Cloud User
1790// Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
1791//
1792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1793// with awserr.Error's Code and Message methods to get detailed information about
1794// the error.
1795//
1796// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1797// API operation AttachInternetGateway for usage and error information.
1798// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
1799func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
1800	req, out := c.AttachInternetGatewayRequest(input)
1801	return out, req.Send()
1802}
1803
1804// AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
1805// the ability to pass a context and additional request options.
1806//
1807// See AttachInternetGateway for details on how to use this API operation.
1808//
1809// The context must be non-nil and will be used for request cancellation. If
1810// the context is nil a panic will occur. In the future the SDK may create
1811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1812// for more information on using Contexts.
1813func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
1814	req, out := c.AttachInternetGatewayRequest(input)
1815	req.SetContext(ctx)
1816	req.ApplyOptions(opts...)
1817	return out, req.Send()
1818}
1819
1820const opAttachNetworkInterface = "AttachNetworkInterface"
1821
1822// AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
1823// client's request for the AttachNetworkInterface operation. The "output" return
1824// value will be populated with the request's response once the request completes
1825// successfully.
1826//
1827// Use "Send" method on the returned Request to send the API call to the service.
1828// the "output" return value is not valid until after Send returns without error.
1829//
1830// See AttachNetworkInterface for more information on using the AttachNetworkInterface
1831// API call, and error handling.
1832//
1833// This method is useful when you want to inject custom logic or configuration
1834// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1835//
1836//
1837//    // Example sending a request using the AttachNetworkInterfaceRequest method.
1838//    req, resp := client.AttachNetworkInterfaceRequest(params)
1839//
1840//    err := req.Send()
1841//    if err == nil { // resp is now filled
1842//        fmt.Println(resp)
1843//    }
1844//
1845// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
1846func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
1847	op := &request.Operation{
1848		Name:       opAttachNetworkInterface,
1849		HTTPMethod: "POST",
1850		HTTPPath:   "/",
1851	}
1852
1853	if input == nil {
1854		input = &AttachNetworkInterfaceInput{}
1855	}
1856
1857	output = &AttachNetworkInterfaceOutput{}
1858	req = c.newRequest(op, input, output)
1859	return
1860}
1861
1862// AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
1863//
1864// Attaches a network interface to an instance.
1865//
1866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1867// with awserr.Error's Code and Message methods to get detailed information about
1868// the error.
1869//
1870// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1871// API operation AttachNetworkInterface for usage and error information.
1872// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
1873func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
1874	req, out := c.AttachNetworkInterfaceRequest(input)
1875	return out, req.Send()
1876}
1877
1878// AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
1879// the ability to pass a context and additional request options.
1880//
1881// See AttachNetworkInterface for details on how to use this API operation.
1882//
1883// The context must be non-nil and will be used for request cancellation. If
1884// the context is nil a panic will occur. In the future the SDK may create
1885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1886// for more information on using Contexts.
1887func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
1888	req, out := c.AttachNetworkInterfaceRequest(input)
1889	req.SetContext(ctx)
1890	req.ApplyOptions(opts...)
1891	return out, req.Send()
1892}
1893
1894const opAttachVolume = "AttachVolume"
1895
1896// AttachVolumeRequest generates a "aws/request.Request" representing the
1897// client's request for the AttachVolume operation. The "output" return
1898// value will be populated with the request's response once the request completes
1899// successfully.
1900//
1901// Use "Send" method on the returned Request to send the API call to the service.
1902// the "output" return value is not valid until after Send returns without error.
1903//
1904// See AttachVolume for more information on using the AttachVolume
1905// API call, and error handling.
1906//
1907// This method is useful when you want to inject custom logic or configuration
1908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1909//
1910//
1911//    // Example sending a request using the AttachVolumeRequest method.
1912//    req, resp := client.AttachVolumeRequest(params)
1913//
1914//    err := req.Send()
1915//    if err == nil { // resp is now filled
1916//        fmt.Println(resp)
1917//    }
1918//
1919// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
1920func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
1921	op := &request.Operation{
1922		Name:       opAttachVolume,
1923		HTTPMethod: "POST",
1924		HTTPPath:   "/",
1925	}
1926
1927	if input == nil {
1928		input = &AttachVolumeInput{}
1929	}
1930
1931	output = &VolumeAttachment{}
1932	req = c.newRequest(op, input, output)
1933	return
1934}
1935
1936// AttachVolume API operation for Amazon Elastic Compute Cloud.
1937//
1938// Attaches an EBS volume to a running or stopped instance and exposes it to
1939// the instance with the specified device name.
1940//
1941// Encrypted EBS volumes must be attached to instances that support Amazon EBS
1942// encryption. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
1943// in the Amazon Elastic Compute Cloud User Guide.
1944//
1945// After you attach an EBS volume, you must make it available. For more information,
1946// see Making an EBS Volume Available For Use (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html).
1947//
1948// If a volume has an AWS Marketplace product code:
1949//
1950//    * The volume can be attached only to a stopped instance.
1951//
1952//    * AWS Marketplace product codes are copied from the volume to the instance.
1953//
1954//    * You must be subscribed to the product.
1955//
1956//    * The instance type and operating system of the instance must support
1957//    the product. For example, you can't detach a volume from a Windows instance
1958//    and attach it to a Linux instance.
1959//
1960// For more information, see Attaching Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
1961// in the Amazon Elastic Compute Cloud User Guide.
1962//
1963// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1964// with awserr.Error's Code and Message methods to get detailed information about
1965// the error.
1966//
1967// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1968// API operation AttachVolume for usage and error information.
1969// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
1970func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
1971	req, out := c.AttachVolumeRequest(input)
1972	return out, req.Send()
1973}
1974
1975// AttachVolumeWithContext is the same as AttachVolume with the addition of
1976// the ability to pass a context and additional request options.
1977//
1978// See AttachVolume for details on how to use this API operation.
1979//
1980// The context must be non-nil and will be used for request cancellation. If
1981// the context is nil a panic will occur. In the future the SDK may create
1982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1983// for more information on using Contexts.
1984func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
1985	req, out := c.AttachVolumeRequest(input)
1986	req.SetContext(ctx)
1987	req.ApplyOptions(opts...)
1988	return out, req.Send()
1989}
1990
1991const opAttachVpnGateway = "AttachVpnGateway"
1992
1993// AttachVpnGatewayRequest generates a "aws/request.Request" representing the
1994// client's request for the AttachVpnGateway operation. The "output" return
1995// value will be populated with the request's response once the request completes
1996// successfully.
1997//
1998// Use "Send" method on the returned Request to send the API call to the service.
1999// the "output" return value is not valid until after Send returns without error.
2000//
2001// See AttachVpnGateway for more information on using the AttachVpnGateway
2002// API call, and error handling.
2003//
2004// This method is useful when you want to inject custom logic or configuration
2005// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2006//
2007//
2008//    // Example sending a request using the AttachVpnGatewayRequest method.
2009//    req, resp := client.AttachVpnGatewayRequest(params)
2010//
2011//    err := req.Send()
2012//    if err == nil { // resp is now filled
2013//        fmt.Println(resp)
2014//    }
2015//
2016// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
2017func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
2018	op := &request.Operation{
2019		Name:       opAttachVpnGateway,
2020		HTTPMethod: "POST",
2021		HTTPPath:   "/",
2022	}
2023
2024	if input == nil {
2025		input = &AttachVpnGatewayInput{}
2026	}
2027
2028	output = &AttachVpnGatewayOutput{}
2029	req = c.newRequest(op, input, output)
2030	return
2031}
2032
2033// AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
2034//
2035// Attaches a virtual private gateway to a VPC. You can attach one virtual private
2036// gateway to one VPC at a time.
2037//
2038// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
2039// in the AWS Site-to-Site VPN User Guide.
2040//
2041// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2042// with awserr.Error's Code and Message methods to get detailed information about
2043// the error.
2044//
2045// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2046// API operation AttachVpnGateway for usage and error information.
2047// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
2048func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
2049	req, out := c.AttachVpnGatewayRequest(input)
2050	return out, req.Send()
2051}
2052
2053// AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
2054// the ability to pass a context and additional request options.
2055//
2056// See AttachVpnGateway for details on how to use this API operation.
2057//
2058// The context must be non-nil and will be used for request cancellation. If
2059// the context is nil a panic will occur. In the future the SDK may create
2060// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2061// for more information on using Contexts.
2062func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
2063	req, out := c.AttachVpnGatewayRequest(input)
2064	req.SetContext(ctx)
2065	req.ApplyOptions(opts...)
2066	return out, req.Send()
2067}
2068
2069const opAuthorizeClientVpnIngress = "AuthorizeClientVpnIngress"
2070
2071// AuthorizeClientVpnIngressRequest generates a "aws/request.Request" representing the
2072// client's request for the AuthorizeClientVpnIngress operation. The "output" return
2073// value will be populated with the request's response once the request completes
2074// successfully.
2075//
2076// Use "Send" method on the returned Request to send the API call to the service.
2077// the "output" return value is not valid until after Send returns without error.
2078//
2079// See AuthorizeClientVpnIngress for more information on using the AuthorizeClientVpnIngress
2080// API call, and error handling.
2081//
2082// This method is useful when you want to inject custom logic or configuration
2083// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2084//
2085//
2086//    // Example sending a request using the AuthorizeClientVpnIngressRequest method.
2087//    req, resp := client.AuthorizeClientVpnIngressRequest(params)
2088//
2089//    err := req.Send()
2090//    if err == nil { // resp is now filled
2091//        fmt.Println(resp)
2092//    }
2093//
2094// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
2095func (c *EC2) AuthorizeClientVpnIngressRequest(input *AuthorizeClientVpnIngressInput) (req *request.Request, output *AuthorizeClientVpnIngressOutput) {
2096	op := &request.Operation{
2097		Name:       opAuthorizeClientVpnIngress,
2098		HTTPMethod: "POST",
2099		HTTPPath:   "/",
2100	}
2101
2102	if input == nil {
2103		input = &AuthorizeClientVpnIngressInput{}
2104	}
2105
2106	output = &AuthorizeClientVpnIngressOutput{}
2107	req = c.newRequest(op, input, output)
2108	return
2109}
2110
2111// AuthorizeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
2112//
2113// Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization
2114// rules act as firewall rules that grant access to networks. You must configure
2115// ingress authorization rules to enable clients to access resources in AWS
2116// or on-premises networks.
2117//
2118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2119// with awserr.Error's Code and Message methods to get detailed information about
2120// the error.
2121//
2122// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2123// API operation AuthorizeClientVpnIngress for usage and error information.
2124// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
2125func (c *EC2) AuthorizeClientVpnIngress(input *AuthorizeClientVpnIngressInput) (*AuthorizeClientVpnIngressOutput, error) {
2126	req, out := c.AuthorizeClientVpnIngressRequest(input)
2127	return out, req.Send()
2128}
2129
2130// AuthorizeClientVpnIngressWithContext is the same as AuthorizeClientVpnIngress with the addition of
2131// the ability to pass a context and additional request options.
2132//
2133// See AuthorizeClientVpnIngress for details on how to use this API operation.
2134//
2135// The context must be non-nil and will be used for request cancellation. If
2136// the context is nil a panic will occur. In the future the SDK may create
2137// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2138// for more information on using Contexts.
2139func (c *EC2) AuthorizeClientVpnIngressWithContext(ctx aws.Context, input *AuthorizeClientVpnIngressInput, opts ...request.Option) (*AuthorizeClientVpnIngressOutput, error) {
2140	req, out := c.AuthorizeClientVpnIngressRequest(input)
2141	req.SetContext(ctx)
2142	req.ApplyOptions(opts...)
2143	return out, req.Send()
2144}
2145
2146const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
2147
2148// AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
2149// client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
2150// value will be populated with the request's response once the request completes
2151// successfully.
2152//
2153// Use "Send" method on the returned Request to send the API call to the service.
2154// the "output" return value is not valid until after Send returns without error.
2155//
2156// See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
2157// API call, and error handling.
2158//
2159// This method is useful when you want to inject custom logic or configuration
2160// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2161//
2162//
2163//    // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
2164//    req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
2165//
2166//    err := req.Send()
2167//    if err == nil { // resp is now filled
2168//        fmt.Println(resp)
2169//    }
2170//
2171// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
2172func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
2173	op := &request.Operation{
2174		Name:       opAuthorizeSecurityGroupEgress,
2175		HTTPMethod: "POST",
2176		HTTPPath:   "/",
2177	}
2178
2179	if input == nil {
2180		input = &AuthorizeSecurityGroupEgressInput{}
2181	}
2182
2183	output = &AuthorizeSecurityGroupEgressOutput{}
2184	req = c.newRequest(op, input, output)
2185	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2186	return
2187}
2188
2189// AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
2190//
2191// [VPC only] Adds the specified egress rules to a security group for use with
2192// a VPC.
2193//
2194// An outbound rule permits instances to send traffic to the specified IPv4
2195// or IPv6 CIDR address ranges, or to the instances associated with the specified
2196// destination security groups.
2197//
2198// You specify a protocol for each rule (for example, TCP). For the TCP and
2199// UDP protocols, you must also specify the destination port or port range.
2200// For the ICMP protocol, you must also specify the ICMP type and code. You
2201// can use -1 for the type or code to mean all types or all codes.
2202//
2203// Rule changes are propagated to affected instances as quickly as possible.
2204// However, a small delay might occur.
2205//
2206// For more information about VPC security group limits, see Amazon VPC Limits
2207// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
2208//
2209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2210// with awserr.Error's Code and Message methods to get detailed information about
2211// the error.
2212//
2213// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2214// API operation AuthorizeSecurityGroupEgress for usage and error information.
2215// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
2216func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
2217	req, out := c.AuthorizeSecurityGroupEgressRequest(input)
2218	return out, req.Send()
2219}
2220
2221// AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
2222// the ability to pass a context and additional request options.
2223//
2224// See AuthorizeSecurityGroupEgress for details on how to use this API operation.
2225//
2226// The context must be non-nil and will be used for request cancellation. If
2227// the context is nil a panic will occur. In the future the SDK may create
2228// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2229// for more information on using Contexts.
2230func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
2231	req, out := c.AuthorizeSecurityGroupEgressRequest(input)
2232	req.SetContext(ctx)
2233	req.ApplyOptions(opts...)
2234	return out, req.Send()
2235}
2236
2237const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
2238
2239// AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
2240// client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
2241// value will be populated with the request's response once the request completes
2242// successfully.
2243//
2244// Use "Send" method on the returned Request to send the API call to the service.
2245// the "output" return value is not valid until after Send returns without error.
2246//
2247// See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
2248// API call, and error handling.
2249//
2250// This method is useful when you want to inject custom logic or configuration
2251// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2252//
2253//
2254//    // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
2255//    req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
2256//
2257//    err := req.Send()
2258//    if err == nil { // resp is now filled
2259//        fmt.Println(resp)
2260//    }
2261//
2262// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
2263func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
2264	op := &request.Operation{
2265		Name:       opAuthorizeSecurityGroupIngress,
2266		HTTPMethod: "POST",
2267		HTTPPath:   "/",
2268	}
2269
2270	if input == nil {
2271		input = &AuthorizeSecurityGroupIngressInput{}
2272	}
2273
2274	output = &AuthorizeSecurityGroupIngressOutput{}
2275	req = c.newRequest(op, input, output)
2276	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2277	return
2278}
2279
2280// AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
2281//
2282// Adds the specified ingress rules to a security group.
2283//
2284// An inbound rule permits instances to receive traffic from the specified IPv4
2285// or IPv6 CIDR address ranges, or from the instances associated with the specified
2286// destination security groups.
2287//
2288// You specify a protocol for each rule (for example, TCP). For TCP and UDP,
2289// you must also specify the destination port or port range. For ICMP/ICMPv6,
2290// you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean
2291// all types or all codes.
2292//
2293// Rule changes are propagated to instances within the security group as quickly
2294// as possible. However, a small delay might occur.
2295//
2296// For more information about VPC security group limits, see Amazon VPC Limits
2297// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
2298//
2299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2300// with awserr.Error's Code and Message methods to get detailed information about
2301// the error.
2302//
2303// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2304// API operation AuthorizeSecurityGroupIngress for usage and error information.
2305// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
2306func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
2307	req, out := c.AuthorizeSecurityGroupIngressRequest(input)
2308	return out, req.Send()
2309}
2310
2311// AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
2312// the ability to pass a context and additional request options.
2313//
2314// See AuthorizeSecurityGroupIngress for details on how to use this API operation.
2315//
2316// The context must be non-nil and will be used for request cancellation. If
2317// the context is nil a panic will occur. In the future the SDK may create
2318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2319// for more information on using Contexts.
2320func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
2321	req, out := c.AuthorizeSecurityGroupIngressRequest(input)
2322	req.SetContext(ctx)
2323	req.ApplyOptions(opts...)
2324	return out, req.Send()
2325}
2326
2327const opBundleInstance = "BundleInstance"
2328
2329// BundleInstanceRequest generates a "aws/request.Request" representing the
2330// client's request for the BundleInstance operation. The "output" return
2331// value will be populated with the request's response once the request completes
2332// successfully.
2333//
2334// Use "Send" method on the returned Request to send the API call to the service.
2335// the "output" return value is not valid until after Send returns without error.
2336//
2337// See BundleInstance for more information on using the BundleInstance
2338// API call, and error handling.
2339//
2340// This method is useful when you want to inject custom logic or configuration
2341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2342//
2343//
2344//    // Example sending a request using the BundleInstanceRequest method.
2345//    req, resp := client.BundleInstanceRequest(params)
2346//
2347//    err := req.Send()
2348//    if err == nil { // resp is now filled
2349//        fmt.Println(resp)
2350//    }
2351//
2352// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
2353func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
2354	op := &request.Operation{
2355		Name:       opBundleInstance,
2356		HTTPMethod: "POST",
2357		HTTPPath:   "/",
2358	}
2359
2360	if input == nil {
2361		input = &BundleInstanceInput{}
2362	}
2363
2364	output = &BundleInstanceOutput{}
2365	req = c.newRequest(op, input, output)
2366	return
2367}
2368
2369// BundleInstance API operation for Amazon Elastic Compute Cloud.
2370//
2371// Bundles an Amazon instance store-backed Windows instance.
2372//
2373// During bundling, only the root device volume (C:\) is bundled. Data on other
2374// instance store volumes is not preserved.
2375//
2376// This action is not applicable for Linux/Unix instances or Windows instances
2377// that are backed by Amazon EBS.
2378//
2379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2380// with awserr.Error's Code and Message methods to get detailed information about
2381// the error.
2382//
2383// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2384// API operation BundleInstance for usage and error information.
2385// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
2386func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
2387	req, out := c.BundleInstanceRequest(input)
2388	return out, req.Send()
2389}
2390
2391// BundleInstanceWithContext is the same as BundleInstance with the addition of
2392// the ability to pass a context and additional request options.
2393//
2394// See BundleInstance for details on how to use this API operation.
2395//
2396// The context must be non-nil and will be used for request cancellation. If
2397// the context is nil a panic will occur. In the future the SDK may create
2398// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2399// for more information on using Contexts.
2400func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
2401	req, out := c.BundleInstanceRequest(input)
2402	req.SetContext(ctx)
2403	req.ApplyOptions(opts...)
2404	return out, req.Send()
2405}
2406
2407const opCancelBundleTask = "CancelBundleTask"
2408
2409// CancelBundleTaskRequest generates a "aws/request.Request" representing the
2410// client's request for the CancelBundleTask operation. The "output" return
2411// value will be populated with the request's response once the request completes
2412// successfully.
2413//
2414// Use "Send" method on the returned Request to send the API call to the service.
2415// the "output" return value is not valid until after Send returns without error.
2416//
2417// See CancelBundleTask for more information on using the CancelBundleTask
2418// API call, and error handling.
2419//
2420// This method is useful when you want to inject custom logic or configuration
2421// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2422//
2423//
2424//    // Example sending a request using the CancelBundleTaskRequest method.
2425//    req, resp := client.CancelBundleTaskRequest(params)
2426//
2427//    err := req.Send()
2428//    if err == nil { // resp is now filled
2429//        fmt.Println(resp)
2430//    }
2431//
2432// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
2433func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
2434	op := &request.Operation{
2435		Name:       opCancelBundleTask,
2436		HTTPMethod: "POST",
2437		HTTPPath:   "/",
2438	}
2439
2440	if input == nil {
2441		input = &CancelBundleTaskInput{}
2442	}
2443
2444	output = &CancelBundleTaskOutput{}
2445	req = c.newRequest(op, input, output)
2446	return
2447}
2448
2449// CancelBundleTask API operation for Amazon Elastic Compute Cloud.
2450//
2451// Cancels a bundling operation for an instance store-backed Windows instance.
2452//
2453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2454// with awserr.Error's Code and Message methods to get detailed information about
2455// the error.
2456//
2457// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2458// API operation CancelBundleTask for usage and error information.
2459// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
2460func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
2461	req, out := c.CancelBundleTaskRequest(input)
2462	return out, req.Send()
2463}
2464
2465// CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
2466// the ability to pass a context and additional request options.
2467//
2468// See CancelBundleTask for details on how to use this API operation.
2469//
2470// The context must be non-nil and will be used for request cancellation. If
2471// the context is nil a panic will occur. In the future the SDK may create
2472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2473// for more information on using Contexts.
2474func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
2475	req, out := c.CancelBundleTaskRequest(input)
2476	req.SetContext(ctx)
2477	req.ApplyOptions(opts...)
2478	return out, req.Send()
2479}
2480
2481const opCancelCapacityReservation = "CancelCapacityReservation"
2482
2483// CancelCapacityReservationRequest generates a "aws/request.Request" representing the
2484// client's request for the CancelCapacityReservation operation. The "output" return
2485// value will be populated with the request's response once the request completes
2486// successfully.
2487//
2488// Use "Send" method on the returned Request to send the API call to the service.
2489// the "output" return value is not valid until after Send returns without error.
2490//
2491// See CancelCapacityReservation for more information on using the CancelCapacityReservation
2492// API call, and error handling.
2493//
2494// This method is useful when you want to inject custom logic or configuration
2495// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2496//
2497//
2498//    // Example sending a request using the CancelCapacityReservationRequest method.
2499//    req, resp := client.CancelCapacityReservationRequest(params)
2500//
2501//    err := req.Send()
2502//    if err == nil { // resp is now filled
2503//        fmt.Println(resp)
2504//    }
2505//
2506// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
2507func (c *EC2) CancelCapacityReservationRequest(input *CancelCapacityReservationInput) (req *request.Request, output *CancelCapacityReservationOutput) {
2508	op := &request.Operation{
2509		Name:       opCancelCapacityReservation,
2510		HTTPMethod: "POST",
2511		HTTPPath:   "/",
2512	}
2513
2514	if input == nil {
2515		input = &CancelCapacityReservationInput{}
2516	}
2517
2518	output = &CancelCapacityReservationOutput{}
2519	req = c.newRequest(op, input, output)
2520	return
2521}
2522
2523// CancelCapacityReservation API operation for Amazon Elastic Compute Cloud.
2524//
2525// Cancels the specified Capacity Reservation, releases the reserved capacity,
2526// and changes the Capacity Reservation's state to cancelled.
2527//
2528// Instances running in the reserved capacity continue running until you stop
2529// them. Stopped instances that target the Capacity Reservation can no longer
2530// launch. Modify these instances to either target a different Capacity Reservation,
2531// launch On-Demand Instance capacity, or run in any open Capacity Reservation
2532// that has matching attributes and sufficient capacity.
2533//
2534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2535// with awserr.Error's Code and Message methods to get detailed information about
2536// the error.
2537//
2538// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2539// API operation CancelCapacityReservation for usage and error information.
2540// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
2541func (c *EC2) CancelCapacityReservation(input *CancelCapacityReservationInput) (*CancelCapacityReservationOutput, error) {
2542	req, out := c.CancelCapacityReservationRequest(input)
2543	return out, req.Send()
2544}
2545
2546// CancelCapacityReservationWithContext is the same as CancelCapacityReservation with the addition of
2547// the ability to pass a context and additional request options.
2548//
2549// See CancelCapacityReservation for details on how to use this API operation.
2550//
2551// The context must be non-nil and will be used for request cancellation. If
2552// the context is nil a panic will occur. In the future the SDK may create
2553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2554// for more information on using Contexts.
2555func (c *EC2) CancelCapacityReservationWithContext(ctx aws.Context, input *CancelCapacityReservationInput, opts ...request.Option) (*CancelCapacityReservationOutput, error) {
2556	req, out := c.CancelCapacityReservationRequest(input)
2557	req.SetContext(ctx)
2558	req.ApplyOptions(opts...)
2559	return out, req.Send()
2560}
2561
2562const opCancelConversionTask = "CancelConversionTask"
2563
2564// CancelConversionTaskRequest generates a "aws/request.Request" representing the
2565// client's request for the CancelConversionTask operation. The "output" return
2566// value will be populated with the request's response once the request completes
2567// successfully.
2568//
2569// Use "Send" method on the returned Request to send the API call to the service.
2570// the "output" return value is not valid until after Send returns without error.
2571//
2572// See CancelConversionTask for more information on using the CancelConversionTask
2573// API call, and error handling.
2574//
2575// This method is useful when you want to inject custom logic or configuration
2576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2577//
2578//
2579//    // Example sending a request using the CancelConversionTaskRequest method.
2580//    req, resp := client.CancelConversionTaskRequest(params)
2581//
2582//    err := req.Send()
2583//    if err == nil { // resp is now filled
2584//        fmt.Println(resp)
2585//    }
2586//
2587// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
2588func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
2589	op := &request.Operation{
2590		Name:       opCancelConversionTask,
2591		HTTPMethod: "POST",
2592		HTTPPath:   "/",
2593	}
2594
2595	if input == nil {
2596		input = &CancelConversionTaskInput{}
2597	}
2598
2599	output = &CancelConversionTaskOutput{}
2600	req = c.newRequest(op, input, output)
2601	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2602	return
2603}
2604
2605// CancelConversionTask API operation for Amazon Elastic Compute Cloud.
2606//
2607// Cancels an active conversion task. The task can be the import of an instance
2608// or volume. The action removes all artifacts of the conversion, including
2609// a partially uploaded volume or instance. If the conversion is complete or
2610// is in the process of transferring the final disk image, the command fails
2611// and returns an exception.
2612//
2613// For more information, see Importing a Virtual Machine Using the Amazon EC2
2614// CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
2615//
2616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2617// with awserr.Error's Code and Message methods to get detailed information about
2618// the error.
2619//
2620// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2621// API operation CancelConversionTask for usage and error information.
2622// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
2623func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
2624	req, out := c.CancelConversionTaskRequest(input)
2625	return out, req.Send()
2626}
2627
2628// CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
2629// the ability to pass a context and additional request options.
2630//
2631// See CancelConversionTask for details on how to use this API operation.
2632//
2633// The context must be non-nil and will be used for request cancellation. If
2634// the context is nil a panic will occur. In the future the SDK may create
2635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2636// for more information on using Contexts.
2637func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
2638	req, out := c.CancelConversionTaskRequest(input)
2639	req.SetContext(ctx)
2640	req.ApplyOptions(opts...)
2641	return out, req.Send()
2642}
2643
2644const opCancelExportTask = "CancelExportTask"
2645
2646// CancelExportTaskRequest generates a "aws/request.Request" representing the
2647// client's request for the CancelExportTask operation. The "output" return
2648// value will be populated with the request's response once the request completes
2649// successfully.
2650//
2651// Use "Send" method on the returned Request to send the API call to the service.
2652// the "output" return value is not valid until after Send returns without error.
2653//
2654// See CancelExportTask for more information on using the CancelExportTask
2655// API call, and error handling.
2656//
2657// This method is useful when you want to inject custom logic or configuration
2658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2659//
2660//
2661//    // Example sending a request using the CancelExportTaskRequest method.
2662//    req, resp := client.CancelExportTaskRequest(params)
2663//
2664//    err := req.Send()
2665//    if err == nil { // resp is now filled
2666//        fmt.Println(resp)
2667//    }
2668//
2669// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
2670func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
2671	op := &request.Operation{
2672		Name:       opCancelExportTask,
2673		HTTPMethod: "POST",
2674		HTTPPath:   "/",
2675	}
2676
2677	if input == nil {
2678		input = &CancelExportTaskInput{}
2679	}
2680
2681	output = &CancelExportTaskOutput{}
2682	req = c.newRequest(op, input, output)
2683	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2684	return
2685}
2686
2687// CancelExportTask API operation for Amazon Elastic Compute Cloud.
2688//
2689// Cancels an active export task. The request removes all artifacts of the export,
2690// including any partially-created Amazon S3 objects. If the export task is
2691// complete or is in the process of transferring the final disk image, the command
2692// fails and returns an error.
2693//
2694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2695// with awserr.Error's Code and Message methods to get detailed information about
2696// the error.
2697//
2698// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2699// API operation CancelExportTask for usage and error information.
2700// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
2701func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
2702	req, out := c.CancelExportTaskRequest(input)
2703	return out, req.Send()
2704}
2705
2706// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
2707// the ability to pass a context and additional request options.
2708//
2709// See CancelExportTask for details on how to use this API operation.
2710//
2711// The context must be non-nil and will be used for request cancellation. If
2712// the context is nil a panic will occur. In the future the SDK may create
2713// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2714// for more information on using Contexts.
2715func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
2716	req, out := c.CancelExportTaskRequest(input)
2717	req.SetContext(ctx)
2718	req.ApplyOptions(opts...)
2719	return out, req.Send()
2720}
2721
2722const opCancelImportTask = "CancelImportTask"
2723
2724// CancelImportTaskRequest generates a "aws/request.Request" representing the
2725// client's request for the CancelImportTask operation. The "output" return
2726// value will be populated with the request's response once the request completes
2727// successfully.
2728//
2729// Use "Send" method on the returned Request to send the API call to the service.
2730// the "output" return value is not valid until after Send returns without error.
2731//
2732// See CancelImportTask for more information on using the CancelImportTask
2733// API call, and error handling.
2734//
2735// This method is useful when you want to inject custom logic or configuration
2736// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2737//
2738//
2739//    // Example sending a request using the CancelImportTaskRequest method.
2740//    req, resp := client.CancelImportTaskRequest(params)
2741//
2742//    err := req.Send()
2743//    if err == nil { // resp is now filled
2744//        fmt.Println(resp)
2745//    }
2746//
2747// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
2748func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
2749	op := &request.Operation{
2750		Name:       opCancelImportTask,
2751		HTTPMethod: "POST",
2752		HTTPPath:   "/",
2753	}
2754
2755	if input == nil {
2756		input = &CancelImportTaskInput{}
2757	}
2758
2759	output = &CancelImportTaskOutput{}
2760	req = c.newRequest(op, input, output)
2761	return
2762}
2763
2764// CancelImportTask API operation for Amazon Elastic Compute Cloud.
2765//
2766// Cancels an in-process import virtual machine or import snapshot task.
2767//
2768// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2769// with awserr.Error's Code and Message methods to get detailed information about
2770// the error.
2771//
2772// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2773// API operation CancelImportTask for usage and error information.
2774// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
2775func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
2776	req, out := c.CancelImportTaskRequest(input)
2777	return out, req.Send()
2778}
2779
2780// CancelImportTaskWithContext is the same as CancelImportTask with the addition of
2781// the ability to pass a context and additional request options.
2782//
2783// See CancelImportTask for details on how to use this API operation.
2784//
2785// The context must be non-nil and will be used for request cancellation. If
2786// the context is nil a panic will occur. In the future the SDK may create
2787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2788// for more information on using Contexts.
2789func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
2790	req, out := c.CancelImportTaskRequest(input)
2791	req.SetContext(ctx)
2792	req.ApplyOptions(opts...)
2793	return out, req.Send()
2794}
2795
2796const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
2797
2798// CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
2799// client's request for the CancelReservedInstancesListing operation. The "output" return
2800// value will be populated with the request's response once the request completes
2801// successfully.
2802//
2803// Use "Send" method on the returned Request to send the API call to the service.
2804// the "output" return value is not valid until after Send returns without error.
2805//
2806// See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
2807// API call, and error handling.
2808//
2809// This method is useful when you want to inject custom logic or configuration
2810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2811//
2812//
2813//    // Example sending a request using the CancelReservedInstancesListingRequest method.
2814//    req, resp := client.CancelReservedInstancesListingRequest(params)
2815//
2816//    err := req.Send()
2817//    if err == nil { // resp is now filled
2818//        fmt.Println(resp)
2819//    }
2820//
2821// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
2822func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
2823	op := &request.Operation{
2824		Name:       opCancelReservedInstancesListing,
2825		HTTPMethod: "POST",
2826		HTTPPath:   "/",
2827	}
2828
2829	if input == nil {
2830		input = &CancelReservedInstancesListingInput{}
2831	}
2832
2833	output = &CancelReservedInstancesListingOutput{}
2834	req = c.newRequest(op, input, output)
2835	return
2836}
2837
2838// CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
2839//
2840// Cancels the specified Reserved Instance listing in the Reserved Instance
2841// Marketplace.
2842//
2843// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
2844// in the Amazon Elastic Compute Cloud User Guide.
2845//
2846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2847// with awserr.Error's Code and Message methods to get detailed information about
2848// the error.
2849//
2850// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2851// API operation CancelReservedInstancesListing for usage and error information.
2852// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
2853func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
2854	req, out := c.CancelReservedInstancesListingRequest(input)
2855	return out, req.Send()
2856}
2857
2858// CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
2859// the ability to pass a context and additional request options.
2860//
2861// See CancelReservedInstancesListing for details on how to use this API operation.
2862//
2863// The context must be non-nil and will be used for request cancellation. If
2864// the context is nil a panic will occur. In the future the SDK may create
2865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2866// for more information on using Contexts.
2867func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
2868	req, out := c.CancelReservedInstancesListingRequest(input)
2869	req.SetContext(ctx)
2870	req.ApplyOptions(opts...)
2871	return out, req.Send()
2872}
2873
2874const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
2875
2876// CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
2877// client's request for the CancelSpotFleetRequests operation. The "output" return
2878// value will be populated with the request's response once the request completes
2879// successfully.
2880//
2881// Use "Send" method on the returned Request to send the API call to the service.
2882// the "output" return value is not valid until after Send returns without error.
2883//
2884// See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
2885// API call, and error handling.
2886//
2887// This method is useful when you want to inject custom logic or configuration
2888// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2889//
2890//
2891//    // Example sending a request using the CancelSpotFleetRequestsRequest method.
2892//    req, resp := client.CancelSpotFleetRequestsRequest(params)
2893//
2894//    err := req.Send()
2895//    if err == nil { // resp is now filled
2896//        fmt.Println(resp)
2897//    }
2898//
2899// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
2900func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
2901	op := &request.Operation{
2902		Name:       opCancelSpotFleetRequests,
2903		HTTPMethod: "POST",
2904		HTTPPath:   "/",
2905	}
2906
2907	if input == nil {
2908		input = &CancelSpotFleetRequestsInput{}
2909	}
2910
2911	output = &CancelSpotFleetRequestsOutput{}
2912	req = c.newRequest(op, input, output)
2913	return
2914}
2915
2916// CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
2917//
2918// Cancels the specified Spot Fleet requests.
2919//
2920// After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot
2921// Instances. You must specify whether the Spot Fleet should also terminate
2922// its Spot Instances. If you terminate the instances, the Spot Fleet request
2923// enters the cancelled_terminating state. Otherwise, the Spot Fleet request
2924// enters the cancelled_running state and the instances continue to run until
2925// they are interrupted or you terminate them manually.
2926//
2927// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2928// with awserr.Error's Code and Message methods to get detailed information about
2929// the error.
2930//
2931// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2932// API operation CancelSpotFleetRequests for usage and error information.
2933// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
2934func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
2935	req, out := c.CancelSpotFleetRequestsRequest(input)
2936	return out, req.Send()
2937}
2938
2939// CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
2940// the ability to pass a context and additional request options.
2941//
2942// See CancelSpotFleetRequests for details on how to use this API operation.
2943//
2944// The context must be non-nil and will be used for request cancellation. If
2945// the context is nil a panic will occur. In the future the SDK may create
2946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2947// for more information on using Contexts.
2948func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
2949	req, out := c.CancelSpotFleetRequestsRequest(input)
2950	req.SetContext(ctx)
2951	req.ApplyOptions(opts...)
2952	return out, req.Send()
2953}
2954
2955const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
2956
2957// CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
2958// client's request for the CancelSpotInstanceRequests operation. The "output" return
2959// value will be populated with the request's response once the request completes
2960// successfully.
2961//
2962// Use "Send" method on the returned Request to send the API call to the service.
2963// the "output" return value is not valid until after Send returns without error.
2964//
2965// See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
2966// API call, and error handling.
2967//
2968// This method is useful when you want to inject custom logic or configuration
2969// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2970//
2971//
2972//    // Example sending a request using the CancelSpotInstanceRequestsRequest method.
2973//    req, resp := client.CancelSpotInstanceRequestsRequest(params)
2974//
2975//    err := req.Send()
2976//    if err == nil { // resp is now filled
2977//        fmt.Println(resp)
2978//    }
2979//
2980// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
2981func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
2982	op := &request.Operation{
2983		Name:       opCancelSpotInstanceRequests,
2984		HTTPMethod: "POST",
2985		HTTPPath:   "/",
2986	}
2987
2988	if input == nil {
2989		input = &CancelSpotInstanceRequestsInput{}
2990	}
2991
2992	output = &CancelSpotInstanceRequestsOutput{}
2993	req = c.newRequest(op, input, output)
2994	return
2995}
2996
2997// CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
2998//
2999// Cancels one or more Spot Instance requests.
3000//
3001// Canceling a Spot Instance request does not terminate running Spot Instances
3002// associated with the request.
3003//
3004// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3005// with awserr.Error's Code and Message methods to get detailed information about
3006// the error.
3007//
3008// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3009// API operation CancelSpotInstanceRequests for usage and error information.
3010// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
3011func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
3012	req, out := c.CancelSpotInstanceRequestsRequest(input)
3013	return out, req.Send()
3014}
3015
3016// CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
3017// the ability to pass a context and additional request options.
3018//
3019// See CancelSpotInstanceRequests for details on how to use this API operation.
3020//
3021// The context must be non-nil and will be used for request cancellation. If
3022// the context is nil a panic will occur. In the future the SDK may create
3023// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3024// for more information on using Contexts.
3025func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
3026	req, out := c.CancelSpotInstanceRequestsRequest(input)
3027	req.SetContext(ctx)
3028	req.ApplyOptions(opts...)
3029	return out, req.Send()
3030}
3031
3032const opConfirmProductInstance = "ConfirmProductInstance"
3033
3034// ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
3035// client's request for the ConfirmProductInstance operation. The "output" return
3036// value will be populated with the request's response once the request completes
3037// successfully.
3038//
3039// Use "Send" method on the returned Request to send the API call to the service.
3040// the "output" return value is not valid until after Send returns without error.
3041//
3042// See ConfirmProductInstance for more information on using the ConfirmProductInstance
3043// API call, and error handling.
3044//
3045// This method is useful when you want to inject custom logic or configuration
3046// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3047//
3048//
3049//    // Example sending a request using the ConfirmProductInstanceRequest method.
3050//    req, resp := client.ConfirmProductInstanceRequest(params)
3051//
3052//    err := req.Send()
3053//    if err == nil { // resp is now filled
3054//        fmt.Println(resp)
3055//    }
3056//
3057// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
3058func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
3059	op := &request.Operation{
3060		Name:       opConfirmProductInstance,
3061		HTTPMethod: "POST",
3062		HTTPPath:   "/",
3063	}
3064
3065	if input == nil {
3066		input = &ConfirmProductInstanceInput{}
3067	}
3068
3069	output = &ConfirmProductInstanceOutput{}
3070	req = c.newRequest(op, input, output)
3071	return
3072}
3073
3074// ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
3075//
3076// Determines whether a product code is associated with an instance. This action
3077// can only be used by the owner of the product code. It is useful when a product
3078// code owner must verify whether another user's instance is eligible for support.
3079//
3080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3081// with awserr.Error's Code and Message methods to get detailed information about
3082// the error.
3083//
3084// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3085// API operation ConfirmProductInstance for usage and error information.
3086// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
3087func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
3088	req, out := c.ConfirmProductInstanceRequest(input)
3089	return out, req.Send()
3090}
3091
3092// ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
3093// the ability to pass a context and additional request options.
3094//
3095// See ConfirmProductInstance for details on how to use this API operation.
3096//
3097// The context must be non-nil and will be used for request cancellation. If
3098// the context is nil a panic will occur. In the future the SDK may create
3099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3100// for more information on using Contexts.
3101func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
3102	req, out := c.ConfirmProductInstanceRequest(input)
3103	req.SetContext(ctx)
3104	req.ApplyOptions(opts...)
3105	return out, req.Send()
3106}
3107
3108const opCopyFpgaImage = "CopyFpgaImage"
3109
3110// CopyFpgaImageRequest generates a "aws/request.Request" representing the
3111// client's request for the CopyFpgaImage operation. The "output" return
3112// value will be populated with the request's response once the request completes
3113// successfully.
3114//
3115// Use "Send" method on the returned Request to send the API call to the service.
3116// the "output" return value is not valid until after Send returns without error.
3117//
3118// See CopyFpgaImage for more information on using the CopyFpgaImage
3119// API call, and error handling.
3120//
3121// This method is useful when you want to inject custom logic or configuration
3122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3123//
3124//
3125//    // Example sending a request using the CopyFpgaImageRequest method.
3126//    req, resp := client.CopyFpgaImageRequest(params)
3127//
3128//    err := req.Send()
3129//    if err == nil { // resp is now filled
3130//        fmt.Println(resp)
3131//    }
3132//
3133// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
3134func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) {
3135	op := &request.Operation{
3136		Name:       opCopyFpgaImage,
3137		HTTPMethod: "POST",
3138		HTTPPath:   "/",
3139	}
3140
3141	if input == nil {
3142		input = &CopyFpgaImageInput{}
3143	}
3144
3145	output = &CopyFpgaImageOutput{}
3146	req = c.newRequest(op, input, output)
3147	return
3148}
3149
3150// CopyFpgaImage API operation for Amazon Elastic Compute Cloud.
3151//
3152// Copies the specified Amazon FPGA Image (AFI) to the current Region.
3153//
3154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3155// with awserr.Error's Code and Message methods to get detailed information about
3156// the error.
3157//
3158// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3159// API operation CopyFpgaImage for usage and error information.
3160// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
3161func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) {
3162	req, out := c.CopyFpgaImageRequest(input)
3163	return out, req.Send()
3164}
3165
3166// CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of
3167// the ability to pass a context and additional request options.
3168//
3169// See CopyFpgaImage for details on how to use this API operation.
3170//
3171// The context must be non-nil and will be used for request cancellation. If
3172// the context is nil a panic will occur. In the future the SDK may create
3173// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3174// for more information on using Contexts.
3175func (c *EC2) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) {
3176	req, out := c.CopyFpgaImageRequest(input)
3177	req.SetContext(ctx)
3178	req.ApplyOptions(opts...)
3179	return out, req.Send()
3180}
3181
3182const opCopyImage = "CopyImage"
3183
3184// CopyImageRequest generates a "aws/request.Request" representing the
3185// client's request for the CopyImage operation. The "output" return
3186// value will be populated with the request's response once the request completes
3187// successfully.
3188//
3189// Use "Send" method on the returned Request to send the API call to the service.
3190// the "output" return value is not valid until after Send returns without error.
3191//
3192// See CopyImage for more information on using the CopyImage
3193// API call, and error handling.
3194//
3195// This method is useful when you want to inject custom logic or configuration
3196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3197//
3198//
3199//    // Example sending a request using the CopyImageRequest method.
3200//    req, resp := client.CopyImageRequest(params)
3201//
3202//    err := req.Send()
3203//    if err == nil { // resp is now filled
3204//        fmt.Println(resp)
3205//    }
3206//
3207// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
3208func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
3209	op := &request.Operation{
3210		Name:       opCopyImage,
3211		HTTPMethod: "POST",
3212		HTTPPath:   "/",
3213	}
3214
3215	if input == nil {
3216		input = &CopyImageInput{}
3217	}
3218
3219	output = &CopyImageOutput{}
3220	req = c.newRequest(op, input, output)
3221	return
3222}
3223
3224// CopyImage API operation for Amazon Elastic Compute Cloud.
3225//
3226// Initiates the copy of an AMI from the specified source Region to the current
3227// Region. You specify the destination Region by using its endpoint when making
3228// the request.
3229//
3230// Copies of encrypted backing snapshots for the AMI are encrypted. Copies of
3231// unencrypted backing snapshots remain unencrypted, unless you set Encrypted
3232// during the copy operation. You cannot create an unencrypted copy of an encrypted
3233// backing snapshot.
3234//
3235// For more information about the prerequisites and limits when copying an AMI,
3236// see Copying an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
3237// in the Amazon Elastic Compute Cloud User Guide.
3238//
3239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3240// with awserr.Error's Code and Message methods to get detailed information about
3241// the error.
3242//
3243// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3244// API operation CopyImage for usage and error information.
3245// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
3246func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
3247	req, out := c.CopyImageRequest(input)
3248	return out, req.Send()
3249}
3250
3251// CopyImageWithContext is the same as CopyImage with the addition of
3252// the ability to pass a context and additional request options.
3253//
3254// See CopyImage for details on how to use this API operation.
3255//
3256// The context must be non-nil and will be used for request cancellation. If
3257// the context is nil a panic will occur. In the future the SDK may create
3258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3259// for more information on using Contexts.
3260func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
3261	req, out := c.CopyImageRequest(input)
3262	req.SetContext(ctx)
3263	req.ApplyOptions(opts...)
3264	return out, req.Send()
3265}
3266
3267const opCopySnapshot = "CopySnapshot"
3268
3269// CopySnapshotRequest generates a "aws/request.Request" representing the
3270// client's request for the CopySnapshot operation. The "output" return
3271// value will be populated with the request's response once the request completes
3272// successfully.
3273//
3274// Use "Send" method on the returned Request to send the API call to the service.
3275// the "output" return value is not valid until after Send returns without error.
3276//
3277// See CopySnapshot for more information on using the CopySnapshot
3278// API call, and error handling.
3279//
3280// This method is useful when you want to inject custom logic or configuration
3281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3282//
3283//
3284//    // Example sending a request using the CopySnapshotRequest method.
3285//    req, resp := client.CopySnapshotRequest(params)
3286//
3287//    err := req.Send()
3288//    if err == nil { // resp is now filled
3289//        fmt.Println(resp)
3290//    }
3291//
3292// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
3293func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
3294	op := &request.Operation{
3295		Name:       opCopySnapshot,
3296		HTTPMethod: "POST",
3297		HTTPPath:   "/",
3298	}
3299
3300	if input == nil {
3301		input = &CopySnapshotInput{}
3302	}
3303
3304	output = &CopySnapshotOutput{}
3305	req = c.newRequest(op, input, output)
3306	return
3307}
3308
3309// CopySnapshot API operation for Amazon Elastic Compute Cloud.
3310//
3311// Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
3312// S3. You can copy the snapshot within the same Region or from one Region to
3313// another. You can use the snapshot to create EBS volumes or Amazon Machine
3314// Images (AMIs).
3315//
3316// Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
3317// snapshots remain unencrypted, unless you enable encryption for the snapshot
3318// copy operation. By default, encrypted snapshot copies use the default AWS
3319// Key Management Service (AWS KMS) customer master key (CMK); however, you
3320// can specify a different CMK.
3321//
3322// To copy an encrypted snapshot that has been shared from another account,
3323// you must have permissions for the CMK used to encrypt the snapshot.
3324//
3325// Snapshots created by copying another snapshot have an arbitrary volume ID
3326// that should not be used for any purpose.
3327//
3328// For more information, see Copying an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
3329// in the Amazon Elastic Compute Cloud User Guide.
3330//
3331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3332// with awserr.Error's Code and Message methods to get detailed information about
3333// the error.
3334//
3335// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3336// API operation CopySnapshot for usage and error information.
3337// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
3338func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
3339	req, out := c.CopySnapshotRequest(input)
3340	return out, req.Send()
3341}
3342
3343// CopySnapshotWithContext is the same as CopySnapshot with the addition of
3344// the ability to pass a context and additional request options.
3345//
3346// See CopySnapshot for details on how to use this API operation.
3347//
3348// The context must be non-nil and will be used for request cancellation. If
3349// the context is nil a panic will occur. In the future the SDK may create
3350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3351// for more information on using Contexts.
3352func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
3353	req, out := c.CopySnapshotRequest(input)
3354	req.SetContext(ctx)
3355	req.ApplyOptions(opts...)
3356	return out, req.Send()
3357}
3358
3359const opCreateCapacityReservation = "CreateCapacityReservation"
3360
3361// CreateCapacityReservationRequest generates a "aws/request.Request" representing the
3362// client's request for the CreateCapacityReservation operation. The "output" return
3363// value will be populated with the request's response once the request completes
3364// successfully.
3365//
3366// Use "Send" method on the returned Request to send the API call to the service.
3367// the "output" return value is not valid until after Send returns without error.
3368//
3369// See CreateCapacityReservation for more information on using the CreateCapacityReservation
3370// API call, and error handling.
3371//
3372// This method is useful when you want to inject custom logic or configuration
3373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3374//
3375//
3376//    // Example sending a request using the CreateCapacityReservationRequest method.
3377//    req, resp := client.CreateCapacityReservationRequest(params)
3378//
3379//    err := req.Send()
3380//    if err == nil { // resp is now filled
3381//        fmt.Println(resp)
3382//    }
3383//
3384// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
3385func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationInput) (req *request.Request, output *CreateCapacityReservationOutput) {
3386	op := &request.Operation{
3387		Name:       opCreateCapacityReservation,
3388		HTTPMethod: "POST",
3389		HTTPPath:   "/",
3390	}
3391
3392	if input == nil {
3393		input = &CreateCapacityReservationInput{}
3394	}
3395
3396	output = &CreateCapacityReservationOutput{}
3397	req = c.newRequest(op, input, output)
3398	return
3399}
3400
3401// CreateCapacityReservation API operation for Amazon Elastic Compute Cloud.
3402//
3403// Creates a new Capacity Reservation with the specified attributes.
3404//
3405// Capacity Reservations enable you to reserve capacity for your Amazon EC2
3406// instances in a specific Availability Zone for any duration. This gives you
3407// the flexibility to selectively add capacity reservations and still get the
3408// Regional RI discounts for that usage. By creating Capacity Reservations,
3409// you ensure that you always have access to Amazon EC2 capacity when you need
3410// it, for as long as you need it. For more information, see Capacity Reservations
3411// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
3412// in the Amazon Elastic Compute Cloud User Guide.
3413//
3414// Your request to create a Capacity Reservation could fail if Amazon EC2 does
3415// not have sufficient capacity to fulfill the request. If your request fails
3416// due to Amazon EC2 capacity constraints, either try again at a later time,
3417// try in a different Availability Zone, or request a smaller capacity reservation.
3418// If your application is flexible across instance types and sizes, try to create
3419// a Capacity Reservation with different instance attributes.
3420//
3421// Your request could also fail if the requested quantity exceeds your On-Demand
3422// Instance limit for the selected instance type. If your request fails due
3423// to limit constraints, increase your On-Demand Instance limit for the required
3424// instance type and try again. For more information about increasing your instance
3425// limits, see Amazon EC2 Service Limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html)
3426// in the Amazon Elastic Compute Cloud User Guide.
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 CreateCapacityReservation for usage and error information.
3434// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
3435func (c *EC2) CreateCapacityReservation(input *CreateCapacityReservationInput) (*CreateCapacityReservationOutput, error) {
3436	req, out := c.CreateCapacityReservationRequest(input)
3437	return out, req.Send()
3438}
3439
3440// CreateCapacityReservationWithContext is the same as CreateCapacityReservation with the addition of
3441// the ability to pass a context and additional request options.
3442//
3443// See CreateCapacityReservation 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) CreateCapacityReservationWithContext(ctx aws.Context, input *CreateCapacityReservationInput, opts ...request.Option) (*CreateCapacityReservationOutput, error) {
3450	req, out := c.CreateCapacityReservationRequest(input)
3451	req.SetContext(ctx)
3452	req.ApplyOptions(opts...)
3453	return out, req.Send()
3454}
3455
3456const opCreateClientVpnEndpoint = "CreateClientVpnEndpoint"
3457
3458// CreateClientVpnEndpointRequest generates a "aws/request.Request" representing the
3459// client's request for the CreateClientVpnEndpoint 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 CreateClientVpnEndpoint for more information on using the CreateClientVpnEndpoint
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 CreateClientVpnEndpointRequest method.
3474//    req, resp := client.CreateClientVpnEndpointRequest(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/CreateClientVpnEndpoint
3482func (c *EC2) CreateClientVpnEndpointRequest(input *CreateClientVpnEndpointInput) (req *request.Request, output *CreateClientVpnEndpointOutput) {
3483	op := &request.Operation{
3484		Name:       opCreateClientVpnEndpoint,
3485		HTTPMethod: "POST",
3486		HTTPPath:   "/",
3487	}
3488
3489	if input == nil {
3490		input = &CreateClientVpnEndpointInput{}
3491	}
3492
3493	output = &CreateClientVpnEndpointOutput{}
3494	req = c.newRequest(op, input, output)
3495	return
3496}
3497
3498// CreateClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
3499//
3500// Creates a Client VPN endpoint. A Client VPN endpoint is the resource you
3501// create and configure to enable and manage client VPN sessions. It is the
3502// destination endpoint at which all client VPN sessions are terminated.
3503//
3504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3505// with awserr.Error's Code and Message methods to get detailed information about
3506// the error.
3507//
3508// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3509// API operation CreateClientVpnEndpoint for usage and error information.
3510// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
3511func (c *EC2) CreateClientVpnEndpoint(input *CreateClientVpnEndpointInput) (*CreateClientVpnEndpointOutput, error) {
3512	req, out := c.CreateClientVpnEndpointRequest(input)
3513	return out, req.Send()
3514}
3515
3516// CreateClientVpnEndpointWithContext is the same as CreateClientVpnEndpoint with the addition of
3517// the ability to pass a context and additional request options.
3518//
3519// See CreateClientVpnEndpoint for details on how to use this API operation.
3520//
3521// The context must be non-nil and will be used for request cancellation. If
3522// the context is nil a panic will occur. In the future the SDK may create
3523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3524// for more information on using Contexts.
3525func (c *EC2) CreateClientVpnEndpointWithContext(ctx aws.Context, input *CreateClientVpnEndpointInput, opts ...request.Option) (*CreateClientVpnEndpointOutput, error) {
3526	req, out := c.CreateClientVpnEndpointRequest(input)
3527	req.SetContext(ctx)
3528	req.ApplyOptions(opts...)
3529	return out, req.Send()
3530}
3531
3532const opCreateClientVpnRoute = "CreateClientVpnRoute"
3533
3534// CreateClientVpnRouteRequest generates a "aws/request.Request" representing the
3535// client's request for the CreateClientVpnRoute operation. The "output" return
3536// value will be populated with the request's response once the request completes
3537// successfully.
3538//
3539// Use "Send" method on the returned Request to send the API call to the service.
3540// the "output" return value is not valid until after Send returns without error.
3541//
3542// See CreateClientVpnRoute for more information on using the CreateClientVpnRoute
3543// API call, and error handling.
3544//
3545// This method is useful when you want to inject custom logic or configuration
3546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3547//
3548//
3549//    // Example sending a request using the CreateClientVpnRouteRequest method.
3550//    req, resp := client.CreateClientVpnRouteRequest(params)
3551//
3552//    err := req.Send()
3553//    if err == nil { // resp is now filled
3554//        fmt.Println(resp)
3555//    }
3556//
3557// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
3558func (c *EC2) CreateClientVpnRouteRequest(input *CreateClientVpnRouteInput) (req *request.Request, output *CreateClientVpnRouteOutput) {
3559	op := &request.Operation{
3560		Name:       opCreateClientVpnRoute,
3561		HTTPMethod: "POST",
3562		HTTPPath:   "/",
3563	}
3564
3565	if input == nil {
3566		input = &CreateClientVpnRouteInput{}
3567	}
3568
3569	output = &CreateClientVpnRouteOutput{}
3570	req = c.newRequest(op, input, output)
3571	return
3572}
3573
3574// CreateClientVpnRoute API operation for Amazon Elastic Compute Cloud.
3575//
3576// Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint
3577// has a route table that describes the available destination network routes.
3578// Each route in the route table specifies the path for traffic to specific
3579// resources or networks.
3580//
3581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3582// with awserr.Error's Code and Message methods to get detailed information about
3583// the error.
3584//
3585// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3586// API operation CreateClientVpnRoute for usage and error information.
3587// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
3588func (c *EC2) CreateClientVpnRoute(input *CreateClientVpnRouteInput) (*CreateClientVpnRouteOutput, error) {
3589	req, out := c.CreateClientVpnRouteRequest(input)
3590	return out, req.Send()
3591}
3592
3593// CreateClientVpnRouteWithContext is the same as CreateClientVpnRoute with the addition of
3594// the ability to pass a context and additional request options.
3595//
3596// See CreateClientVpnRoute for details on how to use this API operation.
3597//
3598// The context must be non-nil and will be used for request cancellation. If
3599// the context is nil a panic will occur. In the future the SDK may create
3600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3601// for more information on using Contexts.
3602func (c *EC2) CreateClientVpnRouteWithContext(ctx aws.Context, input *CreateClientVpnRouteInput, opts ...request.Option) (*CreateClientVpnRouteOutput, error) {
3603	req, out := c.CreateClientVpnRouteRequest(input)
3604	req.SetContext(ctx)
3605	req.ApplyOptions(opts...)
3606	return out, req.Send()
3607}
3608
3609const opCreateCustomerGateway = "CreateCustomerGateway"
3610
3611// CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
3612// client's request for the CreateCustomerGateway operation. The "output" return
3613// value will be populated with the request's response once the request completes
3614// successfully.
3615//
3616// Use "Send" method on the returned Request to send the API call to the service.
3617// the "output" return value is not valid until after Send returns without error.
3618//
3619// See CreateCustomerGateway for more information on using the CreateCustomerGateway
3620// API call, and error handling.
3621//
3622// This method is useful when you want to inject custom logic or configuration
3623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3624//
3625//
3626//    // Example sending a request using the CreateCustomerGatewayRequest method.
3627//    req, resp := client.CreateCustomerGatewayRequest(params)
3628//
3629//    err := req.Send()
3630//    if err == nil { // resp is now filled
3631//        fmt.Println(resp)
3632//    }
3633//
3634// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
3635func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
3636	op := &request.Operation{
3637		Name:       opCreateCustomerGateway,
3638		HTTPMethod: "POST",
3639		HTTPPath:   "/",
3640	}
3641
3642	if input == nil {
3643		input = &CreateCustomerGatewayInput{}
3644	}
3645
3646	output = &CreateCustomerGatewayOutput{}
3647	req = c.newRequest(op, input, output)
3648	return
3649}
3650
3651// CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
3652//
3653// Provides information to AWS about your VPN customer gateway device. The customer
3654// gateway is the appliance at your end of the VPN connection. (The device on
3655// the AWS side of the VPN connection is the virtual private gateway.) You must
3656// provide the Internet-routable IP address of the customer gateway's external
3657// interface. The IP address must be static and can be behind a device performing
3658// network address translation (NAT).
3659//
3660// For devices that use Border Gateway Protocol (BGP), you can also provide
3661// the device's BGP Autonomous System Number (ASN). You can use an existing
3662// ASN assigned to your network. If you don't have an ASN already, you can use
3663// a private ASN (in the 64512 - 65534 range).
3664//
3665// Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
3666// the exception of 7224, which is reserved in the us-east-1 Region, and 9059,
3667// which is reserved in the eu-west-1 Region.
3668//
3669// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
3670// in the AWS Site-to-Site VPN User Guide.
3671//
3672// To create more than one customer gateway with the same VPN type, IP address,
3673// and BGP ASN, specify a unique device name for each customer gateway. Identical
3674// requests return information about the existing customer gateway and do not
3675// create new customer gateways.
3676//
3677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3678// with awserr.Error's Code and Message methods to get detailed information about
3679// the error.
3680//
3681// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3682// API operation CreateCustomerGateway for usage and error information.
3683// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
3684func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
3685	req, out := c.CreateCustomerGatewayRequest(input)
3686	return out, req.Send()
3687}
3688
3689// CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
3690// the ability to pass a context and additional request options.
3691//
3692// See CreateCustomerGateway for details on how to use this API operation.
3693//
3694// The context must be non-nil and will be used for request cancellation. If
3695// the context is nil a panic will occur. In the future the SDK may create
3696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3697// for more information on using Contexts.
3698func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
3699	req, out := c.CreateCustomerGatewayRequest(input)
3700	req.SetContext(ctx)
3701	req.ApplyOptions(opts...)
3702	return out, req.Send()
3703}
3704
3705const opCreateDefaultSubnet = "CreateDefaultSubnet"
3706
3707// CreateDefaultSubnetRequest generates a "aws/request.Request" representing the
3708// client's request for the CreateDefaultSubnet operation. The "output" return
3709// value will be populated with the request's response once the request completes
3710// successfully.
3711//
3712// Use "Send" method on the returned Request to send the API call to the service.
3713// the "output" return value is not valid until after Send returns without error.
3714//
3715// See CreateDefaultSubnet for more information on using the CreateDefaultSubnet
3716// API call, and error handling.
3717//
3718// This method is useful when you want to inject custom logic or configuration
3719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3720//
3721//
3722//    // Example sending a request using the CreateDefaultSubnetRequest method.
3723//    req, resp := client.CreateDefaultSubnetRequest(params)
3724//
3725//    err := req.Send()
3726//    if err == nil { // resp is now filled
3727//        fmt.Println(resp)
3728//    }
3729//
3730// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
3731func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req *request.Request, output *CreateDefaultSubnetOutput) {
3732	op := &request.Operation{
3733		Name:       opCreateDefaultSubnet,
3734		HTTPMethod: "POST",
3735		HTTPPath:   "/",
3736	}
3737
3738	if input == nil {
3739		input = &CreateDefaultSubnetInput{}
3740	}
3741
3742	output = &CreateDefaultSubnetOutput{}
3743	req = c.newRequest(op, input, output)
3744	return
3745}
3746
3747// CreateDefaultSubnet API operation for Amazon Elastic Compute Cloud.
3748//
3749// Creates a default subnet with a size /20 IPv4 CIDR block in the specified
3750// Availability Zone in your default VPC. You can have only one default subnet
3751// per Availability Zone. For more information, see Creating a Default Subnet
3752// (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet)
3753// in the Amazon Virtual Private Cloud User Guide.
3754//
3755// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3756// with awserr.Error's Code and Message methods to get detailed information about
3757// the error.
3758//
3759// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3760// API operation CreateDefaultSubnet for usage and error information.
3761// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
3762func (c *EC2) CreateDefaultSubnet(input *CreateDefaultSubnetInput) (*CreateDefaultSubnetOutput, error) {
3763	req, out := c.CreateDefaultSubnetRequest(input)
3764	return out, req.Send()
3765}
3766
3767// CreateDefaultSubnetWithContext is the same as CreateDefaultSubnet with the addition of
3768// the ability to pass a context and additional request options.
3769//
3770// See CreateDefaultSubnet for details on how to use this API operation.
3771//
3772// The context must be non-nil and will be used for request cancellation. If
3773// the context is nil a panic will occur. In the future the SDK may create
3774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3775// for more information on using Contexts.
3776func (c *EC2) CreateDefaultSubnetWithContext(ctx aws.Context, input *CreateDefaultSubnetInput, opts ...request.Option) (*CreateDefaultSubnetOutput, error) {
3777	req, out := c.CreateDefaultSubnetRequest(input)
3778	req.SetContext(ctx)
3779	req.ApplyOptions(opts...)
3780	return out, req.Send()
3781}
3782
3783const opCreateDefaultVpc = "CreateDefaultVpc"
3784
3785// CreateDefaultVpcRequest generates a "aws/request.Request" representing the
3786// client's request for the CreateDefaultVpc operation. The "output" return
3787// value will be populated with the request's response once the request completes
3788// successfully.
3789//
3790// Use "Send" method on the returned Request to send the API call to the service.
3791// the "output" return value is not valid until after Send returns without error.
3792//
3793// See CreateDefaultVpc for more information on using the CreateDefaultVpc
3794// API call, and error handling.
3795//
3796// This method is useful when you want to inject custom logic or configuration
3797// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3798//
3799//
3800//    // Example sending a request using the CreateDefaultVpcRequest method.
3801//    req, resp := client.CreateDefaultVpcRequest(params)
3802//
3803//    err := req.Send()
3804//    if err == nil { // resp is now filled
3805//        fmt.Println(resp)
3806//    }
3807//
3808// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
3809func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
3810	op := &request.Operation{
3811		Name:       opCreateDefaultVpc,
3812		HTTPMethod: "POST",
3813		HTTPPath:   "/",
3814	}
3815
3816	if input == nil {
3817		input = &CreateDefaultVpcInput{}
3818	}
3819
3820	output = &CreateDefaultVpcOutput{}
3821	req = c.newRequest(op, input, output)
3822	return
3823}
3824
3825// CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
3826//
3827// Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
3828// in each Availability Zone. For more information about the components of a
3829// default VPC, see Default VPC and Default Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html)
3830// in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
3831// of the default VPC yourself.
3832//
3833// If you deleted your previous default VPC, you can create a default VPC. You
3834// cannot have more than one default VPC per Region.
3835//
3836// If your account supports EC2-Classic, you cannot use this action to create
3837// a default VPC in a Region that supports EC2-Classic. If you want a default
3838// VPC in a Region that supports EC2-Classic, see "I really want a default VPC
3839// for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
3840//
3841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3842// with awserr.Error's Code and Message methods to get detailed information about
3843// the error.
3844//
3845// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3846// API operation CreateDefaultVpc for usage and error information.
3847// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
3848func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
3849	req, out := c.CreateDefaultVpcRequest(input)
3850	return out, req.Send()
3851}
3852
3853// CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
3854// the ability to pass a context and additional request options.
3855//
3856// See CreateDefaultVpc for details on how to use this API operation.
3857//
3858// The context must be non-nil and will be used for request cancellation. If
3859// the context is nil a panic will occur. In the future the SDK may create
3860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3861// for more information on using Contexts.
3862func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
3863	req, out := c.CreateDefaultVpcRequest(input)
3864	req.SetContext(ctx)
3865	req.ApplyOptions(opts...)
3866	return out, req.Send()
3867}
3868
3869const opCreateDhcpOptions = "CreateDhcpOptions"
3870
3871// CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
3872// client's request for the CreateDhcpOptions operation. The "output" return
3873// value will be populated with the request's response once the request completes
3874// successfully.
3875//
3876// Use "Send" method on the returned Request to send the API call to the service.
3877// the "output" return value is not valid until after Send returns without error.
3878//
3879// See CreateDhcpOptions for more information on using the CreateDhcpOptions
3880// API call, and error handling.
3881//
3882// This method is useful when you want to inject custom logic or configuration
3883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3884//
3885//
3886//    // Example sending a request using the CreateDhcpOptionsRequest method.
3887//    req, resp := client.CreateDhcpOptionsRequest(params)
3888//
3889//    err := req.Send()
3890//    if err == nil { // resp is now filled
3891//        fmt.Println(resp)
3892//    }
3893//
3894// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
3895func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
3896	op := &request.Operation{
3897		Name:       opCreateDhcpOptions,
3898		HTTPMethod: "POST",
3899		HTTPPath:   "/",
3900	}
3901
3902	if input == nil {
3903		input = &CreateDhcpOptionsInput{}
3904	}
3905
3906	output = &CreateDhcpOptionsOutput{}
3907	req = c.newRequest(op, input, output)
3908	return
3909}
3910
3911// CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
3912//
3913// Creates a set of DHCP options for your VPC. After creating the set, you must
3914// associate it with the VPC, causing all existing and new instances that you
3915// launch in the VPC to use this set of DHCP options. The following are the
3916// individual DHCP options you can specify. For more information about the options,
3917// see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
3918//
3919//    * domain-name-servers - The IP addresses of up to four domain name servers,
3920//    or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
3921//    If specifying more than one domain name server, specify the IP addresses
3922//    in a single parameter, separated by commas. To have your instance receive
3923//    a custom DNS hostname as specified in domain-name, you must set domain-name-servers
3924//    to a custom DNS server.
3925//
3926//    * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
3927//    ec2.internal. If you're using AmazonProvidedDNS in another Region, specify
3928//    region.compute.internal (for example, ap-northeast-1.compute.internal).
3929//    Otherwise, specify a domain name (for example, MyCompany.com). This value
3930//    is used to complete unqualified DNS hostnames. Important: Some Linux operating
3931//    systems accept multiple domain names separated by spaces. However, Windows
3932//    and other Linux operating systems treat the value as a single domain,
3933//    which results in unexpected behavior. If your DHCP options set is associated
3934//    with a VPC that has instances with multiple operating systems, specify
3935//    only one domain name.
3936//
3937//    * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
3938//    servers.
3939//
3940//    * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
3941//
3942//    * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
3943//    that you specify 2 (broadcast and multicast are not currently supported).
3944//    For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
3945//
3946// Your VPC automatically starts out with a set of DHCP options that includes
3947// only a DNS server that we provide (AmazonProvidedDNS). If you create a set
3948// of options, and if your VPC has an internet gateway, make sure to set the
3949// domain-name-servers option either to AmazonProvidedDNS or to a domain name
3950// server of your choice. For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
3951// in the Amazon Virtual Private Cloud User Guide.
3952//
3953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3954// with awserr.Error's Code and Message methods to get detailed information about
3955// the error.
3956//
3957// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3958// API operation CreateDhcpOptions for usage and error information.
3959// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
3960func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
3961	req, out := c.CreateDhcpOptionsRequest(input)
3962	return out, req.Send()
3963}
3964
3965// CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
3966// the ability to pass a context and additional request options.
3967//
3968// See CreateDhcpOptions for details on how to use this API operation.
3969//
3970// The context must be non-nil and will be used for request cancellation. If
3971// the context is nil a panic will occur. In the future the SDK may create
3972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3973// for more information on using Contexts.
3974func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
3975	req, out := c.CreateDhcpOptionsRequest(input)
3976	req.SetContext(ctx)
3977	req.ApplyOptions(opts...)
3978	return out, req.Send()
3979}
3980
3981const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
3982
3983// CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
3984// client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
3985// value will be populated with the request's response once the request completes
3986// successfully.
3987//
3988// Use "Send" method on the returned Request to send the API call to the service.
3989// the "output" return value is not valid until after Send returns without error.
3990//
3991// See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
3992// API call, and error handling.
3993//
3994// This method is useful when you want to inject custom logic or configuration
3995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3996//
3997//
3998//    // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
3999//    req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
4000//
4001//    err := req.Send()
4002//    if err == nil { // resp is now filled
4003//        fmt.Println(resp)
4004//    }
4005//
4006// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
4007func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
4008	op := &request.Operation{
4009		Name:       opCreateEgressOnlyInternetGateway,
4010		HTTPMethod: "POST",
4011		HTTPPath:   "/",
4012	}
4013
4014	if input == nil {
4015		input = &CreateEgressOnlyInternetGatewayInput{}
4016	}
4017
4018	output = &CreateEgressOnlyInternetGatewayOutput{}
4019	req = c.newRequest(op, input, output)
4020	return
4021}
4022
4023// CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
4024//
4025// [IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only
4026// internet gateway is used to enable outbound communication over IPv6 from
4027// instances in your VPC to the internet, and prevents hosts outside of your
4028// VPC from initiating an IPv6 connection with your instance.
4029//
4030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4031// with awserr.Error's Code and Message methods to get detailed information about
4032// the error.
4033//
4034// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4035// API operation CreateEgressOnlyInternetGateway for usage and error information.
4036// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
4037func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
4038	req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
4039	return out, req.Send()
4040}
4041
4042// CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
4043// the ability to pass a context and additional request options.
4044//
4045// See CreateEgressOnlyInternetGateway for details on how to use this API operation.
4046//
4047// The context must be non-nil and will be used for request cancellation. If
4048// the context is nil a panic will occur. In the future the SDK may create
4049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4050// for more information on using Contexts.
4051func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
4052	req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
4053	req.SetContext(ctx)
4054	req.ApplyOptions(opts...)
4055	return out, req.Send()
4056}
4057
4058const opCreateFleet = "CreateFleet"
4059
4060// CreateFleetRequest generates a "aws/request.Request" representing the
4061// client's request for the CreateFleet operation. The "output" return
4062// value will be populated with the request's response once the request completes
4063// successfully.
4064//
4065// Use "Send" method on the returned Request to send the API call to the service.
4066// the "output" return value is not valid until after Send returns without error.
4067//
4068// See CreateFleet for more information on using the CreateFleet
4069// API call, and error handling.
4070//
4071// This method is useful when you want to inject custom logic or configuration
4072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4073//
4074//
4075//    // Example sending a request using the CreateFleetRequest method.
4076//    req, resp := client.CreateFleetRequest(params)
4077//
4078//    err := req.Send()
4079//    if err == nil { // resp is now filled
4080//        fmt.Println(resp)
4081//    }
4082//
4083// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
4084func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
4085	op := &request.Operation{
4086		Name:       opCreateFleet,
4087		HTTPMethod: "POST",
4088		HTTPPath:   "/",
4089	}
4090
4091	if input == nil {
4092		input = &CreateFleetInput{}
4093	}
4094
4095	output = &CreateFleetOutput{}
4096	req = c.newRequest(op, input, output)
4097	return
4098}
4099
4100// CreateFleet API operation for Amazon Elastic Compute Cloud.
4101//
4102// Launches an EC2 Fleet.
4103//
4104// You can create a single EC2 Fleet that includes multiple launch specifications
4105// that vary by instance type, AMI, Availability Zone, or subnet.
4106//
4107// For more information, see Launching an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html)
4108// in the Amazon Elastic Compute Cloud User Guide.
4109//
4110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4111// with awserr.Error's Code and Message methods to get detailed information about
4112// the error.
4113//
4114// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4115// API operation CreateFleet for usage and error information.
4116// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
4117func (c *EC2) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
4118	req, out := c.CreateFleetRequest(input)
4119	return out, req.Send()
4120}
4121
4122// CreateFleetWithContext is the same as CreateFleet with the addition of
4123// the ability to pass a context and additional request options.
4124//
4125// See CreateFleet for details on how to use this API operation.
4126//
4127// The context must be non-nil and will be used for request cancellation. If
4128// the context is nil a panic will occur. In the future the SDK may create
4129// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4130// for more information on using Contexts.
4131func (c *EC2) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
4132	req, out := c.CreateFleetRequest(input)
4133	req.SetContext(ctx)
4134	req.ApplyOptions(opts...)
4135	return out, req.Send()
4136}
4137
4138const opCreateFlowLogs = "CreateFlowLogs"
4139
4140// CreateFlowLogsRequest generates a "aws/request.Request" representing the
4141// client's request for the CreateFlowLogs operation. The "output" return
4142// value will be populated with the request's response once the request completes
4143// successfully.
4144//
4145// Use "Send" method on the returned Request to send the API call to the service.
4146// the "output" return value is not valid until after Send returns without error.
4147//
4148// See CreateFlowLogs for more information on using the CreateFlowLogs
4149// API call, and error handling.
4150//
4151// This method is useful when you want to inject custom logic or configuration
4152// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4153//
4154//
4155//    // Example sending a request using the CreateFlowLogsRequest method.
4156//    req, resp := client.CreateFlowLogsRequest(params)
4157//
4158//    err := req.Send()
4159//    if err == nil { // resp is now filled
4160//        fmt.Println(resp)
4161//    }
4162//
4163// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
4164func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
4165	op := &request.Operation{
4166		Name:       opCreateFlowLogs,
4167		HTTPMethod: "POST",
4168		HTTPPath:   "/",
4169	}
4170
4171	if input == nil {
4172		input = &CreateFlowLogsInput{}
4173	}
4174
4175	output = &CreateFlowLogsOutput{}
4176	req = c.newRequest(op, input, output)
4177	return
4178}
4179
4180// CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
4181//
4182// Creates one or more flow logs to capture information about IP traffic for
4183// a specific network interface, subnet, or VPC.
4184//
4185// Flow log data for a monitored network interface is recorded as flow log records,
4186// which are log events consisting of fields that describe the traffic flow.
4187// For more information, see Flow Log Records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records)
4188// in the Amazon Virtual Private Cloud User Guide.
4189//
4190// When publishing to CloudWatch Logs, flow log records are published to a log
4191// group, and each network interface has a unique log stream in the log group.
4192// When publishing to Amazon S3, flow log records for all of the monitored network
4193// interfaces are published to a single log file object that is stored in the
4194// specified bucket.
4195//
4196// For more information, see VPC Flow Logs (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)
4197// in the Amazon Virtual Private Cloud User Guide.
4198//
4199// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4200// with awserr.Error's Code and Message methods to get detailed information about
4201// the error.
4202//
4203// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4204// API operation CreateFlowLogs for usage and error information.
4205// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
4206func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
4207	req, out := c.CreateFlowLogsRequest(input)
4208	return out, req.Send()
4209}
4210
4211// CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
4212// the ability to pass a context and additional request options.
4213//
4214// See CreateFlowLogs for details on how to use this API operation.
4215//
4216// The context must be non-nil and will be used for request cancellation. If
4217// the context is nil a panic will occur. In the future the SDK may create
4218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4219// for more information on using Contexts.
4220func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
4221	req, out := c.CreateFlowLogsRequest(input)
4222	req.SetContext(ctx)
4223	req.ApplyOptions(opts...)
4224	return out, req.Send()
4225}
4226
4227const opCreateFpgaImage = "CreateFpgaImage"
4228
4229// CreateFpgaImageRequest generates a "aws/request.Request" representing the
4230// client's request for the CreateFpgaImage operation. The "output" return
4231// value will be populated with the request's response once the request completes
4232// successfully.
4233//
4234// Use "Send" method on the returned Request to send the API call to the service.
4235// the "output" return value is not valid until after Send returns without error.
4236//
4237// See CreateFpgaImage for more information on using the CreateFpgaImage
4238// API call, and error handling.
4239//
4240// This method is useful when you want to inject custom logic or configuration
4241// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4242//
4243//
4244//    // Example sending a request using the CreateFpgaImageRequest method.
4245//    req, resp := client.CreateFpgaImageRequest(params)
4246//
4247//    err := req.Send()
4248//    if err == nil { // resp is now filled
4249//        fmt.Println(resp)
4250//    }
4251//
4252// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
4253func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
4254	op := &request.Operation{
4255		Name:       opCreateFpgaImage,
4256		HTTPMethod: "POST",
4257		HTTPPath:   "/",
4258	}
4259
4260	if input == nil {
4261		input = &CreateFpgaImageInput{}
4262	}
4263
4264	output = &CreateFpgaImageOutput{}
4265	req = c.newRequest(op, input, output)
4266	return
4267}
4268
4269// CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
4270//
4271// Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
4272//
4273// The create operation is asynchronous. To verify that the AFI is ready for
4274// use, check the output logs.
4275//
4276// An AFI contains the FPGA bitstream that is ready to download to an FPGA.
4277// You can securely deploy an AFI on multiple FPGA-accelerated instances. For
4278// more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
4279//
4280// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4281// with awserr.Error's Code and Message methods to get detailed information about
4282// the error.
4283//
4284// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4285// API operation CreateFpgaImage for usage and error information.
4286// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
4287func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
4288	req, out := c.CreateFpgaImageRequest(input)
4289	return out, req.Send()
4290}
4291
4292// CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
4293// the ability to pass a context and additional request options.
4294//
4295// See CreateFpgaImage for details on how to use this API operation.
4296//
4297// The context must be non-nil and will be used for request cancellation. If
4298// the context is nil a panic will occur. In the future the SDK may create
4299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4300// for more information on using Contexts.
4301func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
4302	req, out := c.CreateFpgaImageRequest(input)
4303	req.SetContext(ctx)
4304	req.ApplyOptions(opts...)
4305	return out, req.Send()
4306}
4307
4308const opCreateImage = "CreateImage"
4309
4310// CreateImageRequest generates a "aws/request.Request" representing the
4311// client's request for the CreateImage operation. The "output" return
4312// value will be populated with the request's response once the request completes
4313// successfully.
4314//
4315// Use "Send" method on the returned Request to send the API call to the service.
4316// the "output" return value is not valid until after Send returns without error.
4317//
4318// See CreateImage for more information on using the CreateImage
4319// API call, and error handling.
4320//
4321// This method is useful when you want to inject custom logic or configuration
4322// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4323//
4324//
4325//    // Example sending a request using the CreateImageRequest method.
4326//    req, resp := client.CreateImageRequest(params)
4327//
4328//    err := req.Send()
4329//    if err == nil { // resp is now filled
4330//        fmt.Println(resp)
4331//    }
4332//
4333// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
4334func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
4335	op := &request.Operation{
4336		Name:       opCreateImage,
4337		HTTPMethod: "POST",
4338		HTTPPath:   "/",
4339	}
4340
4341	if input == nil {
4342		input = &CreateImageInput{}
4343	}
4344
4345	output = &CreateImageOutput{}
4346	req = c.newRequest(op, input, output)
4347	return
4348}
4349
4350// CreateImage API operation for Amazon Elastic Compute Cloud.
4351//
4352// Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
4353// is either running or stopped.
4354//
4355// If you customized your instance with instance store volumes or EBS volumes
4356// in addition to the root device volume, the new AMI contains block device
4357// mapping information for those volumes. When you launch an instance from this
4358// new AMI, the instance automatically launches with those additional volumes.
4359//
4360// For more information, see Creating Amazon EBS-Backed Linux AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
4361// in the Amazon Elastic Compute Cloud User Guide.
4362//
4363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4364// with awserr.Error's Code and Message methods to get detailed information about
4365// the error.
4366//
4367// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4368// API operation CreateImage for usage and error information.
4369// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
4370func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
4371	req, out := c.CreateImageRequest(input)
4372	return out, req.Send()
4373}
4374
4375// CreateImageWithContext is the same as CreateImage with the addition of
4376// the ability to pass a context and additional request options.
4377//
4378// See CreateImage for details on how to use this API operation.
4379//
4380// The context must be non-nil and will be used for request cancellation. If
4381// the context is nil a panic will occur. In the future the SDK may create
4382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4383// for more information on using Contexts.
4384func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
4385	req, out := c.CreateImageRequest(input)
4386	req.SetContext(ctx)
4387	req.ApplyOptions(opts...)
4388	return out, req.Send()
4389}
4390
4391const opCreateInstanceExportTask = "CreateInstanceExportTask"
4392
4393// CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
4394// client's request for the CreateInstanceExportTask operation. The "output" return
4395// value will be populated with the request's response once the request completes
4396// successfully.
4397//
4398// Use "Send" method on the returned Request to send the API call to the service.
4399// the "output" return value is not valid until after Send returns without error.
4400//
4401// See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
4402// API call, and error handling.
4403//
4404// This method is useful when you want to inject custom logic or configuration
4405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4406//
4407//
4408//    // Example sending a request using the CreateInstanceExportTaskRequest method.
4409//    req, resp := client.CreateInstanceExportTaskRequest(params)
4410//
4411//    err := req.Send()
4412//    if err == nil { // resp is now filled
4413//        fmt.Println(resp)
4414//    }
4415//
4416// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
4417func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
4418	op := &request.Operation{
4419		Name:       opCreateInstanceExportTask,
4420		HTTPMethod: "POST",
4421		HTTPPath:   "/",
4422	}
4423
4424	if input == nil {
4425		input = &CreateInstanceExportTaskInput{}
4426	}
4427
4428	output = &CreateInstanceExportTaskOutput{}
4429	req = c.newRequest(op, input, output)
4430	return
4431}
4432
4433// CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
4434//
4435// Exports a running or stopped instance to an S3 bucket.
4436//
4437// For information about the supported operating systems, image formats, and
4438// known limitations for the types of instances you can export, see Exporting
4439// an Instance as a VM Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
4440// in the VM Import/Export User Guide.
4441//
4442// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4443// with awserr.Error's Code and Message methods to get detailed information about
4444// the error.
4445//
4446// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4447// API operation CreateInstanceExportTask for usage and error information.
4448// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
4449func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
4450	req, out := c.CreateInstanceExportTaskRequest(input)
4451	return out, req.Send()
4452}
4453
4454// CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
4455// the ability to pass a context and additional request options.
4456//
4457// See CreateInstanceExportTask for details on how to use this API operation.
4458//
4459// The context must be non-nil and will be used for request cancellation. If
4460// the context is nil a panic will occur. In the future the SDK may create
4461// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4462// for more information on using Contexts.
4463func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
4464	req, out := c.CreateInstanceExportTaskRequest(input)
4465	req.SetContext(ctx)
4466	req.ApplyOptions(opts...)
4467	return out, req.Send()
4468}
4469
4470const opCreateInternetGateway = "CreateInternetGateway"
4471
4472// CreateInternetGatewayRequest generates a "aws/request.Request" representing the
4473// client's request for the CreateInternetGateway operation. The "output" return
4474// value will be populated with the request's response once the request completes
4475// successfully.
4476//
4477// Use "Send" method on the returned Request to send the API call to the service.
4478// the "output" return value is not valid until after Send returns without error.
4479//
4480// See CreateInternetGateway for more information on using the CreateInternetGateway
4481// API call, and error handling.
4482//
4483// This method is useful when you want to inject custom logic or configuration
4484// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4485//
4486//
4487//    // Example sending a request using the CreateInternetGatewayRequest method.
4488//    req, resp := client.CreateInternetGatewayRequest(params)
4489//
4490//    err := req.Send()
4491//    if err == nil { // resp is now filled
4492//        fmt.Println(resp)
4493//    }
4494//
4495// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
4496func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
4497	op := &request.Operation{
4498		Name:       opCreateInternetGateway,
4499		HTTPMethod: "POST",
4500		HTTPPath:   "/",
4501	}
4502
4503	if input == nil {
4504		input = &CreateInternetGatewayInput{}
4505	}
4506
4507	output = &CreateInternetGatewayOutput{}
4508	req = c.newRequest(op, input, output)
4509	return
4510}
4511
4512// CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
4513//
4514// Creates an internet gateway for use with a VPC. After creating the internet
4515// gateway, you attach it to a VPC using AttachInternetGateway.
4516//
4517// For more information about your VPC and internet gateway, see the Amazon
4518// Virtual Private Cloud User Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
4519//
4520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4521// with awserr.Error's Code and Message methods to get detailed information about
4522// the error.
4523//
4524// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4525// API operation CreateInternetGateway for usage and error information.
4526// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
4527func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
4528	req, out := c.CreateInternetGatewayRequest(input)
4529	return out, req.Send()
4530}
4531
4532// CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
4533// the ability to pass a context and additional request options.
4534//
4535// See CreateInternetGateway for details on how to use this API operation.
4536//
4537// The context must be non-nil and will be used for request cancellation. If
4538// the context is nil a panic will occur. In the future the SDK may create
4539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4540// for more information on using Contexts.
4541func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
4542	req, out := c.CreateInternetGatewayRequest(input)
4543	req.SetContext(ctx)
4544	req.ApplyOptions(opts...)
4545	return out, req.Send()
4546}
4547
4548const opCreateKeyPair = "CreateKeyPair"
4549
4550// CreateKeyPairRequest generates a "aws/request.Request" representing the
4551// client's request for the CreateKeyPair operation. The "output" return
4552// value will be populated with the request's response once the request completes
4553// successfully.
4554//
4555// Use "Send" method on the returned Request to send the API call to the service.
4556// the "output" return value is not valid until after Send returns without error.
4557//
4558// See CreateKeyPair for more information on using the CreateKeyPair
4559// API call, and error handling.
4560//
4561// This method is useful when you want to inject custom logic or configuration
4562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4563//
4564//
4565//    // Example sending a request using the CreateKeyPairRequest method.
4566//    req, resp := client.CreateKeyPairRequest(params)
4567//
4568//    err := req.Send()
4569//    if err == nil { // resp is now filled
4570//        fmt.Println(resp)
4571//    }
4572//
4573// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
4574func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
4575	op := &request.Operation{
4576		Name:       opCreateKeyPair,
4577		HTTPMethod: "POST",
4578		HTTPPath:   "/",
4579	}
4580
4581	if input == nil {
4582		input = &CreateKeyPairInput{}
4583	}
4584
4585	output = &CreateKeyPairOutput{}
4586	req = c.newRequest(op, input, output)
4587	return
4588}
4589
4590// CreateKeyPair API operation for Amazon Elastic Compute Cloud.
4591//
4592// Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
4593// the public key and displays the private key for you to save to a file. The
4594// private key is returned as an unencrypted PEM encoded PKCS#1 private key.
4595// If a key with the specified name already exists, Amazon EC2 returns an error.
4596//
4597// You can have up to five thousand key pairs per Region.
4598//
4599// The key pair returned to you is available only in the Region in which you
4600// create it. If you prefer, you can create your own key pair using a third-party
4601// tool and upload it to any Region using ImportKeyPair.
4602//
4603// For more information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
4604// in the Amazon Elastic Compute Cloud User Guide.
4605//
4606// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4607// with awserr.Error's Code and Message methods to get detailed information about
4608// the error.
4609//
4610// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4611// API operation CreateKeyPair for usage and error information.
4612// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
4613func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
4614	req, out := c.CreateKeyPairRequest(input)
4615	return out, req.Send()
4616}
4617
4618// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
4619// the ability to pass a context and additional request options.
4620//
4621// See CreateKeyPair for details on how to use this API operation.
4622//
4623// The context must be non-nil and will be used for request cancellation. If
4624// the context is nil a panic will occur. In the future the SDK may create
4625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4626// for more information on using Contexts.
4627func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
4628	req, out := c.CreateKeyPairRequest(input)
4629	req.SetContext(ctx)
4630	req.ApplyOptions(opts...)
4631	return out, req.Send()
4632}
4633
4634const opCreateLaunchTemplate = "CreateLaunchTemplate"
4635
4636// CreateLaunchTemplateRequest generates a "aws/request.Request" representing the
4637// client's request for the CreateLaunchTemplate operation. The "output" return
4638// value will be populated with the request's response once the request completes
4639// successfully.
4640//
4641// Use "Send" method on the returned Request to send the API call to the service.
4642// the "output" return value is not valid until after Send returns without error.
4643//
4644// See CreateLaunchTemplate for more information on using the CreateLaunchTemplate
4645// API call, and error handling.
4646//
4647// This method is useful when you want to inject custom logic or configuration
4648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4649//
4650//
4651//    // Example sending a request using the CreateLaunchTemplateRequest method.
4652//    req, resp := client.CreateLaunchTemplateRequest(params)
4653//
4654//    err := req.Send()
4655//    if err == nil { // resp is now filled
4656//        fmt.Println(resp)
4657//    }
4658//
4659// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
4660func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req *request.Request, output *CreateLaunchTemplateOutput) {
4661	op := &request.Operation{
4662		Name:       opCreateLaunchTemplate,
4663		HTTPMethod: "POST",
4664		HTTPPath:   "/",
4665	}
4666
4667	if input == nil {
4668		input = &CreateLaunchTemplateInput{}
4669	}
4670
4671	output = &CreateLaunchTemplateOutput{}
4672	req = c.newRequest(op, input, output)
4673	return
4674}
4675
4676// CreateLaunchTemplate API operation for Amazon Elastic Compute Cloud.
4677//
4678// Creates a launch template. A launch template contains the parameters to launch
4679// an instance. When you launch an instance using RunInstances, you can specify
4680// a launch template instead of providing the launch parameters in the request.
4681//
4682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4683// with awserr.Error's Code and Message methods to get detailed information about
4684// the error.
4685//
4686// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4687// API operation CreateLaunchTemplate for usage and error information.
4688// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
4689func (c *EC2) CreateLaunchTemplate(input *CreateLaunchTemplateInput) (*CreateLaunchTemplateOutput, error) {
4690	req, out := c.CreateLaunchTemplateRequest(input)
4691	return out, req.Send()
4692}
4693
4694// CreateLaunchTemplateWithContext is the same as CreateLaunchTemplate with the addition of
4695// the ability to pass a context and additional request options.
4696//
4697// See CreateLaunchTemplate for details on how to use this API operation.
4698//
4699// The context must be non-nil and will be used for request cancellation. If
4700// the context is nil a panic will occur. In the future the SDK may create
4701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4702// for more information on using Contexts.
4703func (c *EC2) CreateLaunchTemplateWithContext(ctx aws.Context, input *CreateLaunchTemplateInput, opts ...request.Option) (*CreateLaunchTemplateOutput, error) {
4704	req, out := c.CreateLaunchTemplateRequest(input)
4705	req.SetContext(ctx)
4706	req.ApplyOptions(opts...)
4707	return out, req.Send()
4708}
4709
4710const opCreateLaunchTemplateVersion = "CreateLaunchTemplateVersion"
4711
4712// CreateLaunchTemplateVersionRequest generates a "aws/request.Request" representing the
4713// client's request for the CreateLaunchTemplateVersion operation. The "output" return
4714// value will be populated with the request's response once the request completes
4715// successfully.
4716//
4717// Use "Send" method on the returned Request to send the API call to the service.
4718// the "output" return value is not valid until after Send returns without error.
4719//
4720// See CreateLaunchTemplateVersion for more information on using the CreateLaunchTemplateVersion
4721// API call, and error handling.
4722//
4723// This method is useful when you want to inject custom logic or configuration
4724// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4725//
4726//
4727//    // Example sending a request using the CreateLaunchTemplateVersionRequest method.
4728//    req, resp := client.CreateLaunchTemplateVersionRequest(params)
4729//
4730//    err := req.Send()
4731//    if err == nil { // resp is now filled
4732//        fmt.Println(resp)
4733//    }
4734//
4735// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
4736func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVersionInput) (req *request.Request, output *CreateLaunchTemplateVersionOutput) {
4737	op := &request.Operation{
4738		Name:       opCreateLaunchTemplateVersion,
4739		HTTPMethod: "POST",
4740		HTTPPath:   "/",
4741	}
4742
4743	if input == nil {
4744		input = &CreateLaunchTemplateVersionInput{}
4745	}
4746
4747	output = &CreateLaunchTemplateVersionOutput{}
4748	req = c.newRequest(op, input, output)
4749	return
4750}
4751
4752// CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud.
4753//
4754// Creates a new version for a launch template. You can specify an existing
4755// version of launch template from which to base the new version.
4756//
4757// Launch template versions are numbered in the order in which they are created.
4758// You cannot specify, change, or replace the numbering of launch template versions.
4759//
4760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4761// with awserr.Error's Code and Message methods to get detailed information about
4762// the error.
4763//
4764// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4765// API operation CreateLaunchTemplateVersion for usage and error information.
4766// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
4767func (c *EC2) CreateLaunchTemplateVersion(input *CreateLaunchTemplateVersionInput) (*CreateLaunchTemplateVersionOutput, error) {
4768	req, out := c.CreateLaunchTemplateVersionRequest(input)
4769	return out, req.Send()
4770}
4771
4772// CreateLaunchTemplateVersionWithContext is the same as CreateLaunchTemplateVersion with the addition of
4773// the ability to pass a context and additional request options.
4774//
4775// See CreateLaunchTemplateVersion for details on how to use this API operation.
4776//
4777// The context must be non-nil and will be used for request cancellation. If
4778// the context is nil a panic will occur. In the future the SDK may create
4779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4780// for more information on using Contexts.
4781func (c *EC2) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *CreateLaunchTemplateVersionInput, opts ...request.Option) (*CreateLaunchTemplateVersionOutput, error) {
4782	req, out := c.CreateLaunchTemplateVersionRequest(input)
4783	req.SetContext(ctx)
4784	req.ApplyOptions(opts...)
4785	return out, req.Send()
4786}
4787
4788const opCreateLocalGatewayRoute = "CreateLocalGatewayRoute"
4789
4790// CreateLocalGatewayRouteRequest generates a "aws/request.Request" representing the
4791// client's request for the CreateLocalGatewayRoute operation. The "output" return
4792// value will be populated with the request's response once the request completes
4793// successfully.
4794//
4795// Use "Send" method on the returned Request to send the API call to the service.
4796// the "output" return value is not valid until after Send returns without error.
4797//
4798// See CreateLocalGatewayRoute for more information on using the CreateLocalGatewayRoute
4799// API call, and error handling.
4800//
4801// This method is useful when you want to inject custom logic or configuration
4802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4803//
4804//
4805//    // Example sending a request using the CreateLocalGatewayRouteRequest method.
4806//    req, resp := client.CreateLocalGatewayRouteRequest(params)
4807//
4808//    err := req.Send()
4809//    if err == nil { // resp is now filled
4810//        fmt.Println(resp)
4811//    }
4812//
4813// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
4814func (c *EC2) CreateLocalGatewayRouteRequest(input *CreateLocalGatewayRouteInput) (req *request.Request, output *CreateLocalGatewayRouteOutput) {
4815	op := &request.Operation{
4816		Name:       opCreateLocalGatewayRoute,
4817		HTTPMethod: "POST",
4818		HTTPPath:   "/",
4819	}
4820
4821	if input == nil {
4822		input = &CreateLocalGatewayRouteInput{}
4823	}
4824
4825	output = &CreateLocalGatewayRouteOutput{}
4826	req = c.newRequest(op, input, output)
4827	return
4828}
4829
4830// CreateLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
4831//
4832// Creates a static route for the specified local gateway route table.
4833//
4834// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4835// with awserr.Error's Code and Message methods to get detailed information about
4836// the error.
4837//
4838// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4839// API operation CreateLocalGatewayRoute for usage and error information.
4840// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
4841func (c *EC2) CreateLocalGatewayRoute(input *CreateLocalGatewayRouteInput) (*CreateLocalGatewayRouteOutput, error) {
4842	req, out := c.CreateLocalGatewayRouteRequest(input)
4843	return out, req.Send()
4844}
4845
4846// CreateLocalGatewayRouteWithContext is the same as CreateLocalGatewayRoute with the addition of
4847// the ability to pass a context and additional request options.
4848//
4849// See CreateLocalGatewayRoute for details on how to use this API operation.
4850//
4851// The context must be non-nil and will be used for request cancellation. If
4852// the context is nil a panic will occur. In the future the SDK may create
4853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4854// for more information on using Contexts.
4855func (c *EC2) CreateLocalGatewayRouteWithContext(ctx aws.Context, input *CreateLocalGatewayRouteInput, opts ...request.Option) (*CreateLocalGatewayRouteOutput, error) {
4856	req, out := c.CreateLocalGatewayRouteRequest(input)
4857	req.SetContext(ctx)
4858	req.ApplyOptions(opts...)
4859	return out, req.Send()
4860}
4861
4862const opCreateLocalGatewayRouteTableVpcAssociation = "CreateLocalGatewayRouteTableVpcAssociation"
4863
4864// CreateLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
4865// client's request for the CreateLocalGatewayRouteTableVpcAssociation operation. The "output" return
4866// value will be populated with the request's response once the request completes
4867// successfully.
4868//
4869// Use "Send" method on the returned Request to send the API call to the service.
4870// the "output" return value is not valid until after Send returns without error.
4871//
4872// See CreateLocalGatewayRouteTableVpcAssociation for more information on using the CreateLocalGatewayRouteTableVpcAssociation
4873// API call, and error handling.
4874//
4875// This method is useful when you want to inject custom logic or configuration
4876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4877//
4878//
4879//    // Example sending a request using the CreateLocalGatewayRouteTableVpcAssociationRequest method.
4880//    req, resp := client.CreateLocalGatewayRouteTableVpcAssociationRequest(params)
4881//
4882//    err := req.Send()
4883//    if err == nil { // resp is now filled
4884//        fmt.Println(resp)
4885//    }
4886//
4887// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
4888func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationRequest(input *CreateLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *CreateLocalGatewayRouteTableVpcAssociationOutput) {
4889	op := &request.Operation{
4890		Name:       opCreateLocalGatewayRouteTableVpcAssociation,
4891		HTTPMethod: "POST",
4892		HTTPPath:   "/",
4893	}
4894
4895	if input == nil {
4896		input = &CreateLocalGatewayRouteTableVpcAssociationInput{}
4897	}
4898
4899	output = &CreateLocalGatewayRouteTableVpcAssociationOutput{}
4900	req = c.newRequest(op, input, output)
4901	return
4902}
4903
4904// CreateLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
4905//
4906// Associates the specified VPC with the specified local gateway route table.
4907//
4908// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4909// with awserr.Error's Code and Message methods to get detailed information about
4910// the error.
4911//
4912// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4913// API operation CreateLocalGatewayRouteTableVpcAssociation for usage and error information.
4914// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
4915func (c *EC2) CreateLocalGatewayRouteTableVpcAssociation(input *CreateLocalGatewayRouteTableVpcAssociationInput) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
4916	req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
4917	return out, req.Send()
4918}
4919
4920// CreateLocalGatewayRouteTableVpcAssociationWithContext is the same as CreateLocalGatewayRouteTableVpcAssociation with the addition of
4921// the ability to pass a context and additional request options.
4922//
4923// See CreateLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
4924//
4925// The context must be non-nil and will be used for request cancellation. If
4926// the context is nil a panic will occur. In the future the SDK may create
4927// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4928// for more information on using Contexts.
4929func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *CreateLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
4930	req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
4931	req.SetContext(ctx)
4932	req.ApplyOptions(opts...)
4933	return out, req.Send()
4934}
4935
4936const opCreateNatGateway = "CreateNatGateway"
4937
4938// CreateNatGatewayRequest generates a "aws/request.Request" representing the
4939// client's request for the CreateNatGateway operation. The "output" return
4940// value will be populated with the request's response once the request completes
4941// successfully.
4942//
4943// Use "Send" method on the returned Request to send the API call to the service.
4944// the "output" return value is not valid until after Send returns without error.
4945//
4946// See CreateNatGateway for more information on using the CreateNatGateway
4947// API call, and error handling.
4948//
4949// This method is useful when you want to inject custom logic or configuration
4950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4951//
4952//
4953//    // Example sending a request using the CreateNatGatewayRequest method.
4954//    req, resp := client.CreateNatGatewayRequest(params)
4955//
4956//    err := req.Send()
4957//    if err == nil { // resp is now filled
4958//        fmt.Println(resp)
4959//    }
4960//
4961// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
4962func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
4963	op := &request.Operation{
4964		Name:       opCreateNatGateway,
4965		HTTPMethod: "POST",
4966		HTTPPath:   "/",
4967	}
4968
4969	if input == nil {
4970		input = &CreateNatGatewayInput{}
4971	}
4972
4973	output = &CreateNatGatewayOutput{}
4974	req = c.newRequest(op, input, output)
4975	return
4976}
4977
4978// CreateNatGateway API operation for Amazon Elastic Compute Cloud.
4979//
4980// Creates a NAT gateway in the specified public subnet. This action creates
4981// a network interface in the specified subnet with a private IP address from
4982// the IP address range of the subnet. Internet-bound traffic from a private
4983// subnet can be routed to the NAT gateway, therefore enabling instances in
4984// the private subnet to connect to the internet. For more information, see
4985// NAT Gateways (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)
4986// in the Amazon Virtual Private Cloud User Guide.
4987//
4988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4989// with awserr.Error's Code and Message methods to get detailed information about
4990// the error.
4991//
4992// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4993// API operation CreateNatGateway for usage and error information.
4994// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
4995func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
4996	req, out := c.CreateNatGatewayRequest(input)
4997	return out, req.Send()
4998}
4999
5000// CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
5001// the ability to pass a context and additional request options.
5002//
5003// See CreateNatGateway for details on how to use this API operation.
5004//
5005// The context must be non-nil and will be used for request cancellation. If
5006// the context is nil a panic will occur. In the future the SDK may create
5007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5008// for more information on using Contexts.
5009func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
5010	req, out := c.CreateNatGatewayRequest(input)
5011	req.SetContext(ctx)
5012	req.ApplyOptions(opts...)
5013	return out, req.Send()
5014}
5015
5016const opCreateNetworkAcl = "CreateNetworkAcl"
5017
5018// CreateNetworkAclRequest generates a "aws/request.Request" representing the
5019// client's request for the CreateNetworkAcl operation. The "output" return
5020// value will be populated with the request's response once the request completes
5021// successfully.
5022//
5023// Use "Send" method on the returned Request to send the API call to the service.
5024// the "output" return value is not valid until after Send returns without error.
5025//
5026// See CreateNetworkAcl for more information on using the CreateNetworkAcl
5027// API call, and error handling.
5028//
5029// This method is useful when you want to inject custom logic or configuration
5030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5031//
5032//
5033//    // Example sending a request using the CreateNetworkAclRequest method.
5034//    req, resp := client.CreateNetworkAclRequest(params)
5035//
5036//    err := req.Send()
5037//    if err == nil { // resp is now filled
5038//        fmt.Println(resp)
5039//    }
5040//
5041// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
5042func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
5043	op := &request.Operation{
5044		Name:       opCreateNetworkAcl,
5045		HTTPMethod: "POST",
5046		HTTPPath:   "/",
5047	}
5048
5049	if input == nil {
5050		input = &CreateNetworkAclInput{}
5051	}
5052
5053	output = &CreateNetworkAclOutput{}
5054	req = c.newRequest(op, input, output)
5055	return
5056}
5057
5058// CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
5059//
5060// Creates a network ACL in a VPC. Network ACLs provide an optional layer of
5061// security (in addition to security groups) for the instances in your VPC.
5062//
5063// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
5064// in the Amazon Virtual Private Cloud User Guide.
5065//
5066// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5067// with awserr.Error's Code and Message methods to get detailed information about
5068// the error.
5069//
5070// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5071// API operation CreateNetworkAcl for usage and error information.
5072// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
5073func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
5074	req, out := c.CreateNetworkAclRequest(input)
5075	return out, req.Send()
5076}
5077
5078// CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
5079// the ability to pass a context and additional request options.
5080//
5081// See CreateNetworkAcl for details on how to use this API operation.
5082//
5083// The context must be non-nil and will be used for request cancellation. If
5084// the context is nil a panic will occur. In the future the SDK may create
5085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5086// for more information on using Contexts.
5087func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
5088	req, out := c.CreateNetworkAclRequest(input)
5089	req.SetContext(ctx)
5090	req.ApplyOptions(opts...)
5091	return out, req.Send()
5092}
5093
5094const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
5095
5096// CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
5097// client's request for the CreateNetworkAclEntry operation. The "output" return
5098// value will be populated with the request's response once the request completes
5099// successfully.
5100//
5101// Use "Send" method on the returned Request to send the API call to the service.
5102// the "output" return value is not valid until after Send returns without error.
5103//
5104// See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
5105// API call, and error handling.
5106//
5107// This method is useful when you want to inject custom logic or configuration
5108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5109//
5110//
5111//    // Example sending a request using the CreateNetworkAclEntryRequest method.
5112//    req, resp := client.CreateNetworkAclEntryRequest(params)
5113//
5114//    err := req.Send()
5115//    if err == nil { // resp is now filled
5116//        fmt.Println(resp)
5117//    }
5118//
5119// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
5120func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
5121	op := &request.Operation{
5122		Name:       opCreateNetworkAclEntry,
5123		HTTPMethod: "POST",
5124		HTTPPath:   "/",
5125	}
5126
5127	if input == nil {
5128		input = &CreateNetworkAclEntryInput{}
5129	}
5130
5131	output = &CreateNetworkAclEntryOutput{}
5132	req = c.newRequest(op, input, output)
5133	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5134	return
5135}
5136
5137// CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
5138//
5139// Creates an entry (a rule) in a network ACL with the specified rule number.
5140// Each network ACL has a set of numbered ingress rules and a separate set of
5141// numbered egress rules. When determining whether a packet should be allowed
5142// in or out of a subnet associated with the ACL, we process the entries in
5143// the ACL according to the rule numbers, in ascending order. Each network ACL
5144// has a set of ingress rules and a separate set of egress rules.
5145//
5146// We recommend that you leave room between the rule numbers (for example, 100,
5147// 110, 120, ...), and not number them one right after the other (for example,
5148// 101, 102, 103, ...). This makes it easier to add a rule between existing
5149// ones without having to renumber the rules.
5150//
5151// After you add an entry, you can't modify it; you must either replace it,
5152// or create an entry and delete the old one.
5153//
5154// For more information about network ACLs, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
5155// in the Amazon Virtual Private Cloud User Guide.
5156//
5157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5158// with awserr.Error's Code and Message methods to get detailed information about
5159// the error.
5160//
5161// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5162// API operation CreateNetworkAclEntry for usage and error information.
5163// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
5164func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
5165	req, out := c.CreateNetworkAclEntryRequest(input)
5166	return out, req.Send()
5167}
5168
5169// CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
5170// the ability to pass a context and additional request options.
5171//
5172// See CreateNetworkAclEntry for details on how to use this API operation.
5173//
5174// The context must be non-nil and will be used for request cancellation. If
5175// the context is nil a panic will occur. In the future the SDK may create
5176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5177// for more information on using Contexts.
5178func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
5179	req, out := c.CreateNetworkAclEntryRequest(input)
5180	req.SetContext(ctx)
5181	req.ApplyOptions(opts...)
5182	return out, req.Send()
5183}
5184
5185const opCreateNetworkInterface = "CreateNetworkInterface"
5186
5187// CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
5188// client's request for the CreateNetworkInterface operation. The "output" return
5189// value will be populated with the request's response once the request completes
5190// successfully.
5191//
5192// Use "Send" method on the returned Request to send the API call to the service.
5193// the "output" return value is not valid until after Send returns without error.
5194//
5195// See CreateNetworkInterface for more information on using the CreateNetworkInterface
5196// API call, and error handling.
5197//
5198// This method is useful when you want to inject custom logic or configuration
5199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5200//
5201//
5202//    // Example sending a request using the CreateNetworkInterfaceRequest method.
5203//    req, resp := client.CreateNetworkInterfaceRequest(params)
5204//
5205//    err := req.Send()
5206//    if err == nil { // resp is now filled
5207//        fmt.Println(resp)
5208//    }
5209//
5210// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
5211func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
5212	op := &request.Operation{
5213		Name:       opCreateNetworkInterface,
5214		HTTPMethod: "POST",
5215		HTTPPath:   "/",
5216	}
5217
5218	if input == nil {
5219		input = &CreateNetworkInterfaceInput{}
5220	}
5221
5222	output = &CreateNetworkInterfaceOutput{}
5223	req = c.newRequest(op, input, output)
5224	return
5225}
5226
5227// CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
5228//
5229// Creates a network interface in the specified subnet.
5230//
5231// For more information about network interfaces, see Elastic Network Interfaces
5232// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
5233// Amazon Virtual Private Cloud User Guide.
5234//
5235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5236// with awserr.Error's Code and Message methods to get detailed information about
5237// the error.
5238//
5239// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5240// API operation CreateNetworkInterface for usage and error information.
5241// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
5242func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
5243	req, out := c.CreateNetworkInterfaceRequest(input)
5244	return out, req.Send()
5245}
5246
5247// CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
5248// the ability to pass a context and additional request options.
5249//
5250// See CreateNetworkInterface for details on how to use this API operation.
5251//
5252// The context must be non-nil and will be used for request cancellation. If
5253// the context is nil a panic will occur. In the future the SDK may create
5254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5255// for more information on using Contexts.
5256func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
5257	req, out := c.CreateNetworkInterfaceRequest(input)
5258	req.SetContext(ctx)
5259	req.ApplyOptions(opts...)
5260	return out, req.Send()
5261}
5262
5263const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
5264
5265// CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
5266// client's request for the CreateNetworkInterfacePermission operation. The "output" return
5267// value will be populated with the request's response once the request completes
5268// successfully.
5269//
5270// Use "Send" method on the returned Request to send the API call to the service.
5271// the "output" return value is not valid until after Send returns without error.
5272//
5273// See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
5274// API call, and error handling.
5275//
5276// This method is useful when you want to inject custom logic or configuration
5277// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5278//
5279//
5280//    // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
5281//    req, resp := client.CreateNetworkInterfacePermissionRequest(params)
5282//
5283//    err := req.Send()
5284//    if err == nil { // resp is now filled
5285//        fmt.Println(resp)
5286//    }
5287//
5288// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
5289func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
5290	op := &request.Operation{
5291		Name:       opCreateNetworkInterfacePermission,
5292		HTTPMethod: "POST",
5293		HTTPPath:   "/",
5294	}
5295
5296	if input == nil {
5297		input = &CreateNetworkInterfacePermissionInput{}
5298	}
5299
5300	output = &CreateNetworkInterfacePermissionOutput{}
5301	req = c.newRequest(op, input, output)
5302	return
5303}
5304
5305// CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
5306//
5307// Grants an AWS-authorized account permission to attach the specified network
5308// interface to an instance in their account.
5309//
5310// You can grant permission to a single AWS account only, and only one account
5311// at a time.
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 CreateNetworkInterfacePermission for usage and error information.
5319// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
5320func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
5321	req, out := c.CreateNetworkInterfacePermissionRequest(input)
5322	return out, req.Send()
5323}
5324
5325// CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
5326// the ability to pass a context and additional request options.
5327//
5328// See CreateNetworkInterfacePermission 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) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
5335	req, out := c.CreateNetworkInterfacePermissionRequest(input)
5336	req.SetContext(ctx)
5337	req.ApplyOptions(opts...)
5338	return out, req.Send()
5339}
5340
5341const opCreatePlacementGroup = "CreatePlacementGroup"
5342
5343// CreatePlacementGroupRequest generates a "aws/request.Request" representing the
5344// client's request for the CreatePlacementGroup 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 CreatePlacementGroup for more information on using the CreatePlacementGroup
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 CreatePlacementGroupRequest method.
5359//    req, resp := client.CreatePlacementGroupRequest(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/CreatePlacementGroup
5367func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
5368	op := &request.Operation{
5369		Name:       opCreatePlacementGroup,
5370		HTTPMethod: "POST",
5371		HTTPPath:   "/",
5372	}
5373
5374	if input == nil {
5375		input = &CreatePlacementGroupInput{}
5376	}
5377
5378	output = &CreatePlacementGroupOutput{}
5379	req = c.newRequest(op, input, output)
5380	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5381	return
5382}
5383
5384// CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
5385//
5386// Creates a placement group in which to launch instances. The strategy of the
5387// placement group determines how the instances are organized within the group.
5388//
5389// A cluster placement group is a logical grouping of instances within a single
5390// Availability Zone that benefit from low network latency, high network throughput.
5391// A spread placement group places instances on distinct hardware. A partition
5392// placement group places groups of instances in different partitions, where
5393// instances in one partition do not share the same hardware with instances
5394// in another partition.
5395//
5396// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
5397// in the Amazon Elastic Compute Cloud User Guide.
5398//
5399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5400// with awserr.Error's Code and Message methods to get detailed information about
5401// the error.
5402//
5403// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5404// API operation CreatePlacementGroup for usage and error information.
5405// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
5406func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
5407	req, out := c.CreatePlacementGroupRequest(input)
5408	return out, req.Send()
5409}
5410
5411// CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
5412// the ability to pass a context and additional request options.
5413//
5414// See CreatePlacementGroup for details on how to use this API operation.
5415//
5416// The context must be non-nil and will be used for request cancellation. If
5417// the context is nil a panic will occur. In the future the SDK may create
5418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5419// for more information on using Contexts.
5420func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
5421	req, out := c.CreatePlacementGroupRequest(input)
5422	req.SetContext(ctx)
5423	req.ApplyOptions(opts...)
5424	return out, req.Send()
5425}
5426
5427const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
5428
5429// CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
5430// client's request for the CreateReservedInstancesListing operation. The "output" return
5431// value will be populated with the request's response once the request completes
5432// successfully.
5433//
5434// Use "Send" method on the returned Request to send the API call to the service.
5435// the "output" return value is not valid until after Send returns without error.
5436//
5437// See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
5438// API call, and error handling.
5439//
5440// This method is useful when you want to inject custom logic or configuration
5441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5442//
5443//
5444//    // Example sending a request using the CreateReservedInstancesListingRequest method.
5445//    req, resp := client.CreateReservedInstancesListingRequest(params)
5446//
5447//    err := req.Send()
5448//    if err == nil { // resp is now filled
5449//        fmt.Println(resp)
5450//    }
5451//
5452// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
5453func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
5454	op := &request.Operation{
5455		Name:       opCreateReservedInstancesListing,
5456		HTTPMethod: "POST",
5457		HTTPPath:   "/",
5458	}
5459
5460	if input == nil {
5461		input = &CreateReservedInstancesListingInput{}
5462	}
5463
5464	output = &CreateReservedInstancesListingOutput{}
5465	req = c.newRequest(op, input, output)
5466	return
5467}
5468
5469// CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
5470//
5471// Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
5472// the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
5473// listing at a time. To get a list of your Standard Reserved Instances, you
5474// can use the DescribeReservedInstances operation.
5475//
5476// Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace.
5477// Convertible Reserved Instances cannot be sold.
5478//
5479// The Reserved Instance Marketplace matches sellers who want to resell Standard
5480// Reserved Instance capacity that they no longer need with buyers who want
5481// to purchase additional capacity. Reserved Instances bought and sold through
5482// the Reserved Instance Marketplace work like any other Reserved Instances.
5483//
5484// To sell your Standard Reserved Instances, you must first register as a seller
5485// in the Reserved Instance Marketplace. After completing the registration process,
5486// you can create a Reserved Instance Marketplace listing of some or all of
5487// your Standard Reserved Instances, and specify the upfront price to receive
5488// for them. Your Standard Reserved Instance listings then become available
5489// for purchase. To view the details of your Standard Reserved Instance listing,
5490// you can use the DescribeReservedInstancesListings operation.
5491//
5492// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
5493// in the Amazon Elastic Compute Cloud User Guide.
5494//
5495// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5496// with awserr.Error's Code and Message methods to get detailed information about
5497// the error.
5498//
5499// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5500// API operation CreateReservedInstancesListing for usage and error information.
5501// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
5502func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
5503	req, out := c.CreateReservedInstancesListingRequest(input)
5504	return out, req.Send()
5505}
5506
5507// CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
5508// the ability to pass a context and additional request options.
5509//
5510// See CreateReservedInstancesListing for details on how to use this API operation.
5511//
5512// The context must be non-nil and will be used for request cancellation. If
5513// the context is nil a panic will occur. In the future the SDK may create
5514// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5515// for more information on using Contexts.
5516func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
5517	req, out := c.CreateReservedInstancesListingRequest(input)
5518	req.SetContext(ctx)
5519	req.ApplyOptions(opts...)
5520	return out, req.Send()
5521}
5522
5523const opCreateRoute = "CreateRoute"
5524
5525// CreateRouteRequest generates a "aws/request.Request" representing the
5526// client's request for the CreateRoute operation. The "output" return
5527// value will be populated with the request's response once the request completes
5528// successfully.
5529//
5530// Use "Send" method on the returned Request to send the API call to the service.
5531// the "output" return value is not valid until after Send returns without error.
5532//
5533// See CreateRoute for more information on using the CreateRoute
5534// API call, and error handling.
5535//
5536// This method is useful when you want to inject custom logic or configuration
5537// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5538//
5539//
5540//    // Example sending a request using the CreateRouteRequest method.
5541//    req, resp := client.CreateRouteRequest(params)
5542//
5543//    err := req.Send()
5544//    if err == nil { // resp is now filled
5545//        fmt.Println(resp)
5546//    }
5547//
5548// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
5549func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
5550	op := &request.Operation{
5551		Name:       opCreateRoute,
5552		HTTPMethod: "POST",
5553		HTTPPath:   "/",
5554	}
5555
5556	if input == nil {
5557		input = &CreateRouteInput{}
5558	}
5559
5560	output = &CreateRouteOutput{}
5561	req = c.newRequest(op, input, output)
5562	return
5563}
5564
5565// CreateRoute API operation for Amazon Elastic Compute Cloud.
5566//
5567// Creates a route in a route table within a VPC.
5568//
5569// You must specify one of the following targets: internet gateway or virtual
5570// private gateway, NAT instance, NAT gateway, VPC peering connection, network
5571// interface, egress-only internet gateway, or transit gateway.
5572//
5573// When determining how to route traffic, we use the route with the most specific
5574// match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
5575// the route table includes the following two IPv4 routes:
5576//
5577//    * 192.0.2.0/24 (goes to some target A)
5578//
5579//    * 192.0.2.0/28 (goes to some target B)
5580//
5581// Both routes apply to the traffic destined for 192.0.2.3. However, the second
5582// route in the list covers a smaller number of IP addresses and is therefore
5583// more specific, so we use that route to determine where to target the traffic.
5584//
5585// For more information about route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
5586// in the Amazon Virtual Private Cloud User Guide.
5587//
5588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5589// with awserr.Error's Code and Message methods to get detailed information about
5590// the error.
5591//
5592// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5593// API operation CreateRoute for usage and error information.
5594// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
5595func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
5596	req, out := c.CreateRouteRequest(input)
5597	return out, req.Send()
5598}
5599
5600// CreateRouteWithContext is the same as CreateRoute with the addition of
5601// the ability to pass a context and additional request options.
5602//
5603// See CreateRoute for details on how to use this API operation.
5604//
5605// The context must be non-nil and will be used for request cancellation. If
5606// the context is nil a panic will occur. In the future the SDK may create
5607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5608// for more information on using Contexts.
5609func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
5610	req, out := c.CreateRouteRequest(input)
5611	req.SetContext(ctx)
5612	req.ApplyOptions(opts...)
5613	return out, req.Send()
5614}
5615
5616const opCreateRouteTable = "CreateRouteTable"
5617
5618// CreateRouteTableRequest generates a "aws/request.Request" representing the
5619// client's request for the CreateRouteTable operation. The "output" return
5620// value will be populated with the request's response once the request completes
5621// successfully.
5622//
5623// Use "Send" method on the returned Request to send the API call to the service.
5624// the "output" return value is not valid until after Send returns without error.
5625//
5626// See CreateRouteTable for more information on using the CreateRouteTable
5627// API call, and error handling.
5628//
5629// This method is useful when you want to inject custom logic or configuration
5630// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5631//
5632//
5633//    // Example sending a request using the CreateRouteTableRequest method.
5634//    req, resp := client.CreateRouteTableRequest(params)
5635//
5636//    err := req.Send()
5637//    if err == nil { // resp is now filled
5638//        fmt.Println(resp)
5639//    }
5640//
5641// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
5642func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
5643	op := &request.Operation{
5644		Name:       opCreateRouteTable,
5645		HTTPMethod: "POST",
5646		HTTPPath:   "/",
5647	}
5648
5649	if input == nil {
5650		input = &CreateRouteTableInput{}
5651	}
5652
5653	output = &CreateRouteTableOutput{}
5654	req = c.newRequest(op, input, output)
5655	return
5656}
5657
5658// CreateRouteTable API operation for Amazon Elastic Compute Cloud.
5659//
5660// Creates a route table for the specified VPC. After you create a route table,
5661// you can add routes and associate the table with a subnet.
5662//
5663// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
5664// in the Amazon Virtual Private Cloud User Guide.
5665//
5666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5667// with awserr.Error's Code and Message methods to get detailed information about
5668// the error.
5669//
5670// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5671// API operation CreateRouteTable for usage and error information.
5672// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
5673func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
5674	req, out := c.CreateRouteTableRequest(input)
5675	return out, req.Send()
5676}
5677
5678// CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
5679// the ability to pass a context and additional request options.
5680//
5681// See CreateRouteTable for details on how to use this API operation.
5682//
5683// The context must be non-nil and will be used for request cancellation. If
5684// the context is nil a panic will occur. In the future the SDK may create
5685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5686// for more information on using Contexts.
5687func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
5688	req, out := c.CreateRouteTableRequest(input)
5689	req.SetContext(ctx)
5690	req.ApplyOptions(opts...)
5691	return out, req.Send()
5692}
5693
5694const opCreateSecurityGroup = "CreateSecurityGroup"
5695
5696// CreateSecurityGroupRequest generates a "aws/request.Request" representing the
5697// client's request for the CreateSecurityGroup operation. The "output" return
5698// value will be populated with the request's response once the request completes
5699// successfully.
5700//
5701// Use "Send" method on the returned Request to send the API call to the service.
5702// the "output" return value is not valid until after Send returns without error.
5703//
5704// See CreateSecurityGroup for more information on using the CreateSecurityGroup
5705// API call, and error handling.
5706//
5707// This method is useful when you want to inject custom logic or configuration
5708// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5709//
5710//
5711//    // Example sending a request using the CreateSecurityGroupRequest method.
5712//    req, resp := client.CreateSecurityGroupRequest(params)
5713//
5714//    err := req.Send()
5715//    if err == nil { // resp is now filled
5716//        fmt.Println(resp)
5717//    }
5718//
5719// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
5720func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
5721	op := &request.Operation{
5722		Name:       opCreateSecurityGroup,
5723		HTTPMethod: "POST",
5724		HTTPPath:   "/",
5725	}
5726
5727	if input == nil {
5728		input = &CreateSecurityGroupInput{}
5729	}
5730
5731	output = &CreateSecurityGroupOutput{}
5732	req = c.newRequest(op, input, output)
5733	return
5734}
5735
5736// CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
5737//
5738// Creates a security group.
5739//
5740// A security group acts as a virtual firewall for your instance to control
5741// inbound and outbound traffic. For more information, see Amazon EC2 Security
5742// Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
5743// in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
5744// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
5745// in the Amazon Virtual Private Cloud User Guide.
5746//
5747// When you create a security group, you specify a friendly name of your choice.
5748// You can have a security group for use in EC2-Classic with the same name as
5749// a security group for use in a VPC. However, you can't have two security groups
5750// for use in EC2-Classic with the same name or two security groups for use
5751// in a VPC with the same name.
5752//
5753// You have a default security group for use in EC2-Classic and a default security
5754// group for use in your VPC. If you don't specify a security group when you
5755// launch an instance, the instance is launched into the appropriate default
5756// security group. A default security group includes a default rule that grants
5757// instances unrestricted network access to each other.
5758//
5759// You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
5760// AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
5761//
5762// For more information about VPC security group limits, see Amazon VPC Limits
5763// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
5764//
5765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5766// with awserr.Error's Code and Message methods to get detailed information about
5767// the error.
5768//
5769// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5770// API operation CreateSecurityGroup for usage and error information.
5771// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
5772func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
5773	req, out := c.CreateSecurityGroupRequest(input)
5774	return out, req.Send()
5775}
5776
5777// CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
5778// the ability to pass a context and additional request options.
5779//
5780// See CreateSecurityGroup for details on how to use this API operation.
5781//
5782// The context must be non-nil and will be used for request cancellation. If
5783// the context is nil a panic will occur. In the future the SDK may create
5784// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5785// for more information on using Contexts.
5786func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
5787	req, out := c.CreateSecurityGroupRequest(input)
5788	req.SetContext(ctx)
5789	req.ApplyOptions(opts...)
5790	return out, req.Send()
5791}
5792
5793const opCreateSnapshot = "CreateSnapshot"
5794
5795// CreateSnapshotRequest generates a "aws/request.Request" representing the
5796// client's request for the CreateSnapshot operation. The "output" return
5797// value will be populated with the request's response once the request completes
5798// successfully.
5799//
5800// Use "Send" method on the returned Request to send the API call to the service.
5801// the "output" return value is not valid until after Send returns without error.
5802//
5803// See CreateSnapshot for more information on using the CreateSnapshot
5804// API call, and error handling.
5805//
5806// This method is useful when you want to inject custom logic or configuration
5807// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5808//
5809//
5810//    // Example sending a request using the CreateSnapshotRequest method.
5811//    req, resp := client.CreateSnapshotRequest(params)
5812//
5813//    err := req.Send()
5814//    if err == nil { // resp is now filled
5815//        fmt.Println(resp)
5816//    }
5817//
5818// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
5819func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
5820	op := &request.Operation{
5821		Name:       opCreateSnapshot,
5822		HTTPMethod: "POST",
5823		HTTPPath:   "/",
5824	}
5825
5826	if input == nil {
5827		input = &CreateSnapshotInput{}
5828	}
5829
5830	output = &Snapshot{}
5831	req = c.newRequest(op, input, output)
5832	return
5833}
5834
5835// CreateSnapshot API operation for Amazon Elastic Compute Cloud.
5836//
5837// Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
5838// snapshots for backups, to make copies of EBS volumes, and to save data before
5839// shutting down an instance.
5840//
5841// When a snapshot is created, any AWS Marketplace product codes that are associated
5842// with the source volume are propagated to the snapshot.
5843//
5844// You can take a snapshot of an attached volume that is in use. However, snapshots
5845// only capture data that has been written to your EBS volume at the time the
5846// snapshot command is issued; this may exclude any data that has been cached
5847// by any applications or the operating system. If you can pause any file systems
5848// on the volume long enough to take a snapshot, your snapshot should be complete.
5849// However, if you cannot pause all file writes to the volume, you should unmount
5850// the volume from within the instance, issue the snapshot command, and then
5851// remount the volume to ensure a consistent and complete snapshot. You may
5852// remount and use your volume while the snapshot status is pending.
5853//
5854// To create a snapshot for EBS volumes that serve as root devices, you should
5855// stop the instance before taking the snapshot.
5856//
5857// Snapshots that are taken from encrypted volumes are automatically encrypted.
5858// Volumes that are created from encrypted snapshots are also automatically
5859// encrypted. Your encrypted volumes and any associated snapshots always remain
5860// protected.
5861//
5862// You can tag your snapshots during creation. For more information, see Tagging
5863// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
5864// in the Amazon Elastic Compute Cloud User Guide.
5865//
5866// For more information, see Amazon Elastic Block Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
5867// and Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
5868// in the Amazon Elastic Compute Cloud User Guide.
5869//
5870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5871// with awserr.Error's Code and Message methods to get detailed information about
5872// the error.
5873//
5874// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5875// API operation CreateSnapshot for usage and error information.
5876// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
5877func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
5878	req, out := c.CreateSnapshotRequest(input)
5879	return out, req.Send()
5880}
5881
5882// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
5883// the ability to pass a context and additional request options.
5884//
5885// See CreateSnapshot for details on how to use this API operation.
5886//
5887// The context must be non-nil and will be used for request cancellation. If
5888// the context is nil a panic will occur. In the future the SDK may create
5889// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5890// for more information on using Contexts.
5891func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
5892	req, out := c.CreateSnapshotRequest(input)
5893	req.SetContext(ctx)
5894	req.ApplyOptions(opts...)
5895	return out, req.Send()
5896}
5897
5898const opCreateSnapshots = "CreateSnapshots"
5899
5900// CreateSnapshotsRequest generates a "aws/request.Request" representing the
5901// client's request for the CreateSnapshots operation. The "output" return
5902// value will be populated with the request's response once the request completes
5903// successfully.
5904//
5905// Use "Send" method on the returned Request to send the API call to the service.
5906// the "output" return value is not valid until after Send returns without error.
5907//
5908// See CreateSnapshots for more information on using the CreateSnapshots
5909// API call, and error handling.
5910//
5911// This method is useful when you want to inject custom logic or configuration
5912// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5913//
5914//
5915//    // Example sending a request using the CreateSnapshotsRequest method.
5916//    req, resp := client.CreateSnapshotsRequest(params)
5917//
5918//    err := req.Send()
5919//    if err == nil { // resp is now filled
5920//        fmt.Println(resp)
5921//    }
5922//
5923// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots
5924func (c *EC2) CreateSnapshotsRequest(input *CreateSnapshotsInput) (req *request.Request, output *CreateSnapshotsOutput) {
5925	op := &request.Operation{
5926		Name:       opCreateSnapshots,
5927		HTTPMethod: "POST",
5928		HTTPPath:   "/",
5929	}
5930
5931	if input == nil {
5932		input = &CreateSnapshotsInput{}
5933	}
5934
5935	output = &CreateSnapshotsOutput{}
5936	req = c.newRequest(op, input, output)
5937	return
5938}
5939
5940// CreateSnapshots API operation for Amazon Elastic Compute Cloud.
5941//
5942// Creates crash-consistent snapshots of multiple EBS volumes and stores the
5943// data in S3. Volumes are chosen by specifying an instance. Any attached volumes
5944// will produce one snapshot each that is crash-consistent across the instance.
5945// Boot volumes can be excluded by changing the parameters.
5946//
5947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5948// with awserr.Error's Code and Message methods to get detailed information about
5949// the error.
5950//
5951// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5952// API operation CreateSnapshots for usage and error information.
5953// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots
5954func (c *EC2) CreateSnapshots(input *CreateSnapshotsInput) (*CreateSnapshotsOutput, error) {
5955	req, out := c.CreateSnapshotsRequest(input)
5956	return out, req.Send()
5957}
5958
5959// CreateSnapshotsWithContext is the same as CreateSnapshots with the addition of
5960// the ability to pass a context and additional request options.
5961//
5962// See CreateSnapshots for details on how to use this API operation.
5963//
5964// The context must be non-nil and will be used for request cancellation. If
5965// the context is nil a panic will occur. In the future the SDK may create
5966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5967// for more information on using Contexts.
5968func (c *EC2) CreateSnapshotsWithContext(ctx aws.Context, input *CreateSnapshotsInput, opts ...request.Option) (*CreateSnapshotsOutput, error) {
5969	req, out := c.CreateSnapshotsRequest(input)
5970	req.SetContext(ctx)
5971	req.ApplyOptions(opts...)
5972	return out, req.Send()
5973}
5974
5975const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
5976
5977// CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
5978// client's request for the CreateSpotDatafeedSubscription operation. The "output" return
5979// value will be populated with the request's response once the request completes
5980// successfully.
5981//
5982// Use "Send" method on the returned Request to send the API call to the service.
5983// the "output" return value is not valid until after Send returns without error.
5984//
5985// See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
5986// API call, and error handling.
5987//
5988// This method is useful when you want to inject custom logic or configuration
5989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5990//
5991//
5992//    // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
5993//    req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
5994//
5995//    err := req.Send()
5996//    if err == nil { // resp is now filled
5997//        fmt.Println(resp)
5998//    }
5999//
6000// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
6001func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
6002	op := &request.Operation{
6003		Name:       opCreateSpotDatafeedSubscription,
6004		HTTPMethod: "POST",
6005		HTTPPath:   "/",
6006	}
6007
6008	if input == nil {
6009		input = &CreateSpotDatafeedSubscriptionInput{}
6010	}
6011
6012	output = &CreateSpotDatafeedSubscriptionOutput{}
6013	req = c.newRequest(op, input, output)
6014	return
6015}
6016
6017// CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
6018//
6019// Creates a data feed for Spot Instances, enabling you to view Spot Instance
6020// usage logs. You can create one data feed per AWS account. For more information,
6021// see Spot Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
6022// in the Amazon EC2 User Guide for Linux Instances.
6023//
6024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6025// with awserr.Error's Code and Message methods to get detailed information about
6026// the error.
6027//
6028// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6029// API operation CreateSpotDatafeedSubscription for usage and error information.
6030// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
6031func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
6032	req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
6033	return out, req.Send()
6034}
6035
6036// CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
6037// the ability to pass a context and additional request options.
6038//
6039// See CreateSpotDatafeedSubscription for details on how to use this API operation.
6040//
6041// The context must be non-nil and will be used for request cancellation. If
6042// the context is nil a panic will occur. In the future the SDK may create
6043// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6044// for more information on using Contexts.
6045func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
6046	req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
6047	req.SetContext(ctx)
6048	req.ApplyOptions(opts...)
6049	return out, req.Send()
6050}
6051
6052const opCreateSubnet = "CreateSubnet"
6053
6054// CreateSubnetRequest generates a "aws/request.Request" representing the
6055// client's request for the CreateSubnet operation. The "output" return
6056// value will be populated with the request's response once the request completes
6057// successfully.
6058//
6059// Use "Send" method on the returned Request to send the API call to the service.
6060// the "output" return value is not valid until after Send returns without error.
6061//
6062// See CreateSubnet for more information on using the CreateSubnet
6063// API call, and error handling.
6064//
6065// This method is useful when you want to inject custom logic or configuration
6066// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6067//
6068//
6069//    // Example sending a request using the CreateSubnetRequest method.
6070//    req, resp := client.CreateSubnetRequest(params)
6071//
6072//    err := req.Send()
6073//    if err == nil { // resp is now filled
6074//        fmt.Println(resp)
6075//    }
6076//
6077// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
6078func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
6079	op := &request.Operation{
6080		Name:       opCreateSubnet,
6081		HTTPMethod: "POST",
6082		HTTPPath:   "/",
6083	}
6084
6085	if input == nil {
6086		input = &CreateSubnetInput{}
6087	}
6088
6089	output = &CreateSubnetOutput{}
6090	req = c.newRequest(op, input, output)
6091	return
6092}
6093
6094// CreateSubnet API operation for Amazon Elastic Compute Cloud.
6095//
6096// Creates a subnet in an existing VPC.
6097//
6098// When you create each subnet, you provide the VPC ID and IPv4 CIDR block for
6099// the subnet. After you create a subnet, you can't change its CIDR block. The
6100// size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR
6101// block, or a subset of a VPC's IPv4 CIDR block. If you create more than one
6102// subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest
6103// IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses),
6104// and the largest uses a /16 netmask (65,536 IPv4 addresses).
6105//
6106// If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
6107// with an IPv6 CIDR block that uses a /64 prefix length.
6108//
6109// AWS reserves both the first four and the last IPv4 address in each subnet's
6110// CIDR block. They're not available for use.
6111//
6112// If you add more than one subnet to a VPC, they're set up in a star topology
6113// with a logical router in the middle.
6114//
6115// If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
6116// address doesn't change if you stop and restart the instance (unlike a similar
6117// instance launched outside a VPC, which gets a new IP address when restarted).
6118// It's therefore possible to have a subnet with no running instances (they're
6119// all stopped), but no remaining IP addresses available.
6120//
6121// For more information about subnets, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
6122// in the Amazon Virtual Private Cloud User Guide.
6123//
6124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6125// with awserr.Error's Code and Message methods to get detailed information about
6126// the error.
6127//
6128// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6129// API operation CreateSubnet for usage and error information.
6130// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
6131func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
6132	req, out := c.CreateSubnetRequest(input)
6133	return out, req.Send()
6134}
6135
6136// CreateSubnetWithContext is the same as CreateSubnet with the addition of
6137// the ability to pass a context and additional request options.
6138//
6139// See CreateSubnet for details on how to use this API operation.
6140//
6141// The context must be non-nil and will be used for request cancellation. If
6142// the context is nil a panic will occur. In the future the SDK may create
6143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6144// for more information on using Contexts.
6145func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
6146	req, out := c.CreateSubnetRequest(input)
6147	req.SetContext(ctx)
6148	req.ApplyOptions(opts...)
6149	return out, req.Send()
6150}
6151
6152const opCreateTags = "CreateTags"
6153
6154// CreateTagsRequest generates a "aws/request.Request" representing the
6155// client's request for the CreateTags operation. The "output" return
6156// value will be populated with the request's response once the request completes
6157// successfully.
6158//
6159// Use "Send" method on the returned Request to send the API call to the service.
6160// the "output" return value is not valid until after Send returns without error.
6161//
6162// See CreateTags for more information on using the CreateTags
6163// API call, and error handling.
6164//
6165// This method is useful when you want to inject custom logic or configuration
6166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6167//
6168//
6169//    // Example sending a request using the CreateTagsRequest method.
6170//    req, resp := client.CreateTagsRequest(params)
6171//
6172//    err := req.Send()
6173//    if err == nil { // resp is now filled
6174//        fmt.Println(resp)
6175//    }
6176//
6177// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
6178func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
6179	op := &request.Operation{
6180		Name:       opCreateTags,
6181		HTTPMethod: "POST",
6182		HTTPPath:   "/",
6183	}
6184
6185	if input == nil {
6186		input = &CreateTagsInput{}
6187	}
6188
6189	output = &CreateTagsOutput{}
6190	req = c.newRequest(op, input, output)
6191	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6192	return
6193}
6194
6195// CreateTags API operation for Amazon Elastic Compute Cloud.
6196//
6197// Adds or overwrites the specified tags for the specified Amazon EC2 resource
6198// or resources. Each resource can have a maximum of 50 tags. Each tag consists
6199// of a key and optional value. Tag keys must be unique per resource.
6200//
6201// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
6202// in the Amazon Elastic Compute Cloud User Guide. For more information about
6203// creating IAM policies that control users' access to resources based on tags,
6204// see Supported Resource-Level Permissions for Amazon EC2 API Actions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
6205// in the Amazon Elastic Compute Cloud User Guide.
6206//
6207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6208// with awserr.Error's Code and Message methods to get detailed information about
6209// the error.
6210//
6211// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6212// API operation CreateTags for usage and error information.
6213// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
6214func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
6215	req, out := c.CreateTagsRequest(input)
6216	return out, req.Send()
6217}
6218
6219// CreateTagsWithContext is the same as CreateTags with the addition of
6220// the ability to pass a context and additional request options.
6221//
6222// See CreateTags for details on how to use this API operation.
6223//
6224// The context must be non-nil and will be used for request cancellation. If
6225// the context is nil a panic will occur. In the future the SDK may create
6226// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6227// for more information on using Contexts.
6228func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
6229	req, out := c.CreateTagsRequest(input)
6230	req.SetContext(ctx)
6231	req.ApplyOptions(opts...)
6232	return out, req.Send()
6233}
6234
6235const opCreateTrafficMirrorFilter = "CreateTrafficMirrorFilter"
6236
6237// CreateTrafficMirrorFilterRequest generates a "aws/request.Request" representing the
6238// client's request for the CreateTrafficMirrorFilter operation. The "output" return
6239// value will be populated with the request's response once the request completes
6240// successfully.
6241//
6242// Use "Send" method on the returned Request to send the API call to the service.
6243// the "output" return value is not valid until after Send returns without error.
6244//
6245// See CreateTrafficMirrorFilter for more information on using the CreateTrafficMirrorFilter
6246// API call, and error handling.
6247//
6248// This method is useful when you want to inject custom logic or configuration
6249// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6250//
6251//
6252//    // Example sending a request using the CreateTrafficMirrorFilterRequest method.
6253//    req, resp := client.CreateTrafficMirrorFilterRequest(params)
6254//
6255//    err := req.Send()
6256//    if err == nil { // resp is now filled
6257//        fmt.Println(resp)
6258//    }
6259//
6260// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter
6261func (c *EC2) CreateTrafficMirrorFilterRequest(input *CreateTrafficMirrorFilterInput) (req *request.Request, output *CreateTrafficMirrorFilterOutput) {
6262	op := &request.Operation{
6263		Name:       opCreateTrafficMirrorFilter,
6264		HTTPMethod: "POST",
6265		HTTPPath:   "/",
6266	}
6267
6268	if input == nil {
6269		input = &CreateTrafficMirrorFilterInput{}
6270	}
6271
6272	output = &CreateTrafficMirrorFilterOutput{}
6273	req = c.newRequest(op, input, output)
6274	return
6275}
6276
6277// CreateTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud.
6278//
6279// Creates a Traffic Mirror filter.
6280//
6281// A Traffic Mirror filter is a set of rules that defines the traffic to mirror.
6282//
6283// By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule
6284// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilterRule.htm)
6285// to add Traffic Mirror rules to the filter. The rules you add define what
6286// traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices
6287// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTrafficMirrorFilterNetworkServices.html)
6288// to mirror supported network services.
6289//
6290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6291// with awserr.Error's Code and Message methods to get detailed information about
6292// the error.
6293//
6294// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6295// API operation CreateTrafficMirrorFilter for usage and error information.
6296// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter
6297func (c *EC2) CreateTrafficMirrorFilter(input *CreateTrafficMirrorFilterInput) (*CreateTrafficMirrorFilterOutput, error) {
6298	req, out := c.CreateTrafficMirrorFilterRequest(input)
6299	return out, req.Send()
6300}
6301
6302// CreateTrafficMirrorFilterWithContext is the same as CreateTrafficMirrorFilter with the addition of
6303// the ability to pass a context and additional request options.
6304//
6305// See CreateTrafficMirrorFilter for details on how to use this API operation.
6306//
6307// The context must be non-nil and will be used for request cancellation. If
6308// the context is nil a panic will occur. In the future the SDK may create
6309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6310// for more information on using Contexts.
6311func (c *EC2) CreateTrafficMirrorFilterWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterInput, opts ...request.Option) (*CreateTrafficMirrorFilterOutput, error) {
6312	req, out := c.CreateTrafficMirrorFilterRequest(input)
6313	req.SetContext(ctx)
6314	req.ApplyOptions(opts...)
6315	return out, req.Send()
6316}
6317
6318const opCreateTrafficMirrorFilterRule = "CreateTrafficMirrorFilterRule"
6319
6320// CreateTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
6321// client's request for the CreateTrafficMirrorFilterRule operation. The "output" return
6322// value will be populated with the request's response once the request completes
6323// successfully.
6324//
6325// Use "Send" method on the returned Request to send the API call to the service.
6326// the "output" return value is not valid until after Send returns without error.
6327//
6328// See CreateTrafficMirrorFilterRule for more information on using the CreateTrafficMirrorFilterRule
6329// API call, and error handling.
6330//
6331// This method is useful when you want to inject custom logic or configuration
6332// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6333//
6334//
6335//    // Example sending a request using the CreateTrafficMirrorFilterRuleRequest method.
6336//    req, resp := client.CreateTrafficMirrorFilterRuleRequest(params)
6337//
6338//    err := req.Send()
6339//    if err == nil { // resp is now filled
6340//        fmt.Println(resp)
6341//    }
6342//
6343// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule
6344func (c *EC2) CreateTrafficMirrorFilterRuleRequest(input *CreateTrafficMirrorFilterRuleInput) (req *request.Request, output *CreateTrafficMirrorFilterRuleOutput) {
6345	op := &request.Operation{
6346		Name:       opCreateTrafficMirrorFilterRule,
6347		HTTPMethod: "POST",
6348		HTTPPath:   "/",
6349	}
6350
6351	if input == nil {
6352		input = &CreateTrafficMirrorFilterRuleInput{}
6353	}
6354
6355	output = &CreateTrafficMirrorFilterRuleOutput{}
6356	req = c.newRequest(op, input, output)
6357	return
6358}
6359
6360// CreateTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
6361//
6362// Creates a Traffic Mirror filter rule.
6363//
6364// A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.
6365//
6366// You need the Traffic Mirror filter ID when you create the rule.
6367//
6368// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6369// with awserr.Error's Code and Message methods to get detailed information about
6370// the error.
6371//
6372// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6373// API operation CreateTrafficMirrorFilterRule for usage and error information.
6374// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule
6375func (c *EC2) CreateTrafficMirrorFilterRule(input *CreateTrafficMirrorFilterRuleInput) (*CreateTrafficMirrorFilterRuleOutput, error) {
6376	req, out := c.CreateTrafficMirrorFilterRuleRequest(input)
6377	return out, req.Send()
6378}
6379
6380// CreateTrafficMirrorFilterRuleWithContext is the same as CreateTrafficMirrorFilterRule with the addition of
6381// the ability to pass a context and additional request options.
6382//
6383// See CreateTrafficMirrorFilterRule for details on how to use this API operation.
6384//
6385// The context must be non-nil and will be used for request cancellation. If
6386// the context is nil a panic will occur. In the future the SDK may create
6387// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6388// for more information on using Contexts.
6389func (c *EC2) CreateTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterRuleInput, opts ...request.Option) (*CreateTrafficMirrorFilterRuleOutput, error) {
6390	req, out := c.CreateTrafficMirrorFilterRuleRequest(input)
6391	req.SetContext(ctx)
6392	req.ApplyOptions(opts...)
6393	return out, req.Send()
6394}
6395
6396const opCreateTrafficMirrorSession = "CreateTrafficMirrorSession"
6397
6398// CreateTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
6399// client's request for the CreateTrafficMirrorSession operation. The "output" return
6400// value will be populated with the request's response once the request completes
6401// successfully.
6402//
6403// Use "Send" method on the returned Request to send the API call to the service.
6404// the "output" return value is not valid until after Send returns without error.
6405//
6406// See CreateTrafficMirrorSession for more information on using the CreateTrafficMirrorSession
6407// API call, and error handling.
6408//
6409// This method is useful when you want to inject custom logic or configuration
6410// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6411//
6412//
6413//    // Example sending a request using the CreateTrafficMirrorSessionRequest method.
6414//    req, resp := client.CreateTrafficMirrorSessionRequest(params)
6415//
6416//    err := req.Send()
6417//    if err == nil { // resp is now filled
6418//        fmt.Println(resp)
6419//    }
6420//
6421// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession
6422func (c *EC2) CreateTrafficMirrorSessionRequest(input *CreateTrafficMirrorSessionInput) (req *request.Request, output *CreateTrafficMirrorSessionOutput) {
6423	op := &request.Operation{
6424		Name:       opCreateTrafficMirrorSession,
6425		HTTPMethod: "POST",
6426		HTTPPath:   "/",
6427	}
6428
6429	if input == nil {
6430		input = &CreateTrafficMirrorSessionInput{}
6431	}
6432
6433	output = &CreateTrafficMirrorSessionOutput{}
6434	req = c.newRequest(op, input, output)
6435	return
6436}
6437
6438// CreateTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
6439//
6440// Creates a Traffic Mirror session.
6441//
6442// A Traffic Mirror session actively copies packets from a Traffic Mirror source
6443// to a Traffic Mirror target. Create a filter, and then assign it to the session
6444// to define a subset of the traffic to mirror, for example all TCP traffic.
6445//
6446// The Traffic Mirror source and the Traffic Mirror target (monitoring appliances)
6447// can be in the same VPC, or in a different VPC connected via VPC peering or
6448// a transit gateway.
6449//
6450// By default, no traffic is mirrored. Use CreateTrafficMirrorFilter (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilter.htm)
6451// to create filter rules that specify the traffic to mirror.
6452//
6453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6454// with awserr.Error's Code and Message methods to get detailed information about
6455// the error.
6456//
6457// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6458// API operation CreateTrafficMirrorSession for usage and error information.
6459// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession
6460func (c *EC2) CreateTrafficMirrorSession(input *CreateTrafficMirrorSessionInput) (*CreateTrafficMirrorSessionOutput, error) {
6461	req, out := c.CreateTrafficMirrorSessionRequest(input)
6462	return out, req.Send()
6463}
6464
6465// CreateTrafficMirrorSessionWithContext is the same as CreateTrafficMirrorSession with the addition of
6466// the ability to pass a context and additional request options.
6467//
6468// See CreateTrafficMirrorSession for details on how to use this API operation.
6469//
6470// The context must be non-nil and will be used for request cancellation. If
6471// the context is nil a panic will occur. In the future the SDK may create
6472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6473// for more information on using Contexts.
6474func (c *EC2) CreateTrafficMirrorSessionWithContext(ctx aws.Context, input *CreateTrafficMirrorSessionInput, opts ...request.Option) (*CreateTrafficMirrorSessionOutput, error) {
6475	req, out := c.CreateTrafficMirrorSessionRequest(input)
6476	req.SetContext(ctx)
6477	req.ApplyOptions(opts...)
6478	return out, req.Send()
6479}
6480
6481const opCreateTrafficMirrorTarget = "CreateTrafficMirrorTarget"
6482
6483// CreateTrafficMirrorTargetRequest generates a "aws/request.Request" representing the
6484// client's request for the CreateTrafficMirrorTarget operation. The "output" return
6485// value will be populated with the request's response once the request completes
6486// successfully.
6487//
6488// Use "Send" method on the returned Request to send the API call to the service.
6489// the "output" return value is not valid until after Send returns without error.
6490//
6491// See CreateTrafficMirrorTarget for more information on using the CreateTrafficMirrorTarget
6492// API call, and error handling.
6493//
6494// This method is useful when you want to inject custom logic or configuration
6495// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6496//
6497//
6498//    // Example sending a request using the CreateTrafficMirrorTargetRequest method.
6499//    req, resp := client.CreateTrafficMirrorTargetRequest(params)
6500//
6501//    err := req.Send()
6502//    if err == nil { // resp is now filled
6503//        fmt.Println(resp)
6504//    }
6505//
6506// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget
6507func (c *EC2) CreateTrafficMirrorTargetRequest(input *CreateTrafficMirrorTargetInput) (req *request.Request, output *CreateTrafficMirrorTargetOutput) {
6508	op := &request.Operation{
6509		Name:       opCreateTrafficMirrorTarget,
6510		HTTPMethod: "POST",
6511		HTTPPath:   "/",
6512	}
6513
6514	if input == nil {
6515		input = &CreateTrafficMirrorTargetInput{}
6516	}
6517
6518	output = &CreateTrafficMirrorTargetOutput{}
6519	req = c.newRequest(op, input, output)
6520	return
6521}
6522
6523// CreateTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud.
6524//
6525// Creates a target for your Traffic Mirror session.
6526//
6527// A Traffic Mirror target is the destination for mirrored traffic. The Traffic
6528// Mirror source and the Traffic Mirror target (monitoring appliances) can be
6529// in the same VPC, or in different VPCs connected via VPC peering or a transit
6530// gateway.
6531//
6532// A Traffic Mirror target can be a network interface, or a Network Load Balancer.
6533//
6534// To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession
6535// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorSession.htm).
6536//
6537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6538// with awserr.Error's Code and Message methods to get detailed information about
6539// the error.
6540//
6541// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6542// API operation CreateTrafficMirrorTarget for usage and error information.
6543// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget
6544func (c *EC2) CreateTrafficMirrorTarget(input *CreateTrafficMirrorTargetInput) (*CreateTrafficMirrorTargetOutput, error) {
6545	req, out := c.CreateTrafficMirrorTargetRequest(input)
6546	return out, req.Send()
6547}
6548
6549// CreateTrafficMirrorTargetWithContext is the same as CreateTrafficMirrorTarget with the addition of
6550// the ability to pass a context and additional request options.
6551//
6552// See CreateTrafficMirrorTarget for details on how to use this API operation.
6553//
6554// The context must be non-nil and will be used for request cancellation. If
6555// the context is nil a panic will occur. In the future the SDK may create
6556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6557// for more information on using Contexts.
6558func (c *EC2) CreateTrafficMirrorTargetWithContext(ctx aws.Context, input *CreateTrafficMirrorTargetInput, opts ...request.Option) (*CreateTrafficMirrorTargetOutput, error) {
6559	req, out := c.CreateTrafficMirrorTargetRequest(input)
6560	req.SetContext(ctx)
6561	req.ApplyOptions(opts...)
6562	return out, req.Send()
6563}
6564
6565const opCreateTransitGateway = "CreateTransitGateway"
6566
6567// CreateTransitGatewayRequest generates a "aws/request.Request" representing the
6568// client's request for the CreateTransitGateway operation. The "output" return
6569// value will be populated with the request's response once the request completes
6570// successfully.
6571//
6572// Use "Send" method on the returned Request to send the API call to the service.
6573// the "output" return value is not valid until after Send returns without error.
6574//
6575// See CreateTransitGateway for more information on using the CreateTransitGateway
6576// API call, and error handling.
6577//
6578// This method is useful when you want to inject custom logic or configuration
6579// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6580//
6581//
6582//    // Example sending a request using the CreateTransitGatewayRequest method.
6583//    req, resp := client.CreateTransitGatewayRequest(params)
6584//
6585//    err := req.Send()
6586//    if err == nil { // resp is now filled
6587//        fmt.Println(resp)
6588//    }
6589//
6590// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
6591func (c *EC2) CreateTransitGatewayRequest(input *CreateTransitGatewayInput) (req *request.Request, output *CreateTransitGatewayOutput) {
6592	op := &request.Operation{
6593		Name:       opCreateTransitGateway,
6594		HTTPMethod: "POST",
6595		HTTPPath:   "/",
6596	}
6597
6598	if input == nil {
6599		input = &CreateTransitGatewayInput{}
6600	}
6601
6602	output = &CreateTransitGatewayOutput{}
6603	req = c.newRequest(op, input, output)
6604	return
6605}
6606
6607// CreateTransitGateway API operation for Amazon Elastic Compute Cloud.
6608//
6609// Creates a transit gateway.
6610//
6611// You can use a transit gateway to interconnect your virtual private clouds
6612// (VPC) and on-premises networks. After the transit gateway enters the available
6613// state, you can attach your VPCs and VPN connections to the transit gateway.
6614//
6615// To attach your VPCs, use CreateTransitGatewayVpcAttachment.
6616//
6617// To attach a VPN connection, use CreateCustomerGateway to create a customer
6618// gateway and specify the ID of the customer gateway and the ID of the transit
6619// gateway in a call to CreateVpnConnection.
6620//
6621// When you create a transit gateway, we create a default transit gateway route
6622// table and use it as the default association route table and the default propagation
6623// route table. You can use CreateTransitGatewayRouteTable to create additional
6624// transit gateway route tables. If you disable automatic route propagation,
6625// we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation
6626// to propagate routes from a resource attachment to a transit gateway route
6627// table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable
6628// to associate a resource attachment with a transit gateway route table.
6629//
6630// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6631// with awserr.Error's Code and Message methods to get detailed information about
6632// the error.
6633//
6634// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6635// API operation CreateTransitGateway for usage and error information.
6636// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
6637func (c *EC2) CreateTransitGateway(input *CreateTransitGatewayInput) (*CreateTransitGatewayOutput, error) {
6638	req, out := c.CreateTransitGatewayRequest(input)
6639	return out, req.Send()
6640}
6641
6642// CreateTransitGatewayWithContext is the same as CreateTransitGateway with the addition of
6643// the ability to pass a context and additional request options.
6644//
6645// See CreateTransitGateway for details on how to use this API operation.
6646//
6647// The context must be non-nil and will be used for request cancellation. If
6648// the context is nil a panic will occur. In the future the SDK may create
6649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6650// for more information on using Contexts.
6651func (c *EC2) CreateTransitGatewayWithContext(ctx aws.Context, input *CreateTransitGatewayInput, opts ...request.Option) (*CreateTransitGatewayOutput, error) {
6652	req, out := c.CreateTransitGatewayRequest(input)
6653	req.SetContext(ctx)
6654	req.ApplyOptions(opts...)
6655	return out, req.Send()
6656}
6657
6658const opCreateTransitGatewayMulticastDomain = "CreateTransitGatewayMulticastDomain"
6659
6660// CreateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
6661// client's request for the CreateTransitGatewayMulticastDomain operation. The "output" return
6662// value will be populated with the request's response once the request completes
6663// successfully.
6664//
6665// Use "Send" method on the returned Request to send the API call to the service.
6666// the "output" return value is not valid until after Send returns without error.
6667//
6668// See CreateTransitGatewayMulticastDomain for more information on using the CreateTransitGatewayMulticastDomain
6669// API call, and error handling.
6670//
6671// This method is useful when you want to inject custom logic or configuration
6672// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6673//
6674//
6675//    // Example sending a request using the CreateTransitGatewayMulticastDomainRequest method.
6676//    req, resp := client.CreateTransitGatewayMulticastDomainRequest(params)
6677//
6678//    err := req.Send()
6679//    if err == nil { // resp is now filled
6680//        fmt.Println(resp)
6681//    }
6682//
6683// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
6684func (c *EC2) CreateTransitGatewayMulticastDomainRequest(input *CreateTransitGatewayMulticastDomainInput) (req *request.Request, output *CreateTransitGatewayMulticastDomainOutput) {
6685	op := &request.Operation{
6686		Name:       opCreateTransitGatewayMulticastDomain,
6687		HTTPMethod: "POST",
6688		HTTPPath:   "/",
6689	}
6690
6691	if input == nil {
6692		input = &CreateTransitGatewayMulticastDomainInput{}
6693	}
6694
6695	output = &CreateTransitGatewayMulticastDomainOutput{}
6696	req = c.newRequest(op, input, output)
6697	return
6698}
6699
6700// CreateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
6701//
6702// Creates a multicast domain using the specified transit gateway.
6703//
6704// The transit gateway must be in the available state before you create a domain.
6705// Use DescribeTransitGateways (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html)
6706// to see the state of transit gateway.
6707//
6708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6709// with awserr.Error's Code and Message methods to get detailed information about
6710// the error.
6711//
6712// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6713// API operation CreateTransitGatewayMulticastDomain for usage and error information.
6714// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
6715func (c *EC2) CreateTransitGatewayMulticastDomain(input *CreateTransitGatewayMulticastDomainInput) (*CreateTransitGatewayMulticastDomainOutput, error) {
6716	req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
6717	return out, req.Send()
6718}
6719
6720// CreateTransitGatewayMulticastDomainWithContext is the same as CreateTransitGatewayMulticastDomain with the addition of
6721// the ability to pass a context and additional request options.
6722//
6723// See CreateTransitGatewayMulticastDomain for details on how to use this API operation.
6724//
6725// The context must be non-nil and will be used for request cancellation. If
6726// the context is nil a panic will occur. In the future the SDK may create
6727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6728// for more information on using Contexts.
6729func (c *EC2) CreateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *CreateTransitGatewayMulticastDomainInput, opts ...request.Option) (*CreateTransitGatewayMulticastDomainOutput, error) {
6730	req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
6731	req.SetContext(ctx)
6732	req.ApplyOptions(opts...)
6733	return out, req.Send()
6734}
6735
6736const opCreateTransitGatewayPeeringAttachment = "CreateTransitGatewayPeeringAttachment"
6737
6738// CreateTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
6739// client's request for the CreateTransitGatewayPeeringAttachment operation. The "output" return
6740// value will be populated with the request's response once the request completes
6741// successfully.
6742//
6743// Use "Send" method on the returned Request to send the API call to the service.
6744// the "output" return value is not valid until after Send returns without error.
6745//
6746// See CreateTransitGatewayPeeringAttachment for more information on using the CreateTransitGatewayPeeringAttachment
6747// API call, and error handling.
6748//
6749// This method is useful when you want to inject custom logic or configuration
6750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6751//
6752//
6753//    // Example sending a request using the CreateTransitGatewayPeeringAttachmentRequest method.
6754//    req, resp := client.CreateTransitGatewayPeeringAttachmentRequest(params)
6755//
6756//    err := req.Send()
6757//    if err == nil { // resp is now filled
6758//        fmt.Println(resp)
6759//    }
6760//
6761// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
6762func (c *EC2) CreateTransitGatewayPeeringAttachmentRequest(input *CreateTransitGatewayPeeringAttachmentInput) (req *request.Request, output *CreateTransitGatewayPeeringAttachmentOutput) {
6763	op := &request.Operation{
6764		Name:       opCreateTransitGatewayPeeringAttachment,
6765		HTTPMethod: "POST",
6766		HTTPPath:   "/",
6767	}
6768
6769	if input == nil {
6770		input = &CreateTransitGatewayPeeringAttachmentInput{}
6771	}
6772
6773	output = &CreateTransitGatewayPeeringAttachmentOutput{}
6774	req = c.newRequest(op, input, output)
6775	return
6776}
6777
6778// CreateTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
6779//
6780// Requests a transit gateway peering attachment between the specified transit
6781// gateway (requester) and a peer transit gateway (accepter). The transit gateways
6782// must be in different Regions. The peer transit gateway can be in your account
6783// or a different AWS account.
6784//
6785// After you create the peering attachment, the owner of the accepter transit
6786// gateway must accept the attachment request.
6787//
6788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6789// with awserr.Error's Code and Message methods to get detailed information about
6790// the error.
6791//
6792// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6793// API operation CreateTransitGatewayPeeringAttachment for usage and error information.
6794// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
6795func (c *EC2) CreateTransitGatewayPeeringAttachment(input *CreateTransitGatewayPeeringAttachmentInput) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
6796	req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
6797	return out, req.Send()
6798}
6799
6800// CreateTransitGatewayPeeringAttachmentWithContext is the same as CreateTransitGatewayPeeringAttachment with the addition of
6801// the ability to pass a context and additional request options.
6802//
6803// See CreateTransitGatewayPeeringAttachment for details on how to use this API operation.
6804//
6805// The context must be non-nil and will be used for request cancellation. If
6806// the context is nil a panic will occur. In the future the SDK may create
6807// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6808// for more information on using Contexts.
6809func (c *EC2) CreateTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
6810	req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
6811	req.SetContext(ctx)
6812	req.ApplyOptions(opts...)
6813	return out, req.Send()
6814}
6815
6816const opCreateTransitGatewayRoute = "CreateTransitGatewayRoute"
6817
6818// CreateTransitGatewayRouteRequest generates a "aws/request.Request" representing the
6819// client's request for the CreateTransitGatewayRoute operation. The "output" return
6820// value will be populated with the request's response once the request completes
6821// successfully.
6822//
6823// Use "Send" method on the returned Request to send the API call to the service.
6824// the "output" return value is not valid until after Send returns without error.
6825//
6826// See CreateTransitGatewayRoute for more information on using the CreateTransitGatewayRoute
6827// API call, and error handling.
6828//
6829// This method is useful when you want to inject custom logic or configuration
6830// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6831//
6832//
6833//    // Example sending a request using the CreateTransitGatewayRouteRequest method.
6834//    req, resp := client.CreateTransitGatewayRouteRequest(params)
6835//
6836//    err := req.Send()
6837//    if err == nil { // resp is now filled
6838//        fmt.Println(resp)
6839//    }
6840//
6841// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
6842func (c *EC2) CreateTransitGatewayRouteRequest(input *CreateTransitGatewayRouteInput) (req *request.Request, output *CreateTransitGatewayRouteOutput) {
6843	op := &request.Operation{
6844		Name:       opCreateTransitGatewayRoute,
6845		HTTPMethod: "POST",
6846		HTTPPath:   "/",
6847	}
6848
6849	if input == nil {
6850		input = &CreateTransitGatewayRouteInput{}
6851	}
6852
6853	output = &CreateTransitGatewayRouteOutput{}
6854	req = c.newRequest(op, input, output)
6855	return
6856}
6857
6858// CreateTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
6859//
6860// Creates a static route for the specified transit gateway route table.
6861//
6862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6863// with awserr.Error's Code and Message methods to get detailed information about
6864// the error.
6865//
6866// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6867// API operation CreateTransitGatewayRoute for usage and error information.
6868// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
6869func (c *EC2) CreateTransitGatewayRoute(input *CreateTransitGatewayRouteInput) (*CreateTransitGatewayRouteOutput, error) {
6870	req, out := c.CreateTransitGatewayRouteRequest(input)
6871	return out, req.Send()
6872}
6873
6874// CreateTransitGatewayRouteWithContext is the same as CreateTransitGatewayRoute with the addition of
6875// the ability to pass a context and additional request options.
6876//
6877// See CreateTransitGatewayRoute for details on how to use this API operation.
6878//
6879// The context must be non-nil and will be used for request cancellation. If
6880// the context is nil a panic will occur. In the future the SDK may create
6881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6882// for more information on using Contexts.
6883func (c *EC2) CreateTransitGatewayRouteWithContext(ctx aws.Context, input *CreateTransitGatewayRouteInput, opts ...request.Option) (*CreateTransitGatewayRouteOutput, error) {
6884	req, out := c.CreateTransitGatewayRouteRequest(input)
6885	req.SetContext(ctx)
6886	req.ApplyOptions(opts...)
6887	return out, req.Send()
6888}
6889
6890const opCreateTransitGatewayRouteTable = "CreateTransitGatewayRouteTable"
6891
6892// CreateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
6893// client's request for the CreateTransitGatewayRouteTable operation. The "output" return
6894// value will be populated with the request's response once the request completes
6895// successfully.
6896//
6897// Use "Send" method on the returned Request to send the API call to the service.
6898// the "output" return value is not valid until after Send returns without error.
6899//
6900// See CreateTransitGatewayRouteTable for more information on using the CreateTransitGatewayRouteTable
6901// API call, and error handling.
6902//
6903// This method is useful when you want to inject custom logic or configuration
6904// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6905//
6906//
6907//    // Example sending a request using the CreateTransitGatewayRouteTableRequest method.
6908//    req, resp := client.CreateTransitGatewayRouteTableRequest(params)
6909//
6910//    err := req.Send()
6911//    if err == nil { // resp is now filled
6912//        fmt.Println(resp)
6913//    }
6914//
6915// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
6916func (c *EC2) CreateTransitGatewayRouteTableRequest(input *CreateTransitGatewayRouteTableInput) (req *request.Request, output *CreateTransitGatewayRouteTableOutput) {
6917	op := &request.Operation{
6918		Name:       opCreateTransitGatewayRouteTable,
6919		HTTPMethod: "POST",
6920		HTTPPath:   "/",
6921	}
6922
6923	if input == nil {
6924		input = &CreateTransitGatewayRouteTableInput{}
6925	}
6926
6927	output = &CreateTransitGatewayRouteTableOutput{}
6928	req = c.newRequest(op, input, output)
6929	return
6930}
6931
6932// CreateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
6933//
6934// Creates a route table for the specified transit gateway.
6935//
6936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6937// with awserr.Error's Code and Message methods to get detailed information about
6938// the error.
6939//
6940// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6941// API operation CreateTransitGatewayRouteTable for usage and error information.
6942// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
6943func (c *EC2) CreateTransitGatewayRouteTable(input *CreateTransitGatewayRouteTableInput) (*CreateTransitGatewayRouteTableOutput, error) {
6944	req, out := c.CreateTransitGatewayRouteTableRequest(input)
6945	return out, req.Send()
6946}
6947
6948// CreateTransitGatewayRouteTableWithContext is the same as CreateTransitGatewayRouteTable with the addition of
6949// the ability to pass a context and additional request options.
6950//
6951// See CreateTransitGatewayRouteTable for details on how to use this API operation.
6952//
6953// The context must be non-nil and will be used for request cancellation. If
6954// the context is nil a panic will occur. In the future the SDK may create
6955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6956// for more information on using Contexts.
6957func (c *EC2) CreateTransitGatewayRouteTableWithContext(ctx aws.Context, input *CreateTransitGatewayRouteTableInput, opts ...request.Option) (*CreateTransitGatewayRouteTableOutput, error) {
6958	req, out := c.CreateTransitGatewayRouteTableRequest(input)
6959	req.SetContext(ctx)
6960	req.ApplyOptions(opts...)
6961	return out, req.Send()
6962}
6963
6964const opCreateTransitGatewayVpcAttachment = "CreateTransitGatewayVpcAttachment"
6965
6966// CreateTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
6967// client's request for the CreateTransitGatewayVpcAttachment operation. The "output" return
6968// value will be populated with the request's response once the request completes
6969// successfully.
6970//
6971// Use "Send" method on the returned Request to send the API call to the service.
6972// the "output" return value is not valid until after Send returns without error.
6973//
6974// See CreateTransitGatewayVpcAttachment for more information on using the CreateTransitGatewayVpcAttachment
6975// API call, and error handling.
6976//
6977// This method is useful when you want to inject custom logic or configuration
6978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6979//
6980//
6981//    // Example sending a request using the CreateTransitGatewayVpcAttachmentRequest method.
6982//    req, resp := client.CreateTransitGatewayVpcAttachmentRequest(params)
6983//
6984//    err := req.Send()
6985//    if err == nil { // resp is now filled
6986//        fmt.Println(resp)
6987//    }
6988//
6989// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
6990func (c *EC2) CreateTransitGatewayVpcAttachmentRequest(input *CreateTransitGatewayVpcAttachmentInput) (req *request.Request, output *CreateTransitGatewayVpcAttachmentOutput) {
6991	op := &request.Operation{
6992		Name:       opCreateTransitGatewayVpcAttachment,
6993		HTTPMethod: "POST",
6994		HTTPPath:   "/",
6995	}
6996
6997	if input == nil {
6998		input = &CreateTransitGatewayVpcAttachmentInput{}
6999	}
7000
7001	output = &CreateTransitGatewayVpcAttachmentOutput{}
7002	req = c.newRequest(op, input, output)
7003	return
7004}
7005
7006// CreateTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
7007//
7008// Attaches the specified VPC to the specified transit gateway.
7009//
7010// If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC
7011// that is already attached, the new VPC CIDR range is not propagated to the
7012// default propagation route table.
7013//
7014// To send VPC traffic to an attached transit gateway, add a route to the VPC
7015// route table using CreateRoute.
7016//
7017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7018// with awserr.Error's Code and Message methods to get detailed information about
7019// the error.
7020//
7021// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7022// API operation CreateTransitGatewayVpcAttachment for usage and error information.
7023// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
7024func (c *EC2) CreateTransitGatewayVpcAttachment(input *CreateTransitGatewayVpcAttachmentInput) (*CreateTransitGatewayVpcAttachmentOutput, error) {
7025	req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
7026	return out, req.Send()
7027}
7028
7029// CreateTransitGatewayVpcAttachmentWithContext is the same as CreateTransitGatewayVpcAttachment with the addition of
7030// the ability to pass a context and additional request options.
7031//
7032// See CreateTransitGatewayVpcAttachment for details on how to use this API operation.
7033//
7034// The context must be non-nil and will be used for request cancellation. If
7035// the context is nil a panic will occur. In the future the SDK may create
7036// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7037// for more information on using Contexts.
7038func (c *EC2) CreateTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayVpcAttachmentInput, opts ...request.Option) (*CreateTransitGatewayVpcAttachmentOutput, error) {
7039	req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
7040	req.SetContext(ctx)
7041	req.ApplyOptions(opts...)
7042	return out, req.Send()
7043}
7044
7045const opCreateVolume = "CreateVolume"
7046
7047// CreateVolumeRequest generates a "aws/request.Request" representing the
7048// client's request for the CreateVolume operation. The "output" return
7049// value will be populated with the request's response once the request completes
7050// successfully.
7051//
7052// Use "Send" method on the returned Request to send the API call to the service.
7053// the "output" return value is not valid until after Send returns without error.
7054//
7055// See CreateVolume for more information on using the CreateVolume
7056// API call, and error handling.
7057//
7058// This method is useful when you want to inject custom logic or configuration
7059// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7060//
7061//
7062//    // Example sending a request using the CreateVolumeRequest method.
7063//    req, resp := client.CreateVolumeRequest(params)
7064//
7065//    err := req.Send()
7066//    if err == nil { // resp is now filled
7067//        fmt.Println(resp)
7068//    }
7069//
7070// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
7071func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
7072	op := &request.Operation{
7073		Name:       opCreateVolume,
7074		HTTPMethod: "POST",
7075		HTTPPath:   "/",
7076	}
7077
7078	if input == nil {
7079		input = &CreateVolumeInput{}
7080	}
7081
7082	output = &Volume{}
7083	req = c.newRequest(op, input, output)
7084	return
7085}
7086
7087// CreateVolume API operation for Amazon Elastic Compute Cloud.
7088//
7089// Creates an EBS volume that can be attached to an instance in the same Availability
7090// Zone. The volume is created in the regional endpoint that you send the HTTP
7091// request to. For more information see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
7092//
7093// You can create a new empty volume or restore a volume from an EBS snapshot.
7094// Any AWS Marketplace product codes from the snapshot are propagated to the
7095// volume.
7096//
7097// You can create encrypted volumes. Encrypted volumes must be attached to instances
7098// that support Amazon EBS encryption. Volumes that are created from encrypted
7099// snapshots are also automatically encrypted. For more information, see Amazon
7100// EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
7101// in the Amazon Elastic Compute Cloud User Guide.
7102//
7103// You can tag your volumes during creation. For more information, see Tagging
7104// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
7105// in the Amazon Elastic Compute Cloud User Guide.
7106//
7107// For more information, see Creating an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
7108// in the Amazon Elastic Compute Cloud User Guide.
7109//
7110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7111// with awserr.Error's Code and Message methods to get detailed information about
7112// the error.
7113//
7114// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7115// API operation CreateVolume for usage and error information.
7116// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
7117func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
7118	req, out := c.CreateVolumeRequest(input)
7119	return out, req.Send()
7120}
7121
7122// CreateVolumeWithContext is the same as CreateVolume with the addition of
7123// the ability to pass a context and additional request options.
7124//
7125// See CreateVolume for details on how to use this API operation.
7126//
7127// The context must be non-nil and will be used for request cancellation. If
7128// the context is nil a panic will occur. In the future the SDK may create
7129// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7130// for more information on using Contexts.
7131func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
7132	req, out := c.CreateVolumeRequest(input)
7133	req.SetContext(ctx)
7134	req.ApplyOptions(opts...)
7135	return out, req.Send()
7136}
7137
7138const opCreateVpc = "CreateVpc"
7139
7140// CreateVpcRequest generates a "aws/request.Request" representing the
7141// client's request for the CreateVpc operation. The "output" return
7142// value will be populated with the request's response once the request completes
7143// successfully.
7144//
7145// Use "Send" method on the returned Request to send the API call to the service.
7146// the "output" return value is not valid until after Send returns without error.
7147//
7148// See CreateVpc for more information on using the CreateVpc
7149// API call, and error handling.
7150//
7151// This method is useful when you want to inject custom logic or configuration
7152// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7153//
7154//
7155//    // Example sending a request using the CreateVpcRequest method.
7156//    req, resp := client.CreateVpcRequest(params)
7157//
7158//    err := req.Send()
7159//    if err == nil { // resp is now filled
7160//        fmt.Println(resp)
7161//    }
7162//
7163// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
7164func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
7165	op := &request.Operation{
7166		Name:       opCreateVpc,
7167		HTTPMethod: "POST",
7168		HTTPPath:   "/",
7169	}
7170
7171	if input == nil {
7172		input = &CreateVpcInput{}
7173	}
7174
7175	output = &CreateVpcOutput{}
7176	req = c.newRequest(op, input, output)
7177	return
7178}
7179
7180// CreateVpc API operation for Amazon Elastic Compute Cloud.
7181//
7182// Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
7183// create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
7184// netmask (65,536 IPv4 addresses). For more information about how large to
7185// make your VPC, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
7186// in the Amazon Virtual Private Cloud User Guide.
7187//
7188// You can optionally request an IPv6 CIDR block for the VPC. You can request
7189// an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses,
7190// or an IPv6 CIDR block from an IPv6 address pool that you provisioned through
7191// bring your own IP addresses (BYOIP (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)).
7192//
7193// By default, each instance you launch in the VPC has the default DHCP options,
7194// which include only a default DNS server that we provide (AmazonProvidedDNS).
7195// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
7196// in the Amazon Virtual Private Cloud User Guide.
7197//
7198// You can specify the instance tenancy value for the VPC when you create it.
7199// You can't change this value for the VPC after you create it. For more information,
7200// see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
7201// in the Amazon Elastic Compute Cloud User Guide.
7202//
7203// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7204// with awserr.Error's Code and Message methods to get detailed information about
7205// the error.
7206//
7207// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7208// API operation CreateVpc for usage and error information.
7209// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
7210func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
7211	req, out := c.CreateVpcRequest(input)
7212	return out, req.Send()
7213}
7214
7215// CreateVpcWithContext is the same as CreateVpc with the addition of
7216// the ability to pass a context and additional request options.
7217//
7218// See CreateVpc for details on how to use this API operation.
7219//
7220// The context must be non-nil and will be used for request cancellation. If
7221// the context is nil a panic will occur. In the future the SDK may create
7222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7223// for more information on using Contexts.
7224func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
7225	req, out := c.CreateVpcRequest(input)
7226	req.SetContext(ctx)
7227	req.ApplyOptions(opts...)
7228	return out, req.Send()
7229}
7230
7231const opCreateVpcEndpoint = "CreateVpcEndpoint"
7232
7233// CreateVpcEndpointRequest generates a "aws/request.Request" representing the
7234// client's request for the CreateVpcEndpoint operation. The "output" return
7235// value will be populated with the request's response once the request completes
7236// successfully.
7237//
7238// Use "Send" method on the returned Request to send the API call to the service.
7239// the "output" return value is not valid until after Send returns without error.
7240//
7241// See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
7242// API call, and error handling.
7243//
7244// This method is useful when you want to inject custom logic or configuration
7245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7246//
7247//
7248//    // Example sending a request using the CreateVpcEndpointRequest method.
7249//    req, resp := client.CreateVpcEndpointRequest(params)
7250//
7251//    err := req.Send()
7252//    if err == nil { // resp is now filled
7253//        fmt.Println(resp)
7254//    }
7255//
7256// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
7257func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
7258	op := &request.Operation{
7259		Name:       opCreateVpcEndpoint,
7260		HTTPMethod: "POST",
7261		HTTPPath:   "/",
7262	}
7263
7264	if input == nil {
7265		input = &CreateVpcEndpointInput{}
7266	}
7267
7268	output = &CreateVpcEndpointOutput{}
7269	req = c.newRequest(op, input, output)
7270	return
7271}
7272
7273// CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
7274//
7275// Creates a VPC endpoint for a specified service. An endpoint enables you to
7276// create a private connection between your VPC and the service. The service
7277// may be provided by AWS, an AWS Marketplace Partner, or another AWS account.
7278// For more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
7279// in the Amazon Virtual Private Cloud User Guide.
7280//
7281// A gateway endpoint serves as a target for a route in your route table for
7282// traffic destined for the AWS service. You can specify an endpoint policy
7283// to attach to the endpoint, which will control access to the service from
7284// your VPC. You can also specify the VPC route tables that use the endpoint.
7285//
7286// An interface endpoint is a network interface in your subnet that serves as
7287// an endpoint for communicating with the specified service. You can specify
7288// the subnets in which to create an endpoint, and the security groups to associate
7289// with the endpoint network interface.
7290//
7291// Use DescribeVpcEndpointServices to get a list of supported services.
7292//
7293// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7294// with awserr.Error's Code and Message methods to get detailed information about
7295// the error.
7296//
7297// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7298// API operation CreateVpcEndpoint for usage and error information.
7299// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
7300func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
7301	req, out := c.CreateVpcEndpointRequest(input)
7302	return out, req.Send()
7303}
7304
7305// CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
7306// the ability to pass a context and additional request options.
7307//
7308// See CreateVpcEndpoint for details on how to use this API operation.
7309//
7310// The context must be non-nil and will be used for request cancellation. If
7311// the context is nil a panic will occur. In the future the SDK may create
7312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7313// for more information on using Contexts.
7314func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
7315	req, out := c.CreateVpcEndpointRequest(input)
7316	req.SetContext(ctx)
7317	req.ApplyOptions(opts...)
7318	return out, req.Send()
7319}
7320
7321const opCreateVpcEndpointConnectionNotification = "CreateVpcEndpointConnectionNotification"
7322
7323// CreateVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
7324// client's request for the CreateVpcEndpointConnectionNotification operation. The "output" return
7325// value will be populated with the request's response once the request completes
7326// successfully.
7327//
7328// Use "Send" method on the returned Request to send the API call to the service.
7329// the "output" return value is not valid until after Send returns without error.
7330//
7331// See CreateVpcEndpointConnectionNotification for more information on using the CreateVpcEndpointConnectionNotification
7332// API call, and error handling.
7333//
7334// This method is useful when you want to inject custom logic or configuration
7335// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7336//
7337//
7338//    // Example sending a request using the CreateVpcEndpointConnectionNotificationRequest method.
7339//    req, resp := client.CreateVpcEndpointConnectionNotificationRequest(params)
7340//
7341//    err := req.Send()
7342//    if err == nil { // resp is now filled
7343//        fmt.Println(resp)
7344//    }
7345//
7346// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
7347func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEndpointConnectionNotificationInput) (req *request.Request, output *CreateVpcEndpointConnectionNotificationOutput) {
7348	op := &request.Operation{
7349		Name:       opCreateVpcEndpointConnectionNotification,
7350		HTTPMethod: "POST",
7351		HTTPPath:   "/",
7352	}
7353
7354	if input == nil {
7355		input = &CreateVpcEndpointConnectionNotificationInput{}
7356	}
7357
7358	output = &CreateVpcEndpointConnectionNotificationOutput{}
7359	req = c.newRequest(op, input, output)
7360	return
7361}
7362
7363// CreateVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
7364//
7365// Creates a connection notification for a specified VPC endpoint or VPC endpoint
7366// service. A connection notification notifies you of specific endpoint events.
7367// You must create an SNS topic to receive notifications. For more information,
7368// see Create a Topic (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)
7369// in the Amazon Simple Notification Service Developer Guide.
7370//
7371// You can create a connection notification for interface endpoints only.
7372//
7373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7374// with awserr.Error's Code and Message methods to get detailed information about
7375// the error.
7376//
7377// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7378// API operation CreateVpcEndpointConnectionNotification for usage and error information.
7379// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
7380func (c *EC2) CreateVpcEndpointConnectionNotification(input *CreateVpcEndpointConnectionNotificationInput) (*CreateVpcEndpointConnectionNotificationOutput, error) {
7381	req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
7382	return out, req.Send()
7383}
7384
7385// CreateVpcEndpointConnectionNotificationWithContext is the same as CreateVpcEndpointConnectionNotification with the addition of
7386// the ability to pass a context and additional request options.
7387//
7388// See CreateVpcEndpointConnectionNotification for details on how to use this API operation.
7389//
7390// The context must be non-nil and will be used for request cancellation. If
7391// the context is nil a panic will occur. In the future the SDK may create
7392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7393// for more information on using Contexts.
7394func (c *EC2) CreateVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *CreateVpcEndpointConnectionNotificationInput, opts ...request.Option) (*CreateVpcEndpointConnectionNotificationOutput, error) {
7395	req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
7396	req.SetContext(ctx)
7397	req.ApplyOptions(opts...)
7398	return out, req.Send()
7399}
7400
7401const opCreateVpcEndpointServiceConfiguration = "CreateVpcEndpointServiceConfiguration"
7402
7403// CreateVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
7404// client's request for the CreateVpcEndpointServiceConfiguration operation. The "output" return
7405// value will be populated with the request's response once the request completes
7406// successfully.
7407//
7408// Use "Send" method on the returned Request to send the API call to the service.
7409// the "output" return value is not valid until after Send returns without error.
7410//
7411// See CreateVpcEndpointServiceConfiguration for more information on using the CreateVpcEndpointServiceConfiguration
7412// API call, and error handling.
7413//
7414// This method is useful when you want to inject custom logic or configuration
7415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7416//
7417//
7418//    // Example sending a request using the CreateVpcEndpointServiceConfigurationRequest method.
7419//    req, resp := client.CreateVpcEndpointServiceConfigurationRequest(params)
7420//
7421//    err := req.Send()
7422//    if err == nil { // resp is now filled
7423//        fmt.Println(resp)
7424//    }
7425//
7426// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
7427func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpointServiceConfigurationInput) (req *request.Request, output *CreateVpcEndpointServiceConfigurationOutput) {
7428	op := &request.Operation{
7429		Name:       opCreateVpcEndpointServiceConfiguration,
7430		HTTPMethod: "POST",
7431		HTTPPath:   "/",
7432	}
7433
7434	if input == nil {
7435		input = &CreateVpcEndpointServiceConfigurationInput{}
7436	}
7437
7438	output = &CreateVpcEndpointServiceConfigurationOutput{}
7439	req = c.newRequest(op, input, output)
7440	return
7441}
7442
7443// CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
7444//
7445// Creates a VPC endpoint service configuration to which service consumers (AWS
7446// accounts, IAM users, and IAM roles) can connect. Service consumers can create
7447// an interface VPC endpoint to connect to your service.
7448//
7449// To create an endpoint service configuration, you must first create a Network
7450// Load Balancer for your service. For more information, see VPC Endpoint Services
7451// (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html)
7452// in the Amazon Virtual Private Cloud User Guide.
7453//
7454// If you set the private DNS name, you must prove that you own the private
7455// DNS domain name. For more information, see VPC Endpoint Service Private DNS
7456// Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html)
7457// in the Amazon Virtual Private Cloud User Guide.
7458//
7459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7460// with awserr.Error's Code and Message methods to get detailed information about
7461// the error.
7462//
7463// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7464// API operation CreateVpcEndpointServiceConfiguration for usage and error information.
7465// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
7466func (c *EC2) CreateVpcEndpointServiceConfiguration(input *CreateVpcEndpointServiceConfigurationInput) (*CreateVpcEndpointServiceConfigurationOutput, error) {
7467	req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
7468	return out, req.Send()
7469}
7470
7471// CreateVpcEndpointServiceConfigurationWithContext is the same as CreateVpcEndpointServiceConfiguration with the addition of
7472// the ability to pass a context and additional request options.
7473//
7474// See CreateVpcEndpointServiceConfiguration for details on how to use this API operation.
7475//
7476// The context must be non-nil and will be used for request cancellation. If
7477// the context is nil a panic will occur. In the future the SDK may create
7478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7479// for more information on using Contexts.
7480func (c *EC2) CreateVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *CreateVpcEndpointServiceConfigurationInput, opts ...request.Option) (*CreateVpcEndpointServiceConfigurationOutput, error) {
7481	req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
7482	req.SetContext(ctx)
7483	req.ApplyOptions(opts...)
7484	return out, req.Send()
7485}
7486
7487const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
7488
7489// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
7490// client's request for the CreateVpcPeeringConnection operation. The "output" return
7491// value will be populated with the request's response once the request completes
7492// successfully.
7493//
7494// Use "Send" method on the returned Request to send the API call to the service.
7495// the "output" return value is not valid until after Send returns without error.
7496//
7497// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
7498// API call, and error handling.
7499//
7500// This method is useful when you want to inject custom logic or configuration
7501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7502//
7503//
7504//    // Example sending a request using the CreateVpcPeeringConnectionRequest method.
7505//    req, resp := client.CreateVpcPeeringConnectionRequest(params)
7506//
7507//    err := req.Send()
7508//    if err == nil { // resp is now filled
7509//        fmt.Println(resp)
7510//    }
7511//
7512// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
7513func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
7514	op := &request.Operation{
7515		Name:       opCreateVpcPeeringConnection,
7516		HTTPMethod: "POST",
7517		HTTPPath:   "/",
7518	}
7519
7520	if input == nil {
7521		input = &CreateVpcPeeringConnectionInput{}
7522	}
7523
7524	output = &CreateVpcPeeringConnectionOutput{}
7525	req = c.newRequest(op, input, output)
7526	return
7527}
7528
7529// CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
7530//
7531// Requests a VPC peering connection between two VPCs: a requester VPC that
7532// you own and an accepter VPC with which to create the connection. The accepter
7533// VPC can belong to another AWS account and can be in a different Region to
7534// the requester VPC. The requester VPC and accepter VPC cannot have overlapping
7535// CIDR blocks.
7536//
7537// Limitations and rules apply to a VPC peering connection. For more information,
7538// see the limitations (https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html#vpc-peering-limitations)
7539// section in the VPC Peering Guide.
7540//
7541// The owner of the accepter VPC must accept the peering request to activate
7542// the peering connection. The VPC peering connection request expires after
7543// 7 days, after which it cannot be accepted or rejected.
7544//
7545// If you create a VPC peering connection request between VPCs with overlapping
7546// CIDR blocks, the VPC peering connection has a status of failed.
7547//
7548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7549// with awserr.Error's Code and Message methods to get detailed information about
7550// the error.
7551//
7552// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7553// API operation CreateVpcPeeringConnection for usage and error information.
7554// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
7555func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
7556	req, out := c.CreateVpcPeeringConnectionRequest(input)
7557	return out, req.Send()
7558}
7559
7560// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
7561// the ability to pass a context and additional request options.
7562//
7563// See CreateVpcPeeringConnection for details on how to use this API operation.
7564//
7565// The context must be non-nil and will be used for request cancellation. If
7566// the context is nil a panic will occur. In the future the SDK may create
7567// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7568// for more information on using Contexts.
7569func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
7570	req, out := c.CreateVpcPeeringConnectionRequest(input)
7571	req.SetContext(ctx)
7572	req.ApplyOptions(opts...)
7573	return out, req.Send()
7574}
7575
7576const opCreateVpnConnection = "CreateVpnConnection"
7577
7578// CreateVpnConnectionRequest generates a "aws/request.Request" representing the
7579// client's request for the CreateVpnConnection operation. The "output" return
7580// value will be populated with the request's response once the request completes
7581// successfully.
7582//
7583// Use "Send" method on the returned Request to send the API call to the service.
7584// the "output" return value is not valid until after Send returns without error.
7585//
7586// See CreateVpnConnection for more information on using the CreateVpnConnection
7587// API call, and error handling.
7588//
7589// This method is useful when you want to inject custom logic or configuration
7590// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7591//
7592//
7593//    // Example sending a request using the CreateVpnConnectionRequest method.
7594//    req, resp := client.CreateVpnConnectionRequest(params)
7595//
7596//    err := req.Send()
7597//    if err == nil { // resp is now filled
7598//        fmt.Println(resp)
7599//    }
7600//
7601// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
7602func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
7603	op := &request.Operation{
7604		Name:       opCreateVpnConnection,
7605		HTTPMethod: "POST",
7606		HTTPPath:   "/",
7607	}
7608
7609	if input == nil {
7610		input = &CreateVpnConnectionInput{}
7611	}
7612
7613	output = &CreateVpnConnectionOutput{}
7614	req = c.newRequest(op, input, output)
7615	return
7616}
7617
7618// CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
7619//
7620// Creates a VPN connection between an existing virtual private gateway and
7621// a VPN customer gateway. The supported connection type is ipsec.1.
7622//
7623// The response includes information that you need to give to your network administrator
7624// to configure your customer gateway.
7625//
7626// We strongly recommend that you use HTTPS when calling this operation because
7627// the response contains sensitive cryptographic information for configuring
7628// your customer gateway.
7629//
7630// If you decide to shut down your VPN connection for any reason and later create
7631// a new VPN connection, you must reconfigure your customer gateway with the
7632// new information returned from this call.
7633//
7634// This is an idempotent operation. If you perform the operation more than once,
7635// Amazon EC2 doesn't return an error.
7636//
7637// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
7638// in the AWS Site-to-Site VPN User Guide.
7639//
7640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7641// with awserr.Error's Code and Message methods to get detailed information about
7642// the error.
7643//
7644// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7645// API operation CreateVpnConnection for usage and error information.
7646// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
7647func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
7648	req, out := c.CreateVpnConnectionRequest(input)
7649	return out, req.Send()
7650}
7651
7652// CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
7653// the ability to pass a context and additional request options.
7654//
7655// See CreateVpnConnection for details on how to use this API operation.
7656//
7657// The context must be non-nil and will be used for request cancellation. If
7658// the context is nil a panic will occur. In the future the SDK may create
7659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7660// for more information on using Contexts.
7661func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
7662	req, out := c.CreateVpnConnectionRequest(input)
7663	req.SetContext(ctx)
7664	req.ApplyOptions(opts...)
7665	return out, req.Send()
7666}
7667
7668const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
7669
7670// CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
7671// client's request for the CreateVpnConnectionRoute operation. The "output" return
7672// value will be populated with the request's response once the request completes
7673// successfully.
7674//
7675// Use "Send" method on the returned Request to send the API call to the service.
7676// the "output" return value is not valid until after Send returns without error.
7677//
7678// See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
7679// API call, and error handling.
7680//
7681// This method is useful when you want to inject custom logic or configuration
7682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7683//
7684//
7685//    // Example sending a request using the CreateVpnConnectionRouteRequest method.
7686//    req, resp := client.CreateVpnConnectionRouteRequest(params)
7687//
7688//    err := req.Send()
7689//    if err == nil { // resp is now filled
7690//        fmt.Println(resp)
7691//    }
7692//
7693// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
7694func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
7695	op := &request.Operation{
7696		Name:       opCreateVpnConnectionRoute,
7697		HTTPMethod: "POST",
7698		HTTPPath:   "/",
7699	}
7700
7701	if input == nil {
7702		input = &CreateVpnConnectionRouteInput{}
7703	}
7704
7705	output = &CreateVpnConnectionRouteOutput{}
7706	req = c.newRequest(op, input, output)
7707	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7708	return
7709}
7710
7711// CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
7712//
7713// Creates a static route associated with a VPN connection between an existing
7714// virtual private gateway and a VPN customer gateway. The static route allows
7715// traffic to be routed from the virtual private gateway to the VPN customer
7716// gateway.
7717//
7718// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
7719// in the AWS Site-to-Site VPN User Guide.
7720//
7721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7722// with awserr.Error's Code and Message methods to get detailed information about
7723// the error.
7724//
7725// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7726// API operation CreateVpnConnectionRoute for usage and error information.
7727// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
7728func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
7729	req, out := c.CreateVpnConnectionRouteRequest(input)
7730	return out, req.Send()
7731}
7732
7733// CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
7734// the ability to pass a context and additional request options.
7735//
7736// See CreateVpnConnectionRoute for details on how to use this API operation.
7737//
7738// The context must be non-nil and will be used for request cancellation. If
7739// the context is nil a panic will occur. In the future the SDK may create
7740// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7741// for more information on using Contexts.
7742func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
7743	req, out := c.CreateVpnConnectionRouteRequest(input)
7744	req.SetContext(ctx)
7745	req.ApplyOptions(opts...)
7746	return out, req.Send()
7747}
7748
7749const opCreateVpnGateway = "CreateVpnGateway"
7750
7751// CreateVpnGatewayRequest generates a "aws/request.Request" representing the
7752// client's request for the CreateVpnGateway operation. The "output" return
7753// value will be populated with the request's response once the request completes
7754// successfully.
7755//
7756// Use "Send" method on the returned Request to send the API call to the service.
7757// the "output" return value is not valid until after Send returns without error.
7758//
7759// See CreateVpnGateway for more information on using the CreateVpnGateway
7760// API call, and error handling.
7761//
7762// This method is useful when you want to inject custom logic or configuration
7763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7764//
7765//
7766//    // Example sending a request using the CreateVpnGatewayRequest method.
7767//    req, resp := client.CreateVpnGatewayRequest(params)
7768//
7769//    err := req.Send()
7770//    if err == nil { // resp is now filled
7771//        fmt.Println(resp)
7772//    }
7773//
7774// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
7775func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
7776	op := &request.Operation{
7777		Name:       opCreateVpnGateway,
7778		HTTPMethod: "POST",
7779		HTTPPath:   "/",
7780	}
7781
7782	if input == nil {
7783		input = &CreateVpnGatewayInput{}
7784	}
7785
7786	output = &CreateVpnGatewayOutput{}
7787	req = c.newRequest(op, input, output)
7788	return
7789}
7790
7791// CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
7792//
7793// Creates a virtual private gateway. A virtual private gateway is the endpoint
7794// on the VPC side of your VPN connection. You can create a virtual private
7795// gateway before creating the VPC itself.
7796//
7797// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
7798// in the AWS Site-to-Site VPN User Guide.
7799//
7800// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7801// with awserr.Error's Code and Message methods to get detailed information about
7802// the error.
7803//
7804// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7805// API operation CreateVpnGateway for usage and error information.
7806// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
7807func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
7808	req, out := c.CreateVpnGatewayRequest(input)
7809	return out, req.Send()
7810}
7811
7812// CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
7813// the ability to pass a context and additional request options.
7814//
7815// See CreateVpnGateway for details on how to use this API operation.
7816//
7817// The context must be non-nil and will be used for request cancellation. If
7818// the context is nil a panic will occur. In the future the SDK may create
7819// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7820// for more information on using Contexts.
7821func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
7822	req, out := c.CreateVpnGatewayRequest(input)
7823	req.SetContext(ctx)
7824	req.ApplyOptions(opts...)
7825	return out, req.Send()
7826}
7827
7828const opDeleteClientVpnEndpoint = "DeleteClientVpnEndpoint"
7829
7830// DeleteClientVpnEndpointRequest generates a "aws/request.Request" representing the
7831// client's request for the DeleteClientVpnEndpoint operation. The "output" return
7832// value will be populated with the request's response once the request completes
7833// successfully.
7834//
7835// Use "Send" method on the returned Request to send the API call to the service.
7836// the "output" return value is not valid until after Send returns without error.
7837//
7838// See DeleteClientVpnEndpoint for more information on using the DeleteClientVpnEndpoint
7839// API call, and error handling.
7840//
7841// This method is useful when you want to inject custom logic or configuration
7842// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7843//
7844//
7845//    // Example sending a request using the DeleteClientVpnEndpointRequest method.
7846//    req, resp := client.DeleteClientVpnEndpointRequest(params)
7847//
7848//    err := req.Send()
7849//    if err == nil { // resp is now filled
7850//        fmt.Println(resp)
7851//    }
7852//
7853// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
7854func (c *EC2) DeleteClientVpnEndpointRequest(input *DeleteClientVpnEndpointInput) (req *request.Request, output *DeleteClientVpnEndpointOutput) {
7855	op := &request.Operation{
7856		Name:       opDeleteClientVpnEndpoint,
7857		HTTPMethod: "POST",
7858		HTTPPath:   "/",
7859	}
7860
7861	if input == nil {
7862		input = &DeleteClientVpnEndpointInput{}
7863	}
7864
7865	output = &DeleteClientVpnEndpointOutput{}
7866	req = c.newRequest(op, input, output)
7867	return
7868}
7869
7870// DeleteClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
7871//
7872// Deletes the specified Client VPN endpoint. You must disassociate all target
7873// networks before you can delete a Client VPN endpoint.
7874//
7875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7876// with awserr.Error's Code and Message methods to get detailed information about
7877// the error.
7878//
7879// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7880// API operation DeleteClientVpnEndpoint for usage and error information.
7881// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
7882func (c *EC2) DeleteClientVpnEndpoint(input *DeleteClientVpnEndpointInput) (*DeleteClientVpnEndpointOutput, error) {
7883	req, out := c.DeleteClientVpnEndpointRequest(input)
7884	return out, req.Send()
7885}
7886
7887// DeleteClientVpnEndpointWithContext is the same as DeleteClientVpnEndpoint with the addition of
7888// the ability to pass a context and additional request options.
7889//
7890// See DeleteClientVpnEndpoint for details on how to use this API operation.
7891//
7892// The context must be non-nil and will be used for request cancellation. If
7893// the context is nil a panic will occur. In the future the SDK may create
7894// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7895// for more information on using Contexts.
7896func (c *EC2) DeleteClientVpnEndpointWithContext(ctx aws.Context, input *DeleteClientVpnEndpointInput, opts ...request.Option) (*DeleteClientVpnEndpointOutput, error) {
7897	req, out := c.DeleteClientVpnEndpointRequest(input)
7898	req.SetContext(ctx)
7899	req.ApplyOptions(opts...)
7900	return out, req.Send()
7901}
7902
7903const opDeleteClientVpnRoute = "DeleteClientVpnRoute"
7904
7905// DeleteClientVpnRouteRequest generates a "aws/request.Request" representing the
7906// client's request for the DeleteClientVpnRoute operation. The "output" return
7907// value will be populated with the request's response once the request completes
7908// successfully.
7909//
7910// Use "Send" method on the returned Request to send the API call to the service.
7911// the "output" return value is not valid until after Send returns without error.
7912//
7913// See DeleteClientVpnRoute for more information on using the DeleteClientVpnRoute
7914// API call, and error handling.
7915//
7916// This method is useful when you want to inject custom logic or configuration
7917// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7918//
7919//
7920//    // Example sending a request using the DeleteClientVpnRouteRequest method.
7921//    req, resp := client.DeleteClientVpnRouteRequest(params)
7922//
7923//    err := req.Send()
7924//    if err == nil { // resp is now filled
7925//        fmt.Println(resp)
7926//    }
7927//
7928// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
7929func (c *EC2) DeleteClientVpnRouteRequest(input *DeleteClientVpnRouteInput) (req *request.Request, output *DeleteClientVpnRouteOutput) {
7930	op := &request.Operation{
7931		Name:       opDeleteClientVpnRoute,
7932		HTTPMethod: "POST",
7933		HTTPPath:   "/",
7934	}
7935
7936	if input == nil {
7937		input = &DeleteClientVpnRouteInput{}
7938	}
7939
7940	output = &DeleteClientVpnRouteOutput{}
7941	req = c.newRequest(op, input, output)
7942	return
7943}
7944
7945// DeleteClientVpnRoute API operation for Amazon Elastic Compute Cloud.
7946//
7947// Deletes a route from a Client VPN endpoint. You can only delete routes that
7948// you manually added using the CreateClientVpnRoute action. You cannot delete
7949// routes that were automatically added when associating a subnet. To remove
7950// routes that have been automatically added, disassociate the target subnet
7951// from the Client VPN endpoint.
7952//
7953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7954// with awserr.Error's Code and Message methods to get detailed information about
7955// the error.
7956//
7957// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7958// API operation DeleteClientVpnRoute for usage and error information.
7959// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
7960func (c *EC2) DeleteClientVpnRoute(input *DeleteClientVpnRouteInput) (*DeleteClientVpnRouteOutput, error) {
7961	req, out := c.DeleteClientVpnRouteRequest(input)
7962	return out, req.Send()
7963}
7964
7965// DeleteClientVpnRouteWithContext is the same as DeleteClientVpnRoute with the addition of
7966// the ability to pass a context and additional request options.
7967//
7968// See DeleteClientVpnRoute for details on how to use this API operation.
7969//
7970// The context must be non-nil and will be used for request cancellation. If
7971// the context is nil a panic will occur. In the future the SDK may create
7972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7973// for more information on using Contexts.
7974func (c *EC2) DeleteClientVpnRouteWithContext(ctx aws.Context, input *DeleteClientVpnRouteInput, opts ...request.Option) (*DeleteClientVpnRouteOutput, error) {
7975	req, out := c.DeleteClientVpnRouteRequest(input)
7976	req.SetContext(ctx)
7977	req.ApplyOptions(opts...)
7978	return out, req.Send()
7979}
7980
7981const opDeleteCustomerGateway = "DeleteCustomerGateway"
7982
7983// DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
7984// client's request for the DeleteCustomerGateway operation. The "output" return
7985// value will be populated with the request's response once the request completes
7986// successfully.
7987//
7988// Use "Send" method on the returned Request to send the API call to the service.
7989// the "output" return value is not valid until after Send returns without error.
7990//
7991// See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
7992// API call, and error handling.
7993//
7994// This method is useful when you want to inject custom logic or configuration
7995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7996//
7997//
7998//    // Example sending a request using the DeleteCustomerGatewayRequest method.
7999//    req, resp := client.DeleteCustomerGatewayRequest(params)
8000//
8001//    err := req.Send()
8002//    if err == nil { // resp is now filled
8003//        fmt.Println(resp)
8004//    }
8005//
8006// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
8007func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
8008	op := &request.Operation{
8009		Name:       opDeleteCustomerGateway,
8010		HTTPMethod: "POST",
8011		HTTPPath:   "/",
8012	}
8013
8014	if input == nil {
8015		input = &DeleteCustomerGatewayInput{}
8016	}
8017
8018	output = &DeleteCustomerGatewayOutput{}
8019	req = c.newRequest(op, input, output)
8020	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8021	return
8022}
8023
8024// DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
8025//
8026// Deletes the specified customer gateway. You must delete the VPN connection
8027// before you can delete the customer gateway.
8028//
8029// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8030// with awserr.Error's Code and Message methods to get detailed information about
8031// the error.
8032//
8033// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8034// API operation DeleteCustomerGateway for usage and error information.
8035// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
8036func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
8037	req, out := c.DeleteCustomerGatewayRequest(input)
8038	return out, req.Send()
8039}
8040
8041// DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
8042// the ability to pass a context and additional request options.
8043//
8044// See DeleteCustomerGateway for details on how to use this API operation.
8045//
8046// The context must be non-nil and will be used for request cancellation. If
8047// the context is nil a panic will occur. In the future the SDK may create
8048// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8049// for more information on using Contexts.
8050func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
8051	req, out := c.DeleteCustomerGatewayRequest(input)
8052	req.SetContext(ctx)
8053	req.ApplyOptions(opts...)
8054	return out, req.Send()
8055}
8056
8057const opDeleteDhcpOptions = "DeleteDhcpOptions"
8058
8059// DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
8060// client's request for the DeleteDhcpOptions operation. The "output" return
8061// value will be populated with the request's response once the request completes
8062// successfully.
8063//
8064// Use "Send" method on the returned Request to send the API call to the service.
8065// the "output" return value is not valid until after Send returns without error.
8066//
8067// See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
8068// API call, and error handling.
8069//
8070// This method is useful when you want to inject custom logic or configuration
8071// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8072//
8073//
8074//    // Example sending a request using the DeleteDhcpOptionsRequest method.
8075//    req, resp := client.DeleteDhcpOptionsRequest(params)
8076//
8077//    err := req.Send()
8078//    if err == nil { // resp is now filled
8079//        fmt.Println(resp)
8080//    }
8081//
8082// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
8083func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
8084	op := &request.Operation{
8085		Name:       opDeleteDhcpOptions,
8086		HTTPMethod: "POST",
8087		HTTPPath:   "/",
8088	}
8089
8090	if input == nil {
8091		input = &DeleteDhcpOptionsInput{}
8092	}
8093
8094	output = &DeleteDhcpOptionsOutput{}
8095	req = c.newRequest(op, input, output)
8096	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8097	return
8098}
8099
8100// DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
8101//
8102// Deletes the specified set of DHCP options. You must disassociate the set
8103// of DHCP options before you can delete it. You can disassociate the set of
8104// DHCP options by associating either a new set of options or the default set
8105// of options with the VPC.
8106//
8107// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8108// with awserr.Error's Code and Message methods to get detailed information about
8109// the error.
8110//
8111// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8112// API operation DeleteDhcpOptions for usage and error information.
8113// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
8114func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
8115	req, out := c.DeleteDhcpOptionsRequest(input)
8116	return out, req.Send()
8117}
8118
8119// DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
8120// the ability to pass a context and additional request options.
8121//
8122// See DeleteDhcpOptions for details on how to use this API operation.
8123//
8124// The context must be non-nil and will be used for request cancellation. If
8125// the context is nil a panic will occur. In the future the SDK may create
8126// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8127// for more information on using Contexts.
8128func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
8129	req, out := c.DeleteDhcpOptionsRequest(input)
8130	req.SetContext(ctx)
8131	req.ApplyOptions(opts...)
8132	return out, req.Send()
8133}
8134
8135const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
8136
8137// DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
8138// client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
8139// value will be populated with the request's response once the request completes
8140// successfully.
8141//
8142// Use "Send" method on the returned Request to send the API call to the service.
8143// the "output" return value is not valid until after Send returns without error.
8144//
8145// See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
8146// API call, and error handling.
8147//
8148// This method is useful when you want to inject custom logic or configuration
8149// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8150//
8151//
8152//    // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
8153//    req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
8154//
8155//    err := req.Send()
8156//    if err == nil { // resp is now filled
8157//        fmt.Println(resp)
8158//    }
8159//
8160// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
8161func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
8162	op := &request.Operation{
8163		Name:       opDeleteEgressOnlyInternetGateway,
8164		HTTPMethod: "POST",
8165		HTTPPath:   "/",
8166	}
8167
8168	if input == nil {
8169		input = &DeleteEgressOnlyInternetGatewayInput{}
8170	}
8171
8172	output = &DeleteEgressOnlyInternetGatewayOutput{}
8173	req = c.newRequest(op, input, output)
8174	return
8175}
8176
8177// DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
8178//
8179// Deletes an egress-only internet gateway.
8180//
8181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8182// with awserr.Error's Code and Message methods to get detailed information about
8183// the error.
8184//
8185// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8186// API operation DeleteEgressOnlyInternetGateway for usage and error information.
8187// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
8188func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
8189	req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
8190	return out, req.Send()
8191}
8192
8193// DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
8194// the ability to pass a context and additional request options.
8195//
8196// See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
8197//
8198// The context must be non-nil and will be used for request cancellation. If
8199// the context is nil a panic will occur. In the future the SDK may create
8200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8201// for more information on using Contexts.
8202func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
8203	req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
8204	req.SetContext(ctx)
8205	req.ApplyOptions(opts...)
8206	return out, req.Send()
8207}
8208
8209const opDeleteFleets = "DeleteFleets"
8210
8211// DeleteFleetsRequest generates a "aws/request.Request" representing the
8212// client's request for the DeleteFleets operation. The "output" return
8213// value will be populated with the request's response once the request completes
8214// successfully.
8215//
8216// Use "Send" method on the returned Request to send the API call to the service.
8217// the "output" return value is not valid until after Send returns without error.
8218//
8219// See DeleteFleets for more information on using the DeleteFleets
8220// API call, and error handling.
8221//
8222// This method is useful when you want to inject custom logic or configuration
8223// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8224//
8225//
8226//    // Example sending a request using the DeleteFleetsRequest method.
8227//    req, resp := client.DeleteFleetsRequest(params)
8228//
8229//    err := req.Send()
8230//    if err == nil { // resp is now filled
8231//        fmt.Println(resp)
8232//    }
8233//
8234// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
8235func (c *EC2) DeleteFleetsRequest(input *DeleteFleetsInput) (req *request.Request, output *DeleteFleetsOutput) {
8236	op := &request.Operation{
8237		Name:       opDeleteFleets,
8238		HTTPMethod: "POST",
8239		HTTPPath:   "/",
8240	}
8241
8242	if input == nil {
8243		input = &DeleteFleetsInput{}
8244	}
8245
8246	output = &DeleteFleetsOutput{}
8247	req = c.newRequest(op, input, output)
8248	return
8249}
8250
8251// DeleteFleets API operation for Amazon Elastic Compute Cloud.
8252//
8253// Deletes the specified EC2 Fleet.
8254//
8255// After you delete an EC2 Fleet, it launches no new instances. You must specify
8256// whether an EC2 Fleet should also terminate its instances. If you terminate
8257// the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise,
8258// the EC2 Fleet enters the deleted_running state, and the instances continue
8259// to run until they are interrupted or you terminate them manually.
8260//
8261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8262// with awserr.Error's Code and Message methods to get detailed information about
8263// the error.
8264//
8265// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8266// API operation DeleteFleets for usage and error information.
8267// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
8268func (c *EC2) DeleteFleets(input *DeleteFleetsInput) (*DeleteFleetsOutput, error) {
8269	req, out := c.DeleteFleetsRequest(input)
8270	return out, req.Send()
8271}
8272
8273// DeleteFleetsWithContext is the same as DeleteFleets with the addition of
8274// the ability to pass a context and additional request options.
8275//
8276// See DeleteFleets for details on how to use this API operation.
8277//
8278// The context must be non-nil and will be used for request cancellation. If
8279// the context is nil a panic will occur. In the future the SDK may create
8280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8281// for more information on using Contexts.
8282func (c *EC2) DeleteFleetsWithContext(ctx aws.Context, input *DeleteFleetsInput, opts ...request.Option) (*DeleteFleetsOutput, error) {
8283	req, out := c.DeleteFleetsRequest(input)
8284	req.SetContext(ctx)
8285	req.ApplyOptions(opts...)
8286	return out, req.Send()
8287}
8288
8289const opDeleteFlowLogs = "DeleteFlowLogs"
8290
8291// DeleteFlowLogsRequest generates a "aws/request.Request" representing the
8292// client's request for the DeleteFlowLogs operation. The "output" return
8293// value will be populated with the request's response once the request completes
8294// successfully.
8295//
8296// Use "Send" method on the returned Request to send the API call to the service.
8297// the "output" return value is not valid until after Send returns without error.
8298//
8299// See DeleteFlowLogs for more information on using the DeleteFlowLogs
8300// API call, and error handling.
8301//
8302// This method is useful when you want to inject custom logic or configuration
8303// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8304//
8305//
8306//    // Example sending a request using the DeleteFlowLogsRequest method.
8307//    req, resp := client.DeleteFlowLogsRequest(params)
8308//
8309//    err := req.Send()
8310//    if err == nil { // resp is now filled
8311//        fmt.Println(resp)
8312//    }
8313//
8314// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
8315func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
8316	op := &request.Operation{
8317		Name:       opDeleteFlowLogs,
8318		HTTPMethod: "POST",
8319		HTTPPath:   "/",
8320	}
8321
8322	if input == nil {
8323		input = &DeleteFlowLogsInput{}
8324	}
8325
8326	output = &DeleteFlowLogsOutput{}
8327	req = c.newRequest(op, input, output)
8328	return
8329}
8330
8331// DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
8332//
8333// Deletes one or more flow logs.
8334//
8335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8336// with awserr.Error's Code and Message methods to get detailed information about
8337// the error.
8338//
8339// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8340// API operation DeleteFlowLogs for usage and error information.
8341// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
8342func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
8343	req, out := c.DeleteFlowLogsRequest(input)
8344	return out, req.Send()
8345}
8346
8347// DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
8348// the ability to pass a context and additional request options.
8349//
8350// See DeleteFlowLogs for details on how to use this API operation.
8351//
8352// The context must be non-nil and will be used for request cancellation. If
8353// the context is nil a panic will occur. In the future the SDK may create
8354// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8355// for more information on using Contexts.
8356func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
8357	req, out := c.DeleteFlowLogsRequest(input)
8358	req.SetContext(ctx)
8359	req.ApplyOptions(opts...)
8360	return out, req.Send()
8361}
8362
8363const opDeleteFpgaImage = "DeleteFpgaImage"
8364
8365// DeleteFpgaImageRequest generates a "aws/request.Request" representing the
8366// client's request for the DeleteFpgaImage operation. The "output" return
8367// value will be populated with the request's response once the request completes
8368// successfully.
8369//
8370// Use "Send" method on the returned Request to send the API call to the service.
8371// the "output" return value is not valid until after Send returns without error.
8372//
8373// See DeleteFpgaImage for more information on using the DeleteFpgaImage
8374// API call, and error handling.
8375//
8376// This method is useful when you want to inject custom logic or configuration
8377// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8378//
8379//
8380//    // Example sending a request using the DeleteFpgaImageRequest method.
8381//    req, resp := client.DeleteFpgaImageRequest(params)
8382//
8383//    err := req.Send()
8384//    if err == nil { // resp is now filled
8385//        fmt.Println(resp)
8386//    }
8387//
8388// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
8389func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) {
8390	op := &request.Operation{
8391		Name:       opDeleteFpgaImage,
8392		HTTPMethod: "POST",
8393		HTTPPath:   "/",
8394	}
8395
8396	if input == nil {
8397		input = &DeleteFpgaImageInput{}
8398	}
8399
8400	output = &DeleteFpgaImageOutput{}
8401	req = c.newRequest(op, input, output)
8402	return
8403}
8404
8405// DeleteFpgaImage API operation for Amazon Elastic Compute Cloud.
8406//
8407// Deletes the specified Amazon FPGA Image (AFI).
8408//
8409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8410// with awserr.Error's Code and Message methods to get detailed information about
8411// the error.
8412//
8413// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8414// API operation DeleteFpgaImage for usage and error information.
8415// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
8416func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) {
8417	req, out := c.DeleteFpgaImageRequest(input)
8418	return out, req.Send()
8419}
8420
8421// DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of
8422// the ability to pass a context and additional request options.
8423//
8424// See DeleteFpgaImage for details on how to use this API operation.
8425//
8426// The context must be non-nil and will be used for request cancellation. If
8427// the context is nil a panic will occur. In the future the SDK may create
8428// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8429// for more information on using Contexts.
8430func (c *EC2) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) {
8431	req, out := c.DeleteFpgaImageRequest(input)
8432	req.SetContext(ctx)
8433	req.ApplyOptions(opts...)
8434	return out, req.Send()
8435}
8436
8437const opDeleteInternetGateway = "DeleteInternetGateway"
8438
8439// DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
8440// client's request for the DeleteInternetGateway operation. The "output" return
8441// value will be populated with the request's response once the request completes
8442// successfully.
8443//
8444// Use "Send" method on the returned Request to send the API call to the service.
8445// the "output" return value is not valid until after Send returns without error.
8446//
8447// See DeleteInternetGateway for more information on using the DeleteInternetGateway
8448// API call, and error handling.
8449//
8450// This method is useful when you want to inject custom logic or configuration
8451// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8452//
8453//
8454//    // Example sending a request using the DeleteInternetGatewayRequest method.
8455//    req, resp := client.DeleteInternetGatewayRequest(params)
8456//
8457//    err := req.Send()
8458//    if err == nil { // resp is now filled
8459//        fmt.Println(resp)
8460//    }
8461//
8462// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
8463func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
8464	op := &request.Operation{
8465		Name:       opDeleteInternetGateway,
8466		HTTPMethod: "POST",
8467		HTTPPath:   "/",
8468	}
8469
8470	if input == nil {
8471		input = &DeleteInternetGatewayInput{}
8472	}
8473
8474	output = &DeleteInternetGatewayOutput{}
8475	req = c.newRequest(op, input, output)
8476	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8477	return
8478}
8479
8480// DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
8481//
8482// Deletes the specified internet gateway. You must detach the internet gateway
8483// from the VPC before you can delete it.
8484//
8485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8486// with awserr.Error's Code and Message methods to get detailed information about
8487// the error.
8488//
8489// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8490// API operation DeleteInternetGateway for usage and error information.
8491// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
8492func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
8493	req, out := c.DeleteInternetGatewayRequest(input)
8494	return out, req.Send()
8495}
8496
8497// DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
8498// the ability to pass a context and additional request options.
8499//
8500// See DeleteInternetGateway for details on how to use this API operation.
8501//
8502// The context must be non-nil and will be used for request cancellation. If
8503// the context is nil a panic will occur. In the future the SDK may create
8504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8505// for more information on using Contexts.
8506func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
8507	req, out := c.DeleteInternetGatewayRequest(input)
8508	req.SetContext(ctx)
8509	req.ApplyOptions(opts...)
8510	return out, req.Send()
8511}
8512
8513const opDeleteKeyPair = "DeleteKeyPair"
8514
8515// DeleteKeyPairRequest generates a "aws/request.Request" representing the
8516// client's request for the DeleteKeyPair operation. The "output" return
8517// value will be populated with the request's response once the request completes
8518// successfully.
8519//
8520// Use "Send" method on the returned Request to send the API call to the service.
8521// the "output" return value is not valid until after Send returns without error.
8522//
8523// See DeleteKeyPair for more information on using the DeleteKeyPair
8524// API call, and error handling.
8525//
8526// This method is useful when you want to inject custom logic or configuration
8527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8528//
8529//
8530//    // Example sending a request using the DeleteKeyPairRequest method.
8531//    req, resp := client.DeleteKeyPairRequest(params)
8532//
8533//    err := req.Send()
8534//    if err == nil { // resp is now filled
8535//        fmt.Println(resp)
8536//    }
8537//
8538// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
8539func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
8540	op := &request.Operation{
8541		Name:       opDeleteKeyPair,
8542		HTTPMethod: "POST",
8543		HTTPPath:   "/",
8544	}
8545
8546	if input == nil {
8547		input = &DeleteKeyPairInput{}
8548	}
8549
8550	output = &DeleteKeyPairOutput{}
8551	req = c.newRequest(op, input, output)
8552	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8553	return
8554}
8555
8556// DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
8557//
8558// Deletes the specified key pair, by removing the public key from Amazon EC2.
8559//
8560// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8561// with awserr.Error's Code and Message methods to get detailed information about
8562// the error.
8563//
8564// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8565// API operation DeleteKeyPair for usage and error information.
8566// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
8567func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
8568	req, out := c.DeleteKeyPairRequest(input)
8569	return out, req.Send()
8570}
8571
8572// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
8573// the ability to pass a context and additional request options.
8574//
8575// See DeleteKeyPair for details on how to use this API operation.
8576//
8577// The context must be non-nil and will be used for request cancellation. If
8578// the context is nil a panic will occur. In the future the SDK may create
8579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8580// for more information on using Contexts.
8581func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
8582	req, out := c.DeleteKeyPairRequest(input)
8583	req.SetContext(ctx)
8584	req.ApplyOptions(opts...)
8585	return out, req.Send()
8586}
8587
8588const opDeleteLaunchTemplate = "DeleteLaunchTemplate"
8589
8590// DeleteLaunchTemplateRequest generates a "aws/request.Request" representing the
8591// client's request for the DeleteLaunchTemplate operation. The "output" return
8592// value will be populated with the request's response once the request completes
8593// successfully.
8594//
8595// Use "Send" method on the returned Request to send the API call to the service.
8596// the "output" return value is not valid until after Send returns without error.
8597//
8598// See DeleteLaunchTemplate for more information on using the DeleteLaunchTemplate
8599// API call, and error handling.
8600//
8601// This method is useful when you want to inject custom logic or configuration
8602// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8603//
8604//
8605//    // Example sending a request using the DeleteLaunchTemplateRequest method.
8606//    req, resp := client.DeleteLaunchTemplateRequest(params)
8607//
8608//    err := req.Send()
8609//    if err == nil { // resp is now filled
8610//        fmt.Println(resp)
8611//    }
8612//
8613// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
8614func (c *EC2) DeleteLaunchTemplateRequest(input *DeleteLaunchTemplateInput) (req *request.Request, output *DeleteLaunchTemplateOutput) {
8615	op := &request.Operation{
8616		Name:       opDeleteLaunchTemplate,
8617		HTTPMethod: "POST",
8618		HTTPPath:   "/",
8619	}
8620
8621	if input == nil {
8622		input = &DeleteLaunchTemplateInput{}
8623	}
8624
8625	output = &DeleteLaunchTemplateOutput{}
8626	req = c.newRequest(op, input, output)
8627	return
8628}
8629
8630// DeleteLaunchTemplate API operation for Amazon Elastic Compute Cloud.
8631//
8632// Deletes a launch template. Deleting a launch template deletes all of its
8633// versions.
8634//
8635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8636// with awserr.Error's Code and Message methods to get detailed information about
8637// the error.
8638//
8639// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8640// API operation DeleteLaunchTemplate for usage and error information.
8641// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
8642func (c *EC2) DeleteLaunchTemplate(input *DeleteLaunchTemplateInput) (*DeleteLaunchTemplateOutput, error) {
8643	req, out := c.DeleteLaunchTemplateRequest(input)
8644	return out, req.Send()
8645}
8646
8647// DeleteLaunchTemplateWithContext is the same as DeleteLaunchTemplate with the addition of
8648// the ability to pass a context and additional request options.
8649//
8650// See DeleteLaunchTemplate for details on how to use this API operation.
8651//
8652// The context must be non-nil and will be used for request cancellation. If
8653// the context is nil a panic will occur. In the future the SDK may create
8654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8655// for more information on using Contexts.
8656func (c *EC2) DeleteLaunchTemplateWithContext(ctx aws.Context, input *DeleteLaunchTemplateInput, opts ...request.Option) (*DeleteLaunchTemplateOutput, error) {
8657	req, out := c.DeleteLaunchTemplateRequest(input)
8658	req.SetContext(ctx)
8659	req.ApplyOptions(opts...)
8660	return out, req.Send()
8661}
8662
8663const opDeleteLaunchTemplateVersions = "DeleteLaunchTemplateVersions"
8664
8665// DeleteLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
8666// client's request for the DeleteLaunchTemplateVersions operation. The "output" return
8667// value will be populated with the request's response once the request completes
8668// successfully.
8669//
8670// Use "Send" method on the returned Request to send the API call to the service.
8671// the "output" return value is not valid until after Send returns without error.
8672//
8673// See DeleteLaunchTemplateVersions for more information on using the DeleteLaunchTemplateVersions
8674// API call, and error handling.
8675//
8676// This method is useful when you want to inject custom logic or configuration
8677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8678//
8679//
8680//    // Example sending a request using the DeleteLaunchTemplateVersionsRequest method.
8681//    req, resp := client.DeleteLaunchTemplateVersionsRequest(params)
8682//
8683//    err := req.Send()
8684//    if err == nil { // resp is now filled
8685//        fmt.Println(resp)
8686//    }
8687//
8688// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
8689func (c *EC2) DeleteLaunchTemplateVersionsRequest(input *DeleteLaunchTemplateVersionsInput) (req *request.Request, output *DeleteLaunchTemplateVersionsOutput) {
8690	op := &request.Operation{
8691		Name:       opDeleteLaunchTemplateVersions,
8692		HTTPMethod: "POST",
8693		HTTPPath:   "/",
8694	}
8695
8696	if input == nil {
8697		input = &DeleteLaunchTemplateVersionsInput{}
8698	}
8699
8700	output = &DeleteLaunchTemplateVersionsOutput{}
8701	req = c.newRequest(op, input, output)
8702	return
8703}
8704
8705// DeleteLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
8706//
8707// Deletes one or more versions of a launch template. You cannot delete the
8708// default version of a launch template; you must first assign a different version
8709// as the default. If the default version is the only version for the launch
8710// template, you must delete the entire launch template using DeleteLaunchTemplate.
8711//
8712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8713// with awserr.Error's Code and Message methods to get detailed information about
8714// the error.
8715//
8716// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8717// API operation DeleteLaunchTemplateVersions for usage and error information.
8718// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
8719func (c *EC2) DeleteLaunchTemplateVersions(input *DeleteLaunchTemplateVersionsInput) (*DeleteLaunchTemplateVersionsOutput, error) {
8720	req, out := c.DeleteLaunchTemplateVersionsRequest(input)
8721	return out, req.Send()
8722}
8723
8724// DeleteLaunchTemplateVersionsWithContext is the same as DeleteLaunchTemplateVersions with the addition of
8725// the ability to pass a context and additional request options.
8726//
8727// See DeleteLaunchTemplateVersions for details on how to use this API operation.
8728//
8729// The context must be non-nil and will be used for request cancellation. If
8730// the context is nil a panic will occur. In the future the SDK may create
8731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8732// for more information on using Contexts.
8733func (c *EC2) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *DeleteLaunchTemplateVersionsInput, opts ...request.Option) (*DeleteLaunchTemplateVersionsOutput, error) {
8734	req, out := c.DeleteLaunchTemplateVersionsRequest(input)
8735	req.SetContext(ctx)
8736	req.ApplyOptions(opts...)
8737	return out, req.Send()
8738}
8739
8740const opDeleteLocalGatewayRoute = "DeleteLocalGatewayRoute"
8741
8742// DeleteLocalGatewayRouteRequest generates a "aws/request.Request" representing the
8743// client's request for the DeleteLocalGatewayRoute operation. The "output" return
8744// value will be populated with the request's response once the request completes
8745// successfully.
8746//
8747// Use "Send" method on the returned Request to send the API call to the service.
8748// the "output" return value is not valid until after Send returns without error.
8749//
8750// See DeleteLocalGatewayRoute for more information on using the DeleteLocalGatewayRoute
8751// API call, and error handling.
8752//
8753// This method is useful when you want to inject custom logic or configuration
8754// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8755//
8756//
8757//    // Example sending a request using the DeleteLocalGatewayRouteRequest method.
8758//    req, resp := client.DeleteLocalGatewayRouteRequest(params)
8759//
8760//    err := req.Send()
8761//    if err == nil { // resp is now filled
8762//        fmt.Println(resp)
8763//    }
8764//
8765// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
8766func (c *EC2) DeleteLocalGatewayRouteRequest(input *DeleteLocalGatewayRouteInput) (req *request.Request, output *DeleteLocalGatewayRouteOutput) {
8767	op := &request.Operation{
8768		Name:       opDeleteLocalGatewayRoute,
8769		HTTPMethod: "POST",
8770		HTTPPath:   "/",
8771	}
8772
8773	if input == nil {
8774		input = &DeleteLocalGatewayRouteInput{}
8775	}
8776
8777	output = &DeleteLocalGatewayRouteOutput{}
8778	req = c.newRequest(op, input, output)
8779	return
8780}
8781
8782// DeleteLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
8783//
8784// Deletes the specified route from the specified local gateway route table.
8785//
8786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8787// with awserr.Error's Code and Message methods to get detailed information about
8788// the error.
8789//
8790// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8791// API operation DeleteLocalGatewayRoute for usage and error information.
8792// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
8793func (c *EC2) DeleteLocalGatewayRoute(input *DeleteLocalGatewayRouteInput) (*DeleteLocalGatewayRouteOutput, error) {
8794	req, out := c.DeleteLocalGatewayRouteRequest(input)
8795	return out, req.Send()
8796}
8797
8798// DeleteLocalGatewayRouteWithContext is the same as DeleteLocalGatewayRoute with the addition of
8799// the ability to pass a context and additional request options.
8800//
8801// See DeleteLocalGatewayRoute for details on how to use this API operation.
8802//
8803// The context must be non-nil and will be used for request cancellation. If
8804// the context is nil a panic will occur. In the future the SDK may create
8805// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8806// for more information on using Contexts.
8807func (c *EC2) DeleteLocalGatewayRouteWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteInput, opts ...request.Option) (*DeleteLocalGatewayRouteOutput, error) {
8808	req, out := c.DeleteLocalGatewayRouteRequest(input)
8809	req.SetContext(ctx)
8810	req.ApplyOptions(opts...)
8811	return out, req.Send()
8812}
8813
8814const opDeleteLocalGatewayRouteTableVpcAssociation = "DeleteLocalGatewayRouteTableVpcAssociation"
8815
8816// DeleteLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
8817// client's request for the DeleteLocalGatewayRouteTableVpcAssociation operation. The "output" return
8818// value will be populated with the request's response once the request completes
8819// successfully.
8820//
8821// Use "Send" method on the returned Request to send the API call to the service.
8822// the "output" return value is not valid until after Send returns without error.
8823//
8824// See DeleteLocalGatewayRouteTableVpcAssociation for more information on using the DeleteLocalGatewayRouteTableVpcAssociation
8825// API call, and error handling.
8826//
8827// This method is useful when you want to inject custom logic or configuration
8828// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8829//
8830//
8831//    // Example sending a request using the DeleteLocalGatewayRouteTableVpcAssociationRequest method.
8832//    req, resp := client.DeleteLocalGatewayRouteTableVpcAssociationRequest(params)
8833//
8834//    err := req.Send()
8835//    if err == nil { // resp is now filled
8836//        fmt.Println(resp)
8837//    }
8838//
8839// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
8840func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationRequest(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *DeleteLocalGatewayRouteTableVpcAssociationOutput) {
8841	op := &request.Operation{
8842		Name:       opDeleteLocalGatewayRouteTableVpcAssociation,
8843		HTTPMethod: "POST",
8844		HTTPPath:   "/",
8845	}
8846
8847	if input == nil {
8848		input = &DeleteLocalGatewayRouteTableVpcAssociationInput{}
8849	}
8850
8851	output = &DeleteLocalGatewayRouteTableVpcAssociationOutput{}
8852	req = c.newRequest(op, input, output)
8853	return
8854}
8855
8856// DeleteLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
8857//
8858// Deletes the specified association between a VPC and local gateway route table.
8859//
8860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8861// with awserr.Error's Code and Message methods to get detailed information about
8862// the error.
8863//
8864// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8865// API operation DeleteLocalGatewayRouteTableVpcAssociation for usage and error information.
8866// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
8867func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociation(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
8868	req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
8869	return out, req.Send()
8870}
8871
8872// DeleteLocalGatewayRouteTableVpcAssociationWithContext is the same as DeleteLocalGatewayRouteTableVpcAssociation with the addition of
8873// the ability to pass a context and additional request options.
8874//
8875// See DeleteLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
8876//
8877// The context must be non-nil and will be used for request cancellation. If
8878// the context is nil a panic will occur. In the future the SDK may create
8879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8880// for more information on using Contexts.
8881func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
8882	req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
8883	req.SetContext(ctx)
8884	req.ApplyOptions(opts...)
8885	return out, req.Send()
8886}
8887
8888const opDeleteNatGateway = "DeleteNatGateway"
8889
8890// DeleteNatGatewayRequest generates a "aws/request.Request" representing the
8891// client's request for the DeleteNatGateway operation. The "output" return
8892// value will be populated with the request's response once the request completes
8893// successfully.
8894//
8895// Use "Send" method on the returned Request to send the API call to the service.
8896// the "output" return value is not valid until after Send returns without error.
8897//
8898// See DeleteNatGateway for more information on using the DeleteNatGateway
8899// API call, and error handling.
8900//
8901// This method is useful when you want to inject custom logic or configuration
8902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8903//
8904//
8905//    // Example sending a request using the DeleteNatGatewayRequest method.
8906//    req, resp := client.DeleteNatGatewayRequest(params)
8907//
8908//    err := req.Send()
8909//    if err == nil { // resp is now filled
8910//        fmt.Println(resp)
8911//    }
8912//
8913// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
8914func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
8915	op := &request.Operation{
8916		Name:       opDeleteNatGateway,
8917		HTTPMethod: "POST",
8918		HTTPPath:   "/",
8919	}
8920
8921	if input == nil {
8922		input = &DeleteNatGatewayInput{}
8923	}
8924
8925	output = &DeleteNatGatewayOutput{}
8926	req = c.newRequest(op, input, output)
8927	return
8928}
8929
8930// DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
8931//
8932// Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
8933// Elastic IP address, but does not release the address from your account. Deleting
8934// a NAT gateway does not delete any NAT gateway routes in your route tables.
8935//
8936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8937// with awserr.Error's Code and Message methods to get detailed information about
8938// the error.
8939//
8940// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8941// API operation DeleteNatGateway for usage and error information.
8942// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
8943func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
8944	req, out := c.DeleteNatGatewayRequest(input)
8945	return out, req.Send()
8946}
8947
8948// DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
8949// the ability to pass a context and additional request options.
8950//
8951// See DeleteNatGateway for details on how to use this API operation.
8952//
8953// The context must be non-nil and will be used for request cancellation. If
8954// the context is nil a panic will occur. In the future the SDK may create
8955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8956// for more information on using Contexts.
8957func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
8958	req, out := c.DeleteNatGatewayRequest(input)
8959	req.SetContext(ctx)
8960	req.ApplyOptions(opts...)
8961	return out, req.Send()
8962}
8963
8964const opDeleteNetworkAcl = "DeleteNetworkAcl"
8965
8966// DeleteNetworkAclRequest generates a "aws/request.Request" representing the
8967// client's request for the DeleteNetworkAcl operation. The "output" return
8968// value will be populated with the request's response once the request completes
8969// successfully.
8970//
8971// Use "Send" method on the returned Request to send the API call to the service.
8972// the "output" return value is not valid until after Send returns without error.
8973//
8974// See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
8975// API call, and error handling.
8976//
8977// This method is useful when you want to inject custom logic or configuration
8978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8979//
8980//
8981//    // Example sending a request using the DeleteNetworkAclRequest method.
8982//    req, resp := client.DeleteNetworkAclRequest(params)
8983//
8984//    err := req.Send()
8985//    if err == nil { // resp is now filled
8986//        fmt.Println(resp)
8987//    }
8988//
8989// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
8990func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
8991	op := &request.Operation{
8992		Name:       opDeleteNetworkAcl,
8993		HTTPMethod: "POST",
8994		HTTPPath:   "/",
8995	}
8996
8997	if input == nil {
8998		input = &DeleteNetworkAclInput{}
8999	}
9000
9001	output = &DeleteNetworkAclOutput{}
9002	req = c.newRequest(op, input, output)
9003	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9004	return
9005}
9006
9007// DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
9008//
9009// Deletes the specified network ACL. You can't delete the ACL if it's associated
9010// with any subnets. You can't delete the default network ACL.
9011//
9012// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9013// with awserr.Error's Code and Message methods to get detailed information about
9014// the error.
9015//
9016// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9017// API operation DeleteNetworkAcl for usage and error information.
9018// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
9019func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
9020	req, out := c.DeleteNetworkAclRequest(input)
9021	return out, req.Send()
9022}
9023
9024// DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
9025// the ability to pass a context and additional request options.
9026//
9027// See DeleteNetworkAcl for details on how to use this API operation.
9028//
9029// The context must be non-nil and will be used for request cancellation. If
9030// the context is nil a panic will occur. In the future the SDK may create
9031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9032// for more information on using Contexts.
9033func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
9034	req, out := c.DeleteNetworkAclRequest(input)
9035	req.SetContext(ctx)
9036	req.ApplyOptions(opts...)
9037	return out, req.Send()
9038}
9039
9040const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
9041
9042// DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
9043// client's request for the DeleteNetworkAclEntry operation. The "output" return
9044// value will be populated with the request's response once the request completes
9045// successfully.
9046//
9047// Use "Send" method on the returned Request to send the API call to the service.
9048// the "output" return value is not valid until after Send returns without error.
9049//
9050// See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
9051// API call, and error handling.
9052//
9053// This method is useful when you want to inject custom logic or configuration
9054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9055//
9056//
9057//    // Example sending a request using the DeleteNetworkAclEntryRequest method.
9058//    req, resp := client.DeleteNetworkAclEntryRequest(params)
9059//
9060//    err := req.Send()
9061//    if err == nil { // resp is now filled
9062//        fmt.Println(resp)
9063//    }
9064//
9065// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
9066func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
9067	op := &request.Operation{
9068		Name:       opDeleteNetworkAclEntry,
9069		HTTPMethod: "POST",
9070		HTTPPath:   "/",
9071	}
9072
9073	if input == nil {
9074		input = &DeleteNetworkAclEntryInput{}
9075	}
9076
9077	output = &DeleteNetworkAclEntryOutput{}
9078	req = c.newRequest(op, input, output)
9079	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9080	return
9081}
9082
9083// DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
9084//
9085// Deletes the specified ingress or egress entry (rule) from the specified network
9086// ACL.
9087//
9088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9089// with awserr.Error's Code and Message methods to get detailed information about
9090// the error.
9091//
9092// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9093// API operation DeleteNetworkAclEntry for usage and error information.
9094// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
9095func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
9096	req, out := c.DeleteNetworkAclEntryRequest(input)
9097	return out, req.Send()
9098}
9099
9100// DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
9101// the ability to pass a context and additional request options.
9102//
9103// See DeleteNetworkAclEntry for details on how to use this API operation.
9104//
9105// The context must be non-nil and will be used for request cancellation. If
9106// the context is nil a panic will occur. In the future the SDK may create
9107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9108// for more information on using Contexts.
9109func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
9110	req, out := c.DeleteNetworkAclEntryRequest(input)
9111	req.SetContext(ctx)
9112	req.ApplyOptions(opts...)
9113	return out, req.Send()
9114}
9115
9116const opDeleteNetworkInterface = "DeleteNetworkInterface"
9117
9118// DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
9119// client's request for the DeleteNetworkInterface operation. The "output" return
9120// value will be populated with the request's response once the request completes
9121// successfully.
9122//
9123// Use "Send" method on the returned Request to send the API call to the service.
9124// the "output" return value is not valid until after Send returns without error.
9125//
9126// See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
9127// API call, and error handling.
9128//
9129// This method is useful when you want to inject custom logic or configuration
9130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9131//
9132//
9133//    // Example sending a request using the DeleteNetworkInterfaceRequest method.
9134//    req, resp := client.DeleteNetworkInterfaceRequest(params)
9135//
9136//    err := req.Send()
9137//    if err == nil { // resp is now filled
9138//        fmt.Println(resp)
9139//    }
9140//
9141// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
9142func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
9143	op := &request.Operation{
9144		Name:       opDeleteNetworkInterface,
9145		HTTPMethod: "POST",
9146		HTTPPath:   "/",
9147	}
9148
9149	if input == nil {
9150		input = &DeleteNetworkInterfaceInput{}
9151	}
9152
9153	output = &DeleteNetworkInterfaceOutput{}
9154	req = c.newRequest(op, input, output)
9155	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9156	return
9157}
9158
9159// DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
9160//
9161// Deletes the specified network interface. You must detach the network interface
9162// before you can delete it.
9163//
9164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9165// with awserr.Error's Code and Message methods to get detailed information about
9166// the error.
9167//
9168// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9169// API operation DeleteNetworkInterface for usage and error information.
9170// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
9171func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
9172	req, out := c.DeleteNetworkInterfaceRequest(input)
9173	return out, req.Send()
9174}
9175
9176// DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
9177// the ability to pass a context and additional request options.
9178//
9179// See DeleteNetworkInterface for details on how to use this API operation.
9180//
9181// The context must be non-nil and will be used for request cancellation. If
9182// the context is nil a panic will occur. In the future the SDK may create
9183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9184// for more information on using Contexts.
9185func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
9186	req, out := c.DeleteNetworkInterfaceRequest(input)
9187	req.SetContext(ctx)
9188	req.ApplyOptions(opts...)
9189	return out, req.Send()
9190}
9191
9192const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
9193
9194// DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
9195// client's request for the DeleteNetworkInterfacePermission operation. The "output" return
9196// value will be populated with the request's response once the request completes
9197// successfully.
9198//
9199// Use "Send" method on the returned Request to send the API call to the service.
9200// the "output" return value is not valid until after Send returns without error.
9201//
9202// See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
9203// API call, and error handling.
9204//
9205// This method is useful when you want to inject custom logic or configuration
9206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9207//
9208//
9209//    // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
9210//    req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
9211//
9212//    err := req.Send()
9213//    if err == nil { // resp is now filled
9214//        fmt.Println(resp)
9215//    }
9216//
9217// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
9218func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
9219	op := &request.Operation{
9220		Name:       opDeleteNetworkInterfacePermission,
9221		HTTPMethod: "POST",
9222		HTTPPath:   "/",
9223	}
9224
9225	if input == nil {
9226		input = &DeleteNetworkInterfacePermissionInput{}
9227	}
9228
9229	output = &DeleteNetworkInterfacePermissionOutput{}
9230	req = c.newRequest(op, input, output)
9231	return
9232}
9233
9234// DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
9235//
9236// Deletes a permission for a network interface. By default, you cannot delete
9237// the permission if the account for which you're removing the permission has
9238// attached the network interface to an instance. However, you can force delete
9239// the permission, regardless of any attachment.
9240//
9241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9242// with awserr.Error's Code and Message methods to get detailed information about
9243// the error.
9244//
9245// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9246// API operation DeleteNetworkInterfacePermission for usage and error information.
9247// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
9248func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
9249	req, out := c.DeleteNetworkInterfacePermissionRequest(input)
9250	return out, req.Send()
9251}
9252
9253// DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
9254// the ability to pass a context and additional request options.
9255//
9256// See DeleteNetworkInterfacePermission for details on how to use this API operation.
9257//
9258// The context must be non-nil and will be used for request cancellation. If
9259// the context is nil a panic will occur. In the future the SDK may create
9260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9261// for more information on using Contexts.
9262func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
9263	req, out := c.DeleteNetworkInterfacePermissionRequest(input)
9264	req.SetContext(ctx)
9265	req.ApplyOptions(opts...)
9266	return out, req.Send()
9267}
9268
9269const opDeletePlacementGroup = "DeletePlacementGroup"
9270
9271// DeletePlacementGroupRequest generates a "aws/request.Request" representing the
9272// client's request for the DeletePlacementGroup operation. The "output" return
9273// value will be populated with the request's response once the request completes
9274// successfully.
9275//
9276// Use "Send" method on the returned Request to send the API call to the service.
9277// the "output" return value is not valid until after Send returns without error.
9278//
9279// See DeletePlacementGroup for more information on using the DeletePlacementGroup
9280// API call, and error handling.
9281//
9282// This method is useful when you want to inject custom logic or configuration
9283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9284//
9285//
9286//    // Example sending a request using the DeletePlacementGroupRequest method.
9287//    req, resp := client.DeletePlacementGroupRequest(params)
9288//
9289//    err := req.Send()
9290//    if err == nil { // resp is now filled
9291//        fmt.Println(resp)
9292//    }
9293//
9294// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
9295func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
9296	op := &request.Operation{
9297		Name:       opDeletePlacementGroup,
9298		HTTPMethod: "POST",
9299		HTTPPath:   "/",
9300	}
9301
9302	if input == nil {
9303		input = &DeletePlacementGroupInput{}
9304	}
9305
9306	output = &DeletePlacementGroupOutput{}
9307	req = c.newRequest(op, input, output)
9308	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9309	return
9310}
9311
9312// DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
9313//
9314// Deletes the specified placement group. You must terminate all instances in
9315// the placement group before you can delete the placement group. For more information,
9316// see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
9317// in the Amazon Elastic Compute Cloud User Guide.
9318//
9319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9320// with awserr.Error's Code and Message methods to get detailed information about
9321// the error.
9322//
9323// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9324// API operation DeletePlacementGroup for usage and error information.
9325// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
9326func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
9327	req, out := c.DeletePlacementGroupRequest(input)
9328	return out, req.Send()
9329}
9330
9331// DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
9332// the ability to pass a context and additional request options.
9333//
9334// See DeletePlacementGroup for details on how to use this API operation.
9335//
9336// The context must be non-nil and will be used for request cancellation. If
9337// the context is nil a panic will occur. In the future the SDK may create
9338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9339// for more information on using Contexts.
9340func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
9341	req, out := c.DeletePlacementGroupRequest(input)
9342	req.SetContext(ctx)
9343	req.ApplyOptions(opts...)
9344	return out, req.Send()
9345}
9346
9347const opDeleteQueuedReservedInstances = "DeleteQueuedReservedInstances"
9348
9349// DeleteQueuedReservedInstancesRequest generates a "aws/request.Request" representing the
9350// client's request for the DeleteQueuedReservedInstances operation. The "output" return
9351// value will be populated with the request's response once the request completes
9352// successfully.
9353//
9354// Use "Send" method on the returned Request to send the API call to the service.
9355// the "output" return value is not valid until after Send returns without error.
9356//
9357// See DeleteQueuedReservedInstances for more information on using the DeleteQueuedReservedInstances
9358// API call, and error handling.
9359//
9360// This method is useful when you want to inject custom logic or configuration
9361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9362//
9363//
9364//    // Example sending a request using the DeleteQueuedReservedInstancesRequest method.
9365//    req, resp := client.DeleteQueuedReservedInstancesRequest(params)
9366//
9367//    err := req.Send()
9368//    if err == nil { // resp is now filled
9369//        fmt.Println(resp)
9370//    }
9371//
9372// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances
9373func (c *EC2) DeleteQueuedReservedInstancesRequest(input *DeleteQueuedReservedInstancesInput) (req *request.Request, output *DeleteQueuedReservedInstancesOutput) {
9374	op := &request.Operation{
9375		Name:       opDeleteQueuedReservedInstances,
9376		HTTPMethod: "POST",
9377		HTTPPath:   "/",
9378	}
9379
9380	if input == nil {
9381		input = &DeleteQueuedReservedInstancesInput{}
9382	}
9383
9384	output = &DeleteQueuedReservedInstancesOutput{}
9385	req = c.newRequest(op, input, output)
9386	return
9387}
9388
9389// DeleteQueuedReservedInstances API operation for Amazon Elastic Compute Cloud.
9390//
9391// Deletes the queued purchases for the specified Reserved Instances.
9392//
9393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9394// with awserr.Error's Code and Message methods to get detailed information about
9395// the error.
9396//
9397// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9398// API operation DeleteQueuedReservedInstances for usage and error information.
9399// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances
9400func (c *EC2) DeleteQueuedReservedInstances(input *DeleteQueuedReservedInstancesInput) (*DeleteQueuedReservedInstancesOutput, error) {
9401	req, out := c.DeleteQueuedReservedInstancesRequest(input)
9402	return out, req.Send()
9403}
9404
9405// DeleteQueuedReservedInstancesWithContext is the same as DeleteQueuedReservedInstances with the addition of
9406// the ability to pass a context and additional request options.
9407//
9408// See DeleteQueuedReservedInstances for details on how to use this API operation.
9409//
9410// The context must be non-nil and will be used for request cancellation. If
9411// the context is nil a panic will occur. In the future the SDK may create
9412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9413// for more information on using Contexts.
9414func (c *EC2) DeleteQueuedReservedInstancesWithContext(ctx aws.Context, input *DeleteQueuedReservedInstancesInput, opts ...request.Option) (*DeleteQueuedReservedInstancesOutput, error) {
9415	req, out := c.DeleteQueuedReservedInstancesRequest(input)
9416	req.SetContext(ctx)
9417	req.ApplyOptions(opts...)
9418	return out, req.Send()
9419}
9420
9421const opDeleteRoute = "DeleteRoute"
9422
9423// DeleteRouteRequest generates a "aws/request.Request" representing the
9424// client's request for the DeleteRoute operation. The "output" return
9425// value will be populated with the request's response once the request completes
9426// successfully.
9427//
9428// Use "Send" method on the returned Request to send the API call to the service.
9429// the "output" return value is not valid until after Send returns without error.
9430//
9431// See DeleteRoute for more information on using the DeleteRoute
9432// API call, and error handling.
9433//
9434// This method is useful when you want to inject custom logic or configuration
9435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9436//
9437//
9438//    // Example sending a request using the DeleteRouteRequest method.
9439//    req, resp := client.DeleteRouteRequest(params)
9440//
9441//    err := req.Send()
9442//    if err == nil { // resp is now filled
9443//        fmt.Println(resp)
9444//    }
9445//
9446// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
9447func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
9448	op := &request.Operation{
9449		Name:       opDeleteRoute,
9450		HTTPMethod: "POST",
9451		HTTPPath:   "/",
9452	}
9453
9454	if input == nil {
9455		input = &DeleteRouteInput{}
9456	}
9457
9458	output = &DeleteRouteOutput{}
9459	req = c.newRequest(op, input, output)
9460	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9461	return
9462}
9463
9464// DeleteRoute API operation for Amazon Elastic Compute Cloud.
9465//
9466// Deletes the specified route from the specified route table.
9467//
9468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9469// with awserr.Error's Code and Message methods to get detailed information about
9470// the error.
9471//
9472// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9473// API operation DeleteRoute for usage and error information.
9474// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
9475func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
9476	req, out := c.DeleteRouteRequest(input)
9477	return out, req.Send()
9478}
9479
9480// DeleteRouteWithContext is the same as DeleteRoute with the addition of
9481// the ability to pass a context and additional request options.
9482//
9483// See DeleteRoute for details on how to use this API operation.
9484//
9485// The context must be non-nil and will be used for request cancellation. If
9486// the context is nil a panic will occur. In the future the SDK may create
9487// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9488// for more information on using Contexts.
9489func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
9490	req, out := c.DeleteRouteRequest(input)
9491	req.SetContext(ctx)
9492	req.ApplyOptions(opts...)
9493	return out, req.Send()
9494}
9495
9496const opDeleteRouteTable = "DeleteRouteTable"
9497
9498// DeleteRouteTableRequest generates a "aws/request.Request" representing the
9499// client's request for the DeleteRouteTable operation. The "output" return
9500// value will be populated with the request's response once the request completes
9501// successfully.
9502//
9503// Use "Send" method on the returned Request to send the API call to the service.
9504// the "output" return value is not valid until after Send returns without error.
9505//
9506// See DeleteRouteTable for more information on using the DeleteRouteTable
9507// API call, and error handling.
9508//
9509// This method is useful when you want to inject custom logic or configuration
9510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9511//
9512//
9513//    // Example sending a request using the DeleteRouteTableRequest method.
9514//    req, resp := client.DeleteRouteTableRequest(params)
9515//
9516//    err := req.Send()
9517//    if err == nil { // resp is now filled
9518//        fmt.Println(resp)
9519//    }
9520//
9521// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
9522func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
9523	op := &request.Operation{
9524		Name:       opDeleteRouteTable,
9525		HTTPMethod: "POST",
9526		HTTPPath:   "/",
9527	}
9528
9529	if input == nil {
9530		input = &DeleteRouteTableInput{}
9531	}
9532
9533	output = &DeleteRouteTableOutput{}
9534	req = c.newRequest(op, input, output)
9535	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9536	return
9537}
9538
9539// DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
9540//
9541// Deletes the specified route table. You must disassociate the route table
9542// from any subnets before you can delete it. You can't delete the main route
9543// table.
9544//
9545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9546// with awserr.Error's Code and Message methods to get detailed information about
9547// the error.
9548//
9549// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9550// API operation DeleteRouteTable for usage and error information.
9551// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
9552func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
9553	req, out := c.DeleteRouteTableRequest(input)
9554	return out, req.Send()
9555}
9556
9557// DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
9558// the ability to pass a context and additional request options.
9559//
9560// See DeleteRouteTable for details on how to use this API operation.
9561//
9562// The context must be non-nil and will be used for request cancellation. If
9563// the context is nil a panic will occur. In the future the SDK may create
9564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9565// for more information on using Contexts.
9566func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
9567	req, out := c.DeleteRouteTableRequest(input)
9568	req.SetContext(ctx)
9569	req.ApplyOptions(opts...)
9570	return out, req.Send()
9571}
9572
9573const opDeleteSecurityGroup = "DeleteSecurityGroup"
9574
9575// DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
9576// client's request for the DeleteSecurityGroup operation. The "output" return
9577// value will be populated with the request's response once the request completes
9578// successfully.
9579//
9580// Use "Send" method on the returned Request to send the API call to the service.
9581// the "output" return value is not valid until after Send returns without error.
9582//
9583// See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
9584// API call, and error handling.
9585//
9586// This method is useful when you want to inject custom logic or configuration
9587// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9588//
9589//
9590//    // Example sending a request using the DeleteSecurityGroupRequest method.
9591//    req, resp := client.DeleteSecurityGroupRequest(params)
9592//
9593//    err := req.Send()
9594//    if err == nil { // resp is now filled
9595//        fmt.Println(resp)
9596//    }
9597//
9598// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
9599func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
9600	op := &request.Operation{
9601		Name:       opDeleteSecurityGroup,
9602		HTTPMethod: "POST",
9603		HTTPPath:   "/",
9604	}
9605
9606	if input == nil {
9607		input = &DeleteSecurityGroupInput{}
9608	}
9609
9610	output = &DeleteSecurityGroupOutput{}
9611	req = c.newRequest(op, input, output)
9612	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9613	return
9614}
9615
9616// DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
9617//
9618// Deletes a security group.
9619//
9620// If you attempt to delete a security group that is associated with an instance,
9621// or is referenced by another security group, the operation fails with InvalidGroup.InUse
9622// in EC2-Classic or DependencyViolation in EC2-VPC.
9623//
9624// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9625// with awserr.Error's Code and Message methods to get detailed information about
9626// the error.
9627//
9628// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9629// API operation DeleteSecurityGroup for usage and error information.
9630// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
9631func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
9632	req, out := c.DeleteSecurityGroupRequest(input)
9633	return out, req.Send()
9634}
9635
9636// DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
9637// the ability to pass a context and additional request options.
9638//
9639// See DeleteSecurityGroup for details on how to use this API operation.
9640//
9641// The context must be non-nil and will be used for request cancellation. If
9642// the context is nil a panic will occur. In the future the SDK may create
9643// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9644// for more information on using Contexts.
9645func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
9646	req, out := c.DeleteSecurityGroupRequest(input)
9647	req.SetContext(ctx)
9648	req.ApplyOptions(opts...)
9649	return out, req.Send()
9650}
9651
9652const opDeleteSnapshot = "DeleteSnapshot"
9653
9654// DeleteSnapshotRequest generates a "aws/request.Request" representing the
9655// client's request for the DeleteSnapshot operation. The "output" return
9656// value will be populated with the request's response once the request completes
9657// successfully.
9658//
9659// Use "Send" method on the returned Request to send the API call to the service.
9660// the "output" return value is not valid until after Send returns without error.
9661//
9662// See DeleteSnapshot for more information on using the DeleteSnapshot
9663// API call, and error handling.
9664//
9665// This method is useful when you want to inject custom logic or configuration
9666// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9667//
9668//
9669//    // Example sending a request using the DeleteSnapshotRequest method.
9670//    req, resp := client.DeleteSnapshotRequest(params)
9671//
9672//    err := req.Send()
9673//    if err == nil { // resp is now filled
9674//        fmt.Println(resp)
9675//    }
9676//
9677// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
9678func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
9679	op := &request.Operation{
9680		Name:       opDeleteSnapshot,
9681		HTTPMethod: "POST",
9682		HTTPPath:   "/",
9683	}
9684
9685	if input == nil {
9686		input = &DeleteSnapshotInput{}
9687	}
9688
9689	output = &DeleteSnapshotOutput{}
9690	req = c.newRequest(op, input, output)
9691	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9692	return
9693}
9694
9695// DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
9696//
9697// Deletes the specified snapshot.
9698//
9699// When you make periodic snapshots of a volume, the snapshots are incremental,
9700// and only the blocks on the device that have changed since your last snapshot
9701// are saved in the new snapshot. When you delete a snapshot, only the data
9702// not needed for any other snapshot is removed. So regardless of which prior
9703// snapshots have been deleted, all active snapshots will have access to all
9704// the information needed to restore the volume.
9705//
9706// You cannot delete a snapshot of the root device of an EBS volume used by
9707// a registered AMI. You must first de-register the AMI before you can delete
9708// the snapshot.
9709//
9710// For more information, see Deleting an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
9711// in the Amazon Elastic Compute Cloud User Guide.
9712//
9713// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9714// with awserr.Error's Code and Message methods to get detailed information about
9715// the error.
9716//
9717// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9718// API operation DeleteSnapshot for usage and error information.
9719// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
9720func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
9721	req, out := c.DeleteSnapshotRequest(input)
9722	return out, req.Send()
9723}
9724
9725// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
9726// the ability to pass a context and additional request options.
9727//
9728// See DeleteSnapshot for details on how to use this API operation.
9729//
9730// The context must be non-nil and will be used for request cancellation. If
9731// the context is nil a panic will occur. In the future the SDK may create
9732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9733// for more information on using Contexts.
9734func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
9735	req, out := c.DeleteSnapshotRequest(input)
9736	req.SetContext(ctx)
9737	req.ApplyOptions(opts...)
9738	return out, req.Send()
9739}
9740
9741const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
9742
9743// DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
9744// client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
9745// value will be populated with the request's response once the request completes
9746// successfully.
9747//
9748// Use "Send" method on the returned Request to send the API call to the service.
9749// the "output" return value is not valid until after Send returns without error.
9750//
9751// See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
9752// API call, and error handling.
9753//
9754// This method is useful when you want to inject custom logic or configuration
9755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9756//
9757//
9758//    // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
9759//    req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
9760//
9761//    err := req.Send()
9762//    if err == nil { // resp is now filled
9763//        fmt.Println(resp)
9764//    }
9765//
9766// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
9767func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
9768	op := &request.Operation{
9769		Name:       opDeleteSpotDatafeedSubscription,
9770		HTTPMethod: "POST",
9771		HTTPPath:   "/",
9772	}
9773
9774	if input == nil {
9775		input = &DeleteSpotDatafeedSubscriptionInput{}
9776	}
9777
9778	output = &DeleteSpotDatafeedSubscriptionOutput{}
9779	req = c.newRequest(op, input, output)
9780	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9781	return
9782}
9783
9784// DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
9785//
9786// Deletes the data feed for Spot Instances.
9787//
9788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9789// with awserr.Error's Code and Message methods to get detailed information about
9790// the error.
9791//
9792// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9793// API operation DeleteSpotDatafeedSubscription for usage and error information.
9794// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
9795func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
9796	req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
9797	return out, req.Send()
9798}
9799
9800// DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
9801// the ability to pass a context and additional request options.
9802//
9803// See DeleteSpotDatafeedSubscription for details on how to use this API operation.
9804//
9805// The context must be non-nil and will be used for request cancellation. If
9806// the context is nil a panic will occur. In the future the SDK may create
9807// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9808// for more information on using Contexts.
9809func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
9810	req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
9811	req.SetContext(ctx)
9812	req.ApplyOptions(opts...)
9813	return out, req.Send()
9814}
9815
9816const opDeleteSubnet = "DeleteSubnet"
9817
9818// DeleteSubnetRequest generates a "aws/request.Request" representing the
9819// client's request for the DeleteSubnet operation. The "output" return
9820// value will be populated with the request's response once the request completes
9821// successfully.
9822//
9823// Use "Send" method on the returned Request to send the API call to the service.
9824// the "output" return value is not valid until after Send returns without error.
9825//
9826// See DeleteSubnet for more information on using the DeleteSubnet
9827// API call, and error handling.
9828//
9829// This method is useful when you want to inject custom logic or configuration
9830// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9831//
9832//
9833//    // Example sending a request using the DeleteSubnetRequest method.
9834//    req, resp := client.DeleteSubnetRequest(params)
9835//
9836//    err := req.Send()
9837//    if err == nil { // resp is now filled
9838//        fmt.Println(resp)
9839//    }
9840//
9841// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
9842func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
9843	op := &request.Operation{
9844		Name:       opDeleteSubnet,
9845		HTTPMethod: "POST",
9846		HTTPPath:   "/",
9847	}
9848
9849	if input == nil {
9850		input = &DeleteSubnetInput{}
9851	}
9852
9853	output = &DeleteSubnetOutput{}
9854	req = c.newRequest(op, input, output)
9855	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9856	return
9857}
9858
9859// DeleteSubnet API operation for Amazon Elastic Compute Cloud.
9860//
9861// Deletes the specified subnet. You must terminate all running instances in
9862// the subnet before you can delete the subnet.
9863//
9864// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9865// with awserr.Error's Code and Message methods to get detailed information about
9866// the error.
9867//
9868// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9869// API operation DeleteSubnet for usage and error information.
9870// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
9871func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
9872	req, out := c.DeleteSubnetRequest(input)
9873	return out, req.Send()
9874}
9875
9876// DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
9877// the ability to pass a context and additional request options.
9878//
9879// See DeleteSubnet for details on how to use this API operation.
9880//
9881// The context must be non-nil and will be used for request cancellation. If
9882// the context is nil a panic will occur. In the future the SDK may create
9883// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9884// for more information on using Contexts.
9885func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
9886	req, out := c.DeleteSubnetRequest(input)
9887	req.SetContext(ctx)
9888	req.ApplyOptions(opts...)
9889	return out, req.Send()
9890}
9891
9892const opDeleteTags = "DeleteTags"
9893
9894// DeleteTagsRequest generates a "aws/request.Request" representing the
9895// client's request for the DeleteTags operation. The "output" return
9896// value will be populated with the request's response once the request completes
9897// successfully.
9898//
9899// Use "Send" method on the returned Request to send the API call to the service.
9900// the "output" return value is not valid until after Send returns without error.
9901//
9902// See DeleteTags for more information on using the DeleteTags
9903// API call, and error handling.
9904//
9905// This method is useful when you want to inject custom logic or configuration
9906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9907//
9908//
9909//    // Example sending a request using the DeleteTagsRequest method.
9910//    req, resp := client.DeleteTagsRequest(params)
9911//
9912//    err := req.Send()
9913//    if err == nil { // resp is now filled
9914//        fmt.Println(resp)
9915//    }
9916//
9917// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
9918func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
9919	op := &request.Operation{
9920		Name:       opDeleteTags,
9921		HTTPMethod: "POST",
9922		HTTPPath:   "/",
9923	}
9924
9925	if input == nil {
9926		input = &DeleteTagsInput{}
9927	}
9928
9929	output = &DeleteTagsOutput{}
9930	req = c.newRequest(op, input, output)
9931	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9932	return
9933}
9934
9935// DeleteTags API operation for Amazon Elastic Compute Cloud.
9936//
9937// Deletes the specified set of tags from the specified set of resources.
9938//
9939// To list the current tags, use DescribeTags. For more information about tags,
9940// see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
9941// in the Amazon Elastic Compute Cloud User Guide.
9942//
9943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9944// with awserr.Error's Code and Message methods to get detailed information about
9945// the error.
9946//
9947// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9948// API operation DeleteTags for usage and error information.
9949// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
9950func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
9951	req, out := c.DeleteTagsRequest(input)
9952	return out, req.Send()
9953}
9954
9955// DeleteTagsWithContext is the same as DeleteTags with the addition of
9956// the ability to pass a context and additional request options.
9957//
9958// See DeleteTags for details on how to use this API operation.
9959//
9960// The context must be non-nil and will be used for request cancellation. If
9961// the context is nil a panic will occur. In the future the SDK may create
9962// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9963// for more information on using Contexts.
9964func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
9965	req, out := c.DeleteTagsRequest(input)
9966	req.SetContext(ctx)
9967	req.ApplyOptions(opts...)
9968	return out, req.Send()
9969}
9970
9971const opDeleteTrafficMirrorFilter = "DeleteTrafficMirrorFilter"
9972
9973// DeleteTrafficMirrorFilterRequest generates a "aws/request.Request" representing the
9974// client's request for the DeleteTrafficMirrorFilter operation. The "output" return
9975// value will be populated with the request's response once the request completes
9976// successfully.
9977//
9978// Use "Send" method on the returned Request to send the API call to the service.
9979// the "output" return value is not valid until after Send returns without error.
9980//
9981// See DeleteTrafficMirrorFilter for more information on using the DeleteTrafficMirrorFilter
9982// API call, and error handling.
9983//
9984// This method is useful when you want to inject custom logic or configuration
9985// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9986//
9987//
9988//    // Example sending a request using the DeleteTrafficMirrorFilterRequest method.
9989//    req, resp := client.DeleteTrafficMirrorFilterRequest(params)
9990//
9991//    err := req.Send()
9992//    if err == nil { // resp is now filled
9993//        fmt.Println(resp)
9994//    }
9995//
9996// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter
9997func (c *EC2) DeleteTrafficMirrorFilterRequest(input *DeleteTrafficMirrorFilterInput) (req *request.Request, output *DeleteTrafficMirrorFilterOutput) {
9998	op := &request.Operation{
9999		Name:       opDeleteTrafficMirrorFilter,
10000		HTTPMethod: "POST",
10001		HTTPPath:   "/",
10002	}
10003
10004	if input == nil {
10005		input = &DeleteTrafficMirrorFilterInput{}
10006	}
10007
10008	output = &DeleteTrafficMirrorFilterOutput{}
10009	req = c.newRequest(op, input, output)
10010	return
10011}
10012
10013// DeleteTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud.
10014//
10015// Deletes the specified Traffic Mirror filter.
10016//
10017// You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror
10018// session.
10019//
10020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10021// with awserr.Error's Code and Message methods to get detailed information about
10022// the error.
10023//
10024// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10025// API operation DeleteTrafficMirrorFilter for usage and error information.
10026// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter
10027func (c *EC2) DeleteTrafficMirrorFilter(input *DeleteTrafficMirrorFilterInput) (*DeleteTrafficMirrorFilterOutput, error) {
10028	req, out := c.DeleteTrafficMirrorFilterRequest(input)
10029	return out, req.Send()
10030}
10031
10032// DeleteTrafficMirrorFilterWithContext is the same as DeleteTrafficMirrorFilter with the addition of
10033// the ability to pass a context and additional request options.
10034//
10035// See DeleteTrafficMirrorFilter for details on how to use this API operation.
10036//
10037// The context must be non-nil and will be used for request cancellation. If
10038// the context is nil a panic will occur. In the future the SDK may create
10039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10040// for more information on using Contexts.
10041func (c *EC2) DeleteTrafficMirrorFilterWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterInput, opts ...request.Option) (*DeleteTrafficMirrorFilterOutput, error) {
10042	req, out := c.DeleteTrafficMirrorFilterRequest(input)
10043	req.SetContext(ctx)
10044	req.ApplyOptions(opts...)
10045	return out, req.Send()
10046}
10047
10048const opDeleteTrafficMirrorFilterRule = "DeleteTrafficMirrorFilterRule"
10049
10050// DeleteTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
10051// client's request for the DeleteTrafficMirrorFilterRule operation. The "output" return
10052// value will be populated with the request's response once the request completes
10053// successfully.
10054//
10055// Use "Send" method on the returned Request to send the API call to the service.
10056// the "output" return value is not valid until after Send returns without error.
10057//
10058// See DeleteTrafficMirrorFilterRule for more information on using the DeleteTrafficMirrorFilterRule
10059// API call, and error handling.
10060//
10061// This method is useful when you want to inject custom logic or configuration
10062// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10063//
10064//
10065//    // Example sending a request using the DeleteTrafficMirrorFilterRuleRequest method.
10066//    req, resp := client.DeleteTrafficMirrorFilterRuleRequest(params)
10067//
10068//    err := req.Send()
10069//    if err == nil { // resp is now filled
10070//        fmt.Println(resp)
10071//    }
10072//
10073// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule
10074func (c *EC2) DeleteTrafficMirrorFilterRuleRequest(input *DeleteTrafficMirrorFilterRuleInput) (req *request.Request, output *DeleteTrafficMirrorFilterRuleOutput) {
10075	op := &request.Operation{
10076		Name:       opDeleteTrafficMirrorFilterRule,
10077		HTTPMethod: "POST",
10078		HTTPPath:   "/",
10079	}
10080
10081	if input == nil {
10082		input = &DeleteTrafficMirrorFilterRuleInput{}
10083	}
10084
10085	output = &DeleteTrafficMirrorFilterRuleOutput{}
10086	req = c.newRequest(op, input, output)
10087	return
10088}
10089
10090// DeleteTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
10091//
10092// Deletes the specified Traffic Mirror rule.
10093//
10094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10095// with awserr.Error's Code and Message methods to get detailed information about
10096// the error.
10097//
10098// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10099// API operation DeleteTrafficMirrorFilterRule for usage and error information.
10100// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule
10101func (c *EC2) DeleteTrafficMirrorFilterRule(input *DeleteTrafficMirrorFilterRuleInput) (*DeleteTrafficMirrorFilterRuleOutput, error) {
10102	req, out := c.DeleteTrafficMirrorFilterRuleRequest(input)
10103	return out, req.Send()
10104}
10105
10106// DeleteTrafficMirrorFilterRuleWithContext is the same as DeleteTrafficMirrorFilterRule with the addition of
10107// the ability to pass a context and additional request options.
10108//
10109// See DeleteTrafficMirrorFilterRule for details on how to use this API operation.
10110//
10111// The context must be non-nil and will be used for request cancellation. If
10112// the context is nil a panic will occur. In the future the SDK may create
10113// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10114// for more information on using Contexts.
10115func (c *EC2) DeleteTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterRuleInput, opts ...request.Option) (*DeleteTrafficMirrorFilterRuleOutput, error) {
10116	req, out := c.DeleteTrafficMirrorFilterRuleRequest(input)
10117	req.SetContext(ctx)
10118	req.ApplyOptions(opts...)
10119	return out, req.Send()
10120}
10121
10122const opDeleteTrafficMirrorSession = "DeleteTrafficMirrorSession"
10123
10124// DeleteTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
10125// client's request for the DeleteTrafficMirrorSession operation. The "output" return
10126// value will be populated with the request's response once the request completes
10127// successfully.
10128//
10129// Use "Send" method on the returned Request to send the API call to the service.
10130// the "output" return value is not valid until after Send returns without error.
10131//
10132// See DeleteTrafficMirrorSession for more information on using the DeleteTrafficMirrorSession
10133// API call, and error handling.
10134//
10135// This method is useful when you want to inject custom logic or configuration
10136// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10137//
10138//
10139//    // Example sending a request using the DeleteTrafficMirrorSessionRequest method.
10140//    req, resp := client.DeleteTrafficMirrorSessionRequest(params)
10141//
10142//    err := req.Send()
10143//    if err == nil { // resp is now filled
10144//        fmt.Println(resp)
10145//    }
10146//
10147// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession
10148func (c *EC2) DeleteTrafficMirrorSessionRequest(input *DeleteTrafficMirrorSessionInput) (req *request.Request, output *DeleteTrafficMirrorSessionOutput) {
10149	op := &request.Operation{
10150		Name:       opDeleteTrafficMirrorSession,
10151		HTTPMethod: "POST",
10152		HTTPPath:   "/",
10153	}
10154
10155	if input == nil {
10156		input = &DeleteTrafficMirrorSessionInput{}
10157	}
10158
10159	output = &DeleteTrafficMirrorSessionOutput{}
10160	req = c.newRequest(op, input, output)
10161	return
10162}
10163
10164// DeleteTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
10165//
10166// Deletes the specified Traffic Mirror session.
10167//
10168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10169// with awserr.Error's Code and Message methods to get detailed information about
10170// the error.
10171//
10172// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10173// API operation DeleteTrafficMirrorSession for usage and error information.
10174// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession
10175func (c *EC2) DeleteTrafficMirrorSession(input *DeleteTrafficMirrorSessionInput) (*DeleteTrafficMirrorSessionOutput, error) {
10176	req, out := c.DeleteTrafficMirrorSessionRequest(input)
10177	return out, req.Send()
10178}
10179
10180// DeleteTrafficMirrorSessionWithContext is the same as DeleteTrafficMirrorSession with the addition of
10181// the ability to pass a context and additional request options.
10182//
10183// See DeleteTrafficMirrorSession for details on how to use this API operation.
10184//
10185// The context must be non-nil and will be used for request cancellation. If
10186// the context is nil a panic will occur. In the future the SDK may create
10187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10188// for more information on using Contexts.
10189func (c *EC2) DeleteTrafficMirrorSessionWithContext(ctx aws.Context, input *DeleteTrafficMirrorSessionInput, opts ...request.Option) (*DeleteTrafficMirrorSessionOutput, error) {
10190	req, out := c.DeleteTrafficMirrorSessionRequest(input)
10191	req.SetContext(ctx)
10192	req.ApplyOptions(opts...)
10193	return out, req.Send()
10194}
10195
10196const opDeleteTrafficMirrorTarget = "DeleteTrafficMirrorTarget"
10197
10198// DeleteTrafficMirrorTargetRequest generates a "aws/request.Request" representing the
10199// client's request for the DeleteTrafficMirrorTarget operation. The "output" return
10200// value will be populated with the request's response once the request completes
10201// successfully.
10202//
10203// Use "Send" method on the returned Request to send the API call to the service.
10204// the "output" return value is not valid until after Send returns without error.
10205//
10206// See DeleteTrafficMirrorTarget for more information on using the DeleteTrafficMirrorTarget
10207// API call, and error handling.
10208//
10209// This method is useful when you want to inject custom logic or configuration
10210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10211//
10212//
10213//    // Example sending a request using the DeleteTrafficMirrorTargetRequest method.
10214//    req, resp := client.DeleteTrafficMirrorTargetRequest(params)
10215//
10216//    err := req.Send()
10217//    if err == nil { // resp is now filled
10218//        fmt.Println(resp)
10219//    }
10220//
10221// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget
10222func (c *EC2) DeleteTrafficMirrorTargetRequest(input *DeleteTrafficMirrorTargetInput) (req *request.Request, output *DeleteTrafficMirrorTargetOutput) {
10223	op := &request.Operation{
10224		Name:       opDeleteTrafficMirrorTarget,
10225		HTTPMethod: "POST",
10226		HTTPPath:   "/",
10227	}
10228
10229	if input == nil {
10230		input = &DeleteTrafficMirrorTargetInput{}
10231	}
10232
10233	output = &DeleteTrafficMirrorTargetOutput{}
10234	req = c.newRequest(op, input, output)
10235	return
10236}
10237
10238// DeleteTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud.
10239//
10240// Deletes the specified Traffic Mirror target.
10241//
10242// You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror
10243// session.
10244//
10245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10246// with awserr.Error's Code and Message methods to get detailed information about
10247// the error.
10248//
10249// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10250// API operation DeleteTrafficMirrorTarget for usage and error information.
10251// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget
10252func (c *EC2) DeleteTrafficMirrorTarget(input *DeleteTrafficMirrorTargetInput) (*DeleteTrafficMirrorTargetOutput, error) {
10253	req, out := c.DeleteTrafficMirrorTargetRequest(input)
10254	return out, req.Send()
10255}
10256
10257// DeleteTrafficMirrorTargetWithContext is the same as DeleteTrafficMirrorTarget with the addition of
10258// the ability to pass a context and additional request options.
10259//
10260// See DeleteTrafficMirrorTarget for details on how to use this API operation.
10261//
10262// The context must be non-nil and will be used for request cancellation. If
10263// the context is nil a panic will occur. In the future the SDK may create
10264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10265// for more information on using Contexts.
10266func (c *EC2) DeleteTrafficMirrorTargetWithContext(ctx aws.Context, input *DeleteTrafficMirrorTargetInput, opts ...request.Option) (*DeleteTrafficMirrorTargetOutput, error) {
10267	req, out := c.DeleteTrafficMirrorTargetRequest(input)
10268	req.SetContext(ctx)
10269	req.ApplyOptions(opts...)
10270	return out, req.Send()
10271}
10272
10273const opDeleteTransitGateway = "DeleteTransitGateway"
10274
10275// DeleteTransitGatewayRequest generates a "aws/request.Request" representing the
10276// client's request for the DeleteTransitGateway operation. The "output" return
10277// value will be populated with the request's response once the request completes
10278// successfully.
10279//
10280// Use "Send" method on the returned Request to send the API call to the service.
10281// the "output" return value is not valid until after Send returns without error.
10282//
10283// See DeleteTransitGateway for more information on using the DeleteTransitGateway
10284// API call, and error handling.
10285//
10286// This method is useful when you want to inject custom logic or configuration
10287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10288//
10289//
10290//    // Example sending a request using the DeleteTransitGatewayRequest method.
10291//    req, resp := client.DeleteTransitGatewayRequest(params)
10292//
10293//    err := req.Send()
10294//    if err == nil { // resp is now filled
10295//        fmt.Println(resp)
10296//    }
10297//
10298// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
10299func (c *EC2) DeleteTransitGatewayRequest(input *DeleteTransitGatewayInput) (req *request.Request, output *DeleteTransitGatewayOutput) {
10300	op := &request.Operation{
10301		Name:       opDeleteTransitGateway,
10302		HTTPMethod: "POST",
10303		HTTPPath:   "/",
10304	}
10305
10306	if input == nil {
10307		input = &DeleteTransitGatewayInput{}
10308	}
10309
10310	output = &DeleteTransitGatewayOutput{}
10311	req = c.newRequest(op, input, output)
10312	return
10313}
10314
10315// DeleteTransitGateway API operation for Amazon Elastic Compute Cloud.
10316//
10317// Deletes the specified transit gateway.
10318//
10319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10320// with awserr.Error's Code and Message methods to get detailed information about
10321// the error.
10322//
10323// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10324// API operation DeleteTransitGateway for usage and error information.
10325// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
10326func (c *EC2) DeleteTransitGateway(input *DeleteTransitGatewayInput) (*DeleteTransitGatewayOutput, error) {
10327	req, out := c.DeleteTransitGatewayRequest(input)
10328	return out, req.Send()
10329}
10330
10331// DeleteTransitGatewayWithContext is the same as DeleteTransitGateway with the addition of
10332// the ability to pass a context and additional request options.
10333//
10334// See DeleteTransitGateway for details on how to use this API operation.
10335//
10336// The context must be non-nil and will be used for request cancellation. If
10337// the context is nil a panic will occur. In the future the SDK may create
10338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10339// for more information on using Contexts.
10340func (c *EC2) DeleteTransitGatewayWithContext(ctx aws.Context, input *DeleteTransitGatewayInput, opts ...request.Option) (*DeleteTransitGatewayOutput, error) {
10341	req, out := c.DeleteTransitGatewayRequest(input)
10342	req.SetContext(ctx)
10343	req.ApplyOptions(opts...)
10344	return out, req.Send()
10345}
10346
10347const opDeleteTransitGatewayMulticastDomain = "DeleteTransitGatewayMulticastDomain"
10348
10349// DeleteTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
10350// client's request for the DeleteTransitGatewayMulticastDomain operation. The "output" return
10351// value will be populated with the request's response once the request completes
10352// successfully.
10353//
10354// Use "Send" method on the returned Request to send the API call to the service.
10355// the "output" return value is not valid until after Send returns without error.
10356//
10357// See DeleteTransitGatewayMulticastDomain for more information on using the DeleteTransitGatewayMulticastDomain
10358// API call, and error handling.
10359//
10360// This method is useful when you want to inject custom logic or configuration
10361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10362//
10363//
10364//    // Example sending a request using the DeleteTransitGatewayMulticastDomainRequest method.
10365//    req, resp := client.DeleteTransitGatewayMulticastDomainRequest(params)
10366//
10367//    err := req.Send()
10368//    if err == nil { // resp is now filled
10369//        fmt.Println(resp)
10370//    }
10371//
10372// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
10373func (c *EC2) DeleteTransitGatewayMulticastDomainRequest(input *DeleteTransitGatewayMulticastDomainInput) (req *request.Request, output *DeleteTransitGatewayMulticastDomainOutput) {
10374	op := &request.Operation{
10375		Name:       opDeleteTransitGatewayMulticastDomain,
10376		HTTPMethod: "POST",
10377		HTTPPath:   "/",
10378	}
10379
10380	if input == nil {
10381		input = &DeleteTransitGatewayMulticastDomainInput{}
10382	}
10383
10384	output = &DeleteTransitGatewayMulticastDomainOutput{}
10385	req = c.newRequest(op, input, output)
10386	return
10387}
10388
10389// DeleteTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
10390//
10391// Deletes the specified transit gateway multicast domain.
10392//
10393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10394// with awserr.Error's Code and Message methods to get detailed information about
10395// the error.
10396//
10397// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10398// API operation DeleteTransitGatewayMulticastDomain for usage and error information.
10399// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
10400func (c *EC2) DeleteTransitGatewayMulticastDomain(input *DeleteTransitGatewayMulticastDomainInput) (*DeleteTransitGatewayMulticastDomainOutput, error) {
10401	req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
10402	return out, req.Send()
10403}
10404
10405// DeleteTransitGatewayMulticastDomainWithContext is the same as DeleteTransitGatewayMulticastDomain with the addition of
10406// the ability to pass a context and additional request options.
10407//
10408// See DeleteTransitGatewayMulticastDomain for details on how to use this API operation.
10409//
10410// The context must be non-nil and will be used for request cancellation. If
10411// the context is nil a panic will occur. In the future the SDK may create
10412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10413// for more information on using Contexts.
10414func (c *EC2) DeleteTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DeleteTransitGatewayMulticastDomainInput, opts ...request.Option) (*DeleteTransitGatewayMulticastDomainOutput, error) {
10415	req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
10416	req.SetContext(ctx)
10417	req.ApplyOptions(opts...)
10418	return out, req.Send()
10419}
10420
10421const opDeleteTransitGatewayPeeringAttachment = "DeleteTransitGatewayPeeringAttachment"
10422
10423// DeleteTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
10424// client's request for the DeleteTransitGatewayPeeringAttachment operation. The "output" return
10425// value will be populated with the request's response once the request completes
10426// successfully.
10427//
10428// Use "Send" method on the returned Request to send the API call to the service.
10429// the "output" return value is not valid until after Send returns without error.
10430//
10431// See DeleteTransitGatewayPeeringAttachment for more information on using the DeleteTransitGatewayPeeringAttachment
10432// API call, and error handling.
10433//
10434// This method is useful when you want to inject custom logic or configuration
10435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10436//
10437//
10438//    // Example sending a request using the DeleteTransitGatewayPeeringAttachmentRequest method.
10439//    req, resp := client.DeleteTransitGatewayPeeringAttachmentRequest(params)
10440//
10441//    err := req.Send()
10442//    if err == nil { // resp is now filled
10443//        fmt.Println(resp)
10444//    }
10445//
10446// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
10447func (c *EC2) DeleteTransitGatewayPeeringAttachmentRequest(input *DeleteTransitGatewayPeeringAttachmentInput) (req *request.Request, output *DeleteTransitGatewayPeeringAttachmentOutput) {
10448	op := &request.Operation{
10449		Name:       opDeleteTransitGatewayPeeringAttachment,
10450		HTTPMethod: "POST",
10451		HTTPPath:   "/",
10452	}
10453
10454	if input == nil {
10455		input = &DeleteTransitGatewayPeeringAttachmentInput{}
10456	}
10457
10458	output = &DeleteTransitGatewayPeeringAttachmentOutput{}
10459	req = c.newRequest(op, input, output)
10460	return
10461}
10462
10463// DeleteTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
10464//
10465// Deletes a transit gateway peering attachment.
10466//
10467// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10468// with awserr.Error's Code and Message methods to get detailed information about
10469// the error.
10470//
10471// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10472// API operation DeleteTransitGatewayPeeringAttachment for usage and error information.
10473// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
10474func (c *EC2) DeleteTransitGatewayPeeringAttachment(input *DeleteTransitGatewayPeeringAttachmentInput) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
10475	req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
10476	return out, req.Send()
10477}
10478
10479// DeleteTransitGatewayPeeringAttachmentWithContext is the same as DeleteTransitGatewayPeeringAttachment with the addition of
10480// the ability to pass a context and additional request options.
10481//
10482// See DeleteTransitGatewayPeeringAttachment for details on how to use this API operation.
10483//
10484// The context must be non-nil and will be used for request cancellation. If
10485// the context is nil a panic will occur. In the future the SDK may create
10486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10487// for more information on using Contexts.
10488func (c *EC2) DeleteTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
10489	req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
10490	req.SetContext(ctx)
10491	req.ApplyOptions(opts...)
10492	return out, req.Send()
10493}
10494
10495const opDeleteTransitGatewayRoute = "DeleteTransitGatewayRoute"
10496
10497// DeleteTransitGatewayRouteRequest generates a "aws/request.Request" representing the
10498// client's request for the DeleteTransitGatewayRoute operation. The "output" return
10499// value will be populated with the request's response once the request completes
10500// successfully.
10501//
10502// Use "Send" method on the returned Request to send the API call to the service.
10503// the "output" return value is not valid until after Send returns without error.
10504//
10505// See DeleteTransitGatewayRoute for more information on using the DeleteTransitGatewayRoute
10506// API call, and error handling.
10507//
10508// This method is useful when you want to inject custom logic or configuration
10509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10510//
10511//
10512//    // Example sending a request using the DeleteTransitGatewayRouteRequest method.
10513//    req, resp := client.DeleteTransitGatewayRouteRequest(params)
10514//
10515//    err := req.Send()
10516//    if err == nil { // resp is now filled
10517//        fmt.Println(resp)
10518//    }
10519//
10520// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
10521func (c *EC2) DeleteTransitGatewayRouteRequest(input *DeleteTransitGatewayRouteInput) (req *request.Request, output *DeleteTransitGatewayRouteOutput) {
10522	op := &request.Operation{
10523		Name:       opDeleteTransitGatewayRoute,
10524		HTTPMethod: "POST",
10525		HTTPPath:   "/",
10526	}
10527
10528	if input == nil {
10529		input = &DeleteTransitGatewayRouteInput{}
10530	}
10531
10532	output = &DeleteTransitGatewayRouteOutput{}
10533	req = c.newRequest(op, input, output)
10534	return
10535}
10536
10537// DeleteTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
10538//
10539// Deletes the specified route from the specified transit gateway route table.
10540//
10541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10542// with awserr.Error's Code and Message methods to get detailed information about
10543// the error.
10544//
10545// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10546// API operation DeleteTransitGatewayRoute for usage and error information.
10547// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
10548func (c *EC2) DeleteTransitGatewayRoute(input *DeleteTransitGatewayRouteInput) (*DeleteTransitGatewayRouteOutput, error) {
10549	req, out := c.DeleteTransitGatewayRouteRequest(input)
10550	return out, req.Send()
10551}
10552
10553// DeleteTransitGatewayRouteWithContext is the same as DeleteTransitGatewayRoute with the addition of
10554// the ability to pass a context and additional request options.
10555//
10556// See DeleteTransitGatewayRoute for details on how to use this API operation.
10557//
10558// The context must be non-nil and will be used for request cancellation. If
10559// the context is nil a panic will occur. In the future the SDK may create
10560// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10561// for more information on using Contexts.
10562func (c *EC2) DeleteTransitGatewayRouteWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteInput, opts ...request.Option) (*DeleteTransitGatewayRouteOutput, error) {
10563	req, out := c.DeleteTransitGatewayRouteRequest(input)
10564	req.SetContext(ctx)
10565	req.ApplyOptions(opts...)
10566	return out, req.Send()
10567}
10568
10569const opDeleteTransitGatewayRouteTable = "DeleteTransitGatewayRouteTable"
10570
10571// DeleteTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
10572// client's request for the DeleteTransitGatewayRouteTable operation. The "output" return
10573// value will be populated with the request's response once the request completes
10574// successfully.
10575//
10576// Use "Send" method on the returned Request to send the API call to the service.
10577// the "output" return value is not valid until after Send returns without error.
10578//
10579// See DeleteTransitGatewayRouteTable for more information on using the DeleteTransitGatewayRouteTable
10580// API call, and error handling.
10581//
10582// This method is useful when you want to inject custom logic or configuration
10583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10584//
10585//
10586//    // Example sending a request using the DeleteTransitGatewayRouteTableRequest method.
10587//    req, resp := client.DeleteTransitGatewayRouteTableRequest(params)
10588//
10589//    err := req.Send()
10590//    if err == nil { // resp is now filled
10591//        fmt.Println(resp)
10592//    }
10593//
10594// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
10595func (c *EC2) DeleteTransitGatewayRouteTableRequest(input *DeleteTransitGatewayRouteTableInput) (req *request.Request, output *DeleteTransitGatewayRouteTableOutput) {
10596	op := &request.Operation{
10597		Name:       opDeleteTransitGatewayRouteTable,
10598		HTTPMethod: "POST",
10599		HTTPPath:   "/",
10600	}
10601
10602	if input == nil {
10603		input = &DeleteTransitGatewayRouteTableInput{}
10604	}
10605
10606	output = &DeleteTransitGatewayRouteTableOutput{}
10607	req = c.newRequest(op, input, output)
10608	return
10609}
10610
10611// DeleteTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
10612//
10613// Deletes the specified transit gateway route table. You must disassociate
10614// the route table from any transit gateway route tables before you can delete
10615// it.
10616//
10617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10618// with awserr.Error's Code and Message methods to get detailed information about
10619// the error.
10620//
10621// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10622// API operation DeleteTransitGatewayRouteTable for usage and error information.
10623// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
10624func (c *EC2) DeleteTransitGatewayRouteTable(input *DeleteTransitGatewayRouteTableInput) (*DeleteTransitGatewayRouteTableOutput, error) {
10625	req, out := c.DeleteTransitGatewayRouteTableRequest(input)
10626	return out, req.Send()
10627}
10628
10629// DeleteTransitGatewayRouteTableWithContext is the same as DeleteTransitGatewayRouteTable with the addition of
10630// the ability to pass a context and additional request options.
10631//
10632// See DeleteTransitGatewayRouteTable for details on how to use this API operation.
10633//
10634// The context must be non-nil and will be used for request cancellation. If
10635// the context is nil a panic will occur. In the future the SDK may create
10636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10637// for more information on using Contexts.
10638func (c *EC2) DeleteTransitGatewayRouteTableWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteTableInput, opts ...request.Option) (*DeleteTransitGatewayRouteTableOutput, error) {
10639	req, out := c.DeleteTransitGatewayRouteTableRequest(input)
10640	req.SetContext(ctx)
10641	req.ApplyOptions(opts...)
10642	return out, req.Send()
10643}
10644
10645const opDeleteTransitGatewayVpcAttachment = "DeleteTransitGatewayVpcAttachment"
10646
10647// DeleteTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
10648// client's request for the DeleteTransitGatewayVpcAttachment operation. The "output" return
10649// value will be populated with the request's response once the request completes
10650// successfully.
10651//
10652// Use "Send" method on the returned Request to send the API call to the service.
10653// the "output" return value is not valid until after Send returns without error.
10654//
10655// See DeleteTransitGatewayVpcAttachment for more information on using the DeleteTransitGatewayVpcAttachment
10656// API call, and error handling.
10657//
10658// This method is useful when you want to inject custom logic or configuration
10659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10660//
10661//
10662//    // Example sending a request using the DeleteTransitGatewayVpcAttachmentRequest method.
10663//    req, resp := client.DeleteTransitGatewayVpcAttachmentRequest(params)
10664//
10665//    err := req.Send()
10666//    if err == nil { // resp is now filled
10667//        fmt.Println(resp)
10668//    }
10669//
10670// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
10671func (c *EC2) DeleteTransitGatewayVpcAttachmentRequest(input *DeleteTransitGatewayVpcAttachmentInput) (req *request.Request, output *DeleteTransitGatewayVpcAttachmentOutput) {
10672	op := &request.Operation{
10673		Name:       opDeleteTransitGatewayVpcAttachment,
10674		HTTPMethod: "POST",
10675		HTTPPath:   "/",
10676	}
10677
10678	if input == nil {
10679		input = &DeleteTransitGatewayVpcAttachmentInput{}
10680	}
10681
10682	output = &DeleteTransitGatewayVpcAttachmentOutput{}
10683	req = c.newRequest(op, input, output)
10684	return
10685}
10686
10687// DeleteTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
10688//
10689// Deletes the specified VPC attachment.
10690//
10691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10692// with awserr.Error's Code and Message methods to get detailed information about
10693// the error.
10694//
10695// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10696// API operation DeleteTransitGatewayVpcAttachment for usage and error information.
10697// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
10698func (c *EC2) DeleteTransitGatewayVpcAttachment(input *DeleteTransitGatewayVpcAttachmentInput) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
10699	req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
10700	return out, req.Send()
10701}
10702
10703// DeleteTransitGatewayVpcAttachmentWithContext is the same as DeleteTransitGatewayVpcAttachment with the addition of
10704// the ability to pass a context and additional request options.
10705//
10706// See DeleteTransitGatewayVpcAttachment for details on how to use this API operation.
10707//
10708// The context must be non-nil and will be used for request cancellation. If
10709// the context is nil a panic will occur. In the future the SDK may create
10710// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10711// for more information on using Contexts.
10712func (c *EC2) DeleteTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayVpcAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
10713	req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
10714	req.SetContext(ctx)
10715	req.ApplyOptions(opts...)
10716	return out, req.Send()
10717}
10718
10719const opDeleteVolume = "DeleteVolume"
10720
10721// DeleteVolumeRequest generates a "aws/request.Request" representing the
10722// client's request for the DeleteVolume operation. The "output" return
10723// value will be populated with the request's response once the request completes
10724// successfully.
10725//
10726// Use "Send" method on the returned Request to send the API call to the service.
10727// the "output" return value is not valid until after Send returns without error.
10728//
10729// See DeleteVolume for more information on using the DeleteVolume
10730// API call, and error handling.
10731//
10732// This method is useful when you want to inject custom logic or configuration
10733// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10734//
10735//
10736//    // Example sending a request using the DeleteVolumeRequest method.
10737//    req, resp := client.DeleteVolumeRequest(params)
10738//
10739//    err := req.Send()
10740//    if err == nil { // resp is now filled
10741//        fmt.Println(resp)
10742//    }
10743//
10744// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
10745func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
10746	op := &request.Operation{
10747		Name:       opDeleteVolume,
10748		HTTPMethod: "POST",
10749		HTTPPath:   "/",
10750	}
10751
10752	if input == nil {
10753		input = &DeleteVolumeInput{}
10754	}
10755
10756	output = &DeleteVolumeOutput{}
10757	req = c.newRequest(op, input, output)
10758	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10759	return
10760}
10761
10762// DeleteVolume API operation for Amazon Elastic Compute Cloud.
10763//
10764// Deletes the specified EBS volume. The volume must be in the available state
10765// (not attached to an instance).
10766//
10767// The volume can remain in the deleting state for several minutes.
10768//
10769// For more information, see Deleting an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
10770// in the Amazon Elastic Compute Cloud User Guide.
10771//
10772// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10773// with awserr.Error's Code and Message methods to get detailed information about
10774// the error.
10775//
10776// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10777// API operation DeleteVolume for usage and error information.
10778// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
10779func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
10780	req, out := c.DeleteVolumeRequest(input)
10781	return out, req.Send()
10782}
10783
10784// DeleteVolumeWithContext is the same as DeleteVolume with the addition of
10785// the ability to pass a context and additional request options.
10786//
10787// See DeleteVolume for details on how to use this API operation.
10788//
10789// The context must be non-nil and will be used for request cancellation. If
10790// the context is nil a panic will occur. In the future the SDK may create
10791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10792// for more information on using Contexts.
10793func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
10794	req, out := c.DeleteVolumeRequest(input)
10795	req.SetContext(ctx)
10796	req.ApplyOptions(opts...)
10797	return out, req.Send()
10798}
10799
10800const opDeleteVpc = "DeleteVpc"
10801
10802// DeleteVpcRequest generates a "aws/request.Request" representing the
10803// client's request for the DeleteVpc operation. The "output" return
10804// value will be populated with the request's response once the request completes
10805// successfully.
10806//
10807// Use "Send" method on the returned Request to send the API call to the service.
10808// the "output" return value is not valid until after Send returns without error.
10809//
10810// See DeleteVpc for more information on using the DeleteVpc
10811// API call, and error handling.
10812//
10813// This method is useful when you want to inject custom logic or configuration
10814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10815//
10816//
10817//    // Example sending a request using the DeleteVpcRequest method.
10818//    req, resp := client.DeleteVpcRequest(params)
10819//
10820//    err := req.Send()
10821//    if err == nil { // resp is now filled
10822//        fmt.Println(resp)
10823//    }
10824//
10825// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
10826func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
10827	op := &request.Operation{
10828		Name:       opDeleteVpc,
10829		HTTPMethod: "POST",
10830		HTTPPath:   "/",
10831	}
10832
10833	if input == nil {
10834		input = &DeleteVpcInput{}
10835	}
10836
10837	output = &DeleteVpcOutput{}
10838	req = c.newRequest(op, input, output)
10839	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10840	return
10841}
10842
10843// DeleteVpc API operation for Amazon Elastic Compute Cloud.
10844//
10845// Deletes the specified VPC. You must detach or delete all gateways and resources
10846// that are associated with the VPC before you can delete it. For example, you
10847// must terminate all instances running in the VPC, delete all security groups
10848// associated with the VPC (except the default one), delete all route tables
10849// associated with the VPC (except the default one), and so on.
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 DeleteVpc for usage and error information.
10857// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
10858func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
10859	req, out := c.DeleteVpcRequest(input)
10860	return out, req.Send()
10861}
10862
10863// DeleteVpcWithContext is the same as DeleteVpc with the addition of
10864// the ability to pass a context and additional request options.
10865//
10866// See DeleteVpc 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) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
10873	req, out := c.DeleteVpcRequest(input)
10874	req.SetContext(ctx)
10875	req.ApplyOptions(opts...)
10876	return out, req.Send()
10877}
10878
10879const opDeleteVpcEndpointConnectionNotifications = "DeleteVpcEndpointConnectionNotifications"
10880
10881// DeleteVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
10882// client's request for the DeleteVpcEndpointConnectionNotifications 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 DeleteVpcEndpointConnectionNotifications for more information on using the DeleteVpcEndpointConnectionNotifications
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 DeleteVpcEndpointConnectionNotificationsRequest method.
10897//    req, resp := client.DeleteVpcEndpointConnectionNotificationsRequest(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/DeleteVpcEndpointConnectionNotifications
10905func (c *EC2) DeleteVpcEndpointConnectionNotificationsRequest(input *DeleteVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DeleteVpcEndpointConnectionNotificationsOutput) {
10906	op := &request.Operation{
10907		Name:       opDeleteVpcEndpointConnectionNotifications,
10908		HTTPMethod: "POST",
10909		HTTPPath:   "/",
10910	}
10911
10912	if input == nil {
10913		input = &DeleteVpcEndpointConnectionNotificationsInput{}
10914	}
10915
10916	output = &DeleteVpcEndpointConnectionNotificationsOutput{}
10917	req = c.newRequest(op, input, output)
10918	return
10919}
10920
10921// DeleteVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
10922//
10923// Deletes one or more VPC endpoint connection notifications.
10924//
10925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10926// with awserr.Error's Code and Message methods to get detailed information about
10927// the error.
10928//
10929// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10930// API operation DeleteVpcEndpointConnectionNotifications for usage and error information.
10931// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
10932func (c *EC2) DeleteVpcEndpointConnectionNotifications(input *DeleteVpcEndpointConnectionNotificationsInput) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
10933	req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
10934	return out, req.Send()
10935}
10936
10937// DeleteVpcEndpointConnectionNotificationsWithContext is the same as DeleteVpcEndpointConnectionNotifications with the addition of
10938// the ability to pass a context and additional request options.
10939//
10940// See DeleteVpcEndpointConnectionNotifications for details on how to use this API operation.
10941//
10942// The context must be non-nil and will be used for request cancellation. If
10943// the context is nil a panic will occur. In the future the SDK may create
10944// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10945// for more information on using Contexts.
10946func (c *EC2) DeleteVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DeleteVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
10947	req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
10948	req.SetContext(ctx)
10949	req.ApplyOptions(opts...)
10950	return out, req.Send()
10951}
10952
10953const opDeleteVpcEndpointServiceConfigurations = "DeleteVpcEndpointServiceConfigurations"
10954
10955// DeleteVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
10956// client's request for the DeleteVpcEndpointServiceConfigurations operation. The "output" return
10957// value will be populated with the request's response once the request completes
10958// successfully.
10959//
10960// Use "Send" method on the returned Request to send the API call to the service.
10961// the "output" return value is not valid until after Send returns without error.
10962//
10963// See DeleteVpcEndpointServiceConfigurations for more information on using the DeleteVpcEndpointServiceConfigurations
10964// API call, and error handling.
10965//
10966// This method is useful when you want to inject custom logic or configuration
10967// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10968//
10969//
10970//    // Example sending a request using the DeleteVpcEndpointServiceConfigurationsRequest method.
10971//    req, resp := client.DeleteVpcEndpointServiceConfigurationsRequest(params)
10972//
10973//    err := req.Send()
10974//    if err == nil { // resp is now filled
10975//        fmt.Println(resp)
10976//    }
10977//
10978// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
10979func (c *EC2) DeleteVpcEndpointServiceConfigurationsRequest(input *DeleteVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DeleteVpcEndpointServiceConfigurationsOutput) {
10980	op := &request.Operation{
10981		Name:       opDeleteVpcEndpointServiceConfigurations,
10982		HTTPMethod: "POST",
10983		HTTPPath:   "/",
10984	}
10985
10986	if input == nil {
10987		input = &DeleteVpcEndpointServiceConfigurationsInput{}
10988	}
10989
10990	output = &DeleteVpcEndpointServiceConfigurationsOutput{}
10991	req = c.newRequest(op, input, output)
10992	return
10993}
10994
10995// DeleteVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
10996//
10997// Deletes one or more VPC endpoint service configurations in your account.
10998// Before you delete the endpoint service configuration, you must reject any
10999// Available or PendingAcceptance interface endpoint connections that are attached
11000// to the service.
11001//
11002// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11003// with awserr.Error's Code and Message methods to get detailed information about
11004// the error.
11005//
11006// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11007// API operation DeleteVpcEndpointServiceConfigurations for usage and error information.
11008// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
11009func (c *EC2) DeleteVpcEndpointServiceConfigurations(input *DeleteVpcEndpointServiceConfigurationsInput) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
11010	req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
11011	return out, req.Send()
11012}
11013
11014// DeleteVpcEndpointServiceConfigurationsWithContext is the same as DeleteVpcEndpointServiceConfigurations with the addition of
11015// the ability to pass a context and additional request options.
11016//
11017// See DeleteVpcEndpointServiceConfigurations for details on how to use this API operation.
11018//
11019// The context must be non-nil and will be used for request cancellation. If
11020// the context is nil a panic will occur. In the future the SDK may create
11021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11022// for more information on using Contexts.
11023func (c *EC2) DeleteVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DeleteVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
11024	req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
11025	req.SetContext(ctx)
11026	req.ApplyOptions(opts...)
11027	return out, req.Send()
11028}
11029
11030const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
11031
11032// DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
11033// client's request for the DeleteVpcEndpoints operation. The "output" return
11034// value will be populated with the request's response once the request completes
11035// successfully.
11036//
11037// Use "Send" method on the returned Request to send the API call to the service.
11038// the "output" return value is not valid until after Send returns without error.
11039//
11040// See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
11041// API call, and error handling.
11042//
11043// This method is useful when you want to inject custom logic or configuration
11044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11045//
11046//
11047//    // Example sending a request using the DeleteVpcEndpointsRequest method.
11048//    req, resp := client.DeleteVpcEndpointsRequest(params)
11049//
11050//    err := req.Send()
11051//    if err == nil { // resp is now filled
11052//        fmt.Println(resp)
11053//    }
11054//
11055// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
11056func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
11057	op := &request.Operation{
11058		Name:       opDeleteVpcEndpoints,
11059		HTTPMethod: "POST",
11060		HTTPPath:   "/",
11061	}
11062
11063	if input == nil {
11064		input = &DeleteVpcEndpointsInput{}
11065	}
11066
11067	output = &DeleteVpcEndpointsOutput{}
11068	req = c.newRequest(op, input, output)
11069	return
11070}
11071
11072// DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
11073//
11074// Deletes one or more specified VPC endpoints. Deleting a gateway endpoint
11075// also deletes the endpoint routes in the route tables that were associated
11076// with the endpoint. Deleting an interface endpoint deletes the endpoint network
11077// interfaces.
11078//
11079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11080// with awserr.Error's Code and Message methods to get detailed information about
11081// the error.
11082//
11083// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11084// API operation DeleteVpcEndpoints for usage and error information.
11085// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
11086func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
11087	req, out := c.DeleteVpcEndpointsRequest(input)
11088	return out, req.Send()
11089}
11090
11091// DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
11092// the ability to pass a context and additional request options.
11093//
11094// See DeleteVpcEndpoints for details on how to use this API operation.
11095//
11096// The context must be non-nil and will be used for request cancellation. If
11097// the context is nil a panic will occur. In the future the SDK may create
11098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11099// for more information on using Contexts.
11100func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
11101	req, out := c.DeleteVpcEndpointsRequest(input)
11102	req.SetContext(ctx)
11103	req.ApplyOptions(opts...)
11104	return out, req.Send()
11105}
11106
11107const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
11108
11109// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
11110// client's request for the DeleteVpcPeeringConnection operation. The "output" return
11111// value will be populated with the request's response once the request completes
11112// successfully.
11113//
11114// Use "Send" method on the returned Request to send the API call to the service.
11115// the "output" return value is not valid until after Send returns without error.
11116//
11117// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
11118// API call, and error handling.
11119//
11120// This method is useful when you want to inject custom logic or configuration
11121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11122//
11123//
11124//    // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
11125//    req, resp := client.DeleteVpcPeeringConnectionRequest(params)
11126//
11127//    err := req.Send()
11128//    if err == nil { // resp is now filled
11129//        fmt.Println(resp)
11130//    }
11131//
11132// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
11133func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
11134	op := &request.Operation{
11135		Name:       opDeleteVpcPeeringConnection,
11136		HTTPMethod: "POST",
11137		HTTPPath:   "/",
11138	}
11139
11140	if input == nil {
11141		input = &DeleteVpcPeeringConnectionInput{}
11142	}
11143
11144	output = &DeleteVpcPeeringConnectionOutput{}
11145	req = c.newRequest(op, input, output)
11146	return
11147}
11148
11149// DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
11150//
11151// Deletes a VPC peering connection. Either the owner of the requester VPC or
11152// the owner of the accepter VPC can delete the VPC peering connection if it's
11153// in the active state. The owner of the requester VPC can delete a VPC peering
11154// connection in the pending-acceptance state. You cannot delete a VPC peering
11155// connection that's in the failed state.
11156//
11157// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11158// with awserr.Error's Code and Message methods to get detailed information about
11159// the error.
11160//
11161// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11162// API operation DeleteVpcPeeringConnection for usage and error information.
11163// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
11164func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
11165	req, out := c.DeleteVpcPeeringConnectionRequest(input)
11166	return out, req.Send()
11167}
11168
11169// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
11170// the ability to pass a context and additional request options.
11171//
11172// See DeleteVpcPeeringConnection for details on how to use this API operation.
11173//
11174// The context must be non-nil and will be used for request cancellation. If
11175// the context is nil a panic will occur. In the future the SDK may create
11176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11177// for more information on using Contexts.
11178func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
11179	req, out := c.DeleteVpcPeeringConnectionRequest(input)
11180	req.SetContext(ctx)
11181	req.ApplyOptions(opts...)
11182	return out, req.Send()
11183}
11184
11185const opDeleteVpnConnection = "DeleteVpnConnection"
11186
11187// DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
11188// client's request for the DeleteVpnConnection operation. The "output" return
11189// value will be populated with the request's response once the request completes
11190// successfully.
11191//
11192// Use "Send" method on the returned Request to send the API call to the service.
11193// the "output" return value is not valid until after Send returns without error.
11194//
11195// See DeleteVpnConnection for more information on using the DeleteVpnConnection
11196// API call, and error handling.
11197//
11198// This method is useful when you want to inject custom logic or configuration
11199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11200//
11201//
11202//    // Example sending a request using the DeleteVpnConnectionRequest method.
11203//    req, resp := client.DeleteVpnConnectionRequest(params)
11204//
11205//    err := req.Send()
11206//    if err == nil { // resp is now filled
11207//        fmt.Println(resp)
11208//    }
11209//
11210// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
11211func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
11212	op := &request.Operation{
11213		Name:       opDeleteVpnConnection,
11214		HTTPMethod: "POST",
11215		HTTPPath:   "/",
11216	}
11217
11218	if input == nil {
11219		input = &DeleteVpnConnectionInput{}
11220	}
11221
11222	output = &DeleteVpnConnectionOutput{}
11223	req = c.newRequest(op, input, output)
11224	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11225	return
11226}
11227
11228// DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
11229//
11230// Deletes the specified VPN connection.
11231//
11232// If you're deleting the VPC and its associated components, we recommend that
11233// you detach the virtual private gateway from the VPC and delete the VPC before
11234// deleting the VPN connection. If you believe that the tunnel credentials for
11235// your VPN connection have been compromised, you can delete the VPN connection
11236// and create a new one that has new keys, without needing to delete the VPC
11237// or virtual private gateway. If you create a new VPN connection, you must
11238// reconfigure the customer gateway using the new configuration information
11239// returned with the new VPN connection ID.
11240//
11241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11242// with awserr.Error's Code and Message methods to get detailed information about
11243// the error.
11244//
11245// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11246// API operation DeleteVpnConnection for usage and error information.
11247// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
11248func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
11249	req, out := c.DeleteVpnConnectionRequest(input)
11250	return out, req.Send()
11251}
11252
11253// DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
11254// the ability to pass a context and additional request options.
11255//
11256// See DeleteVpnConnection for details on how to use this API operation.
11257//
11258// The context must be non-nil and will be used for request cancellation. If
11259// the context is nil a panic will occur. In the future the SDK may create
11260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11261// for more information on using Contexts.
11262func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
11263	req, out := c.DeleteVpnConnectionRequest(input)
11264	req.SetContext(ctx)
11265	req.ApplyOptions(opts...)
11266	return out, req.Send()
11267}
11268
11269const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
11270
11271// DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
11272// client's request for the DeleteVpnConnectionRoute operation. The "output" return
11273// value will be populated with the request's response once the request completes
11274// successfully.
11275//
11276// Use "Send" method on the returned Request to send the API call to the service.
11277// the "output" return value is not valid until after Send returns without error.
11278//
11279// See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
11280// API call, and error handling.
11281//
11282// This method is useful when you want to inject custom logic or configuration
11283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11284//
11285//
11286//    // Example sending a request using the DeleteVpnConnectionRouteRequest method.
11287//    req, resp := client.DeleteVpnConnectionRouteRequest(params)
11288//
11289//    err := req.Send()
11290//    if err == nil { // resp is now filled
11291//        fmt.Println(resp)
11292//    }
11293//
11294// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
11295func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
11296	op := &request.Operation{
11297		Name:       opDeleteVpnConnectionRoute,
11298		HTTPMethod: "POST",
11299		HTTPPath:   "/",
11300	}
11301
11302	if input == nil {
11303		input = &DeleteVpnConnectionRouteInput{}
11304	}
11305
11306	output = &DeleteVpnConnectionRouteOutput{}
11307	req = c.newRequest(op, input, output)
11308	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11309	return
11310}
11311
11312// DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
11313//
11314// Deletes the specified static route associated with a VPN connection between
11315// an existing virtual private gateway and a VPN customer gateway. The static
11316// route allows traffic to be routed from the virtual private gateway to the
11317// VPN customer gateway.
11318//
11319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11320// with awserr.Error's Code and Message methods to get detailed information about
11321// the error.
11322//
11323// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11324// API operation DeleteVpnConnectionRoute for usage and error information.
11325// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
11326func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
11327	req, out := c.DeleteVpnConnectionRouteRequest(input)
11328	return out, req.Send()
11329}
11330
11331// DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
11332// the ability to pass a context and additional request options.
11333//
11334// See DeleteVpnConnectionRoute for details on how to use this API operation.
11335//
11336// The context must be non-nil and will be used for request cancellation. If
11337// the context is nil a panic will occur. In the future the SDK may create
11338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11339// for more information on using Contexts.
11340func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
11341	req, out := c.DeleteVpnConnectionRouteRequest(input)
11342	req.SetContext(ctx)
11343	req.ApplyOptions(opts...)
11344	return out, req.Send()
11345}
11346
11347const opDeleteVpnGateway = "DeleteVpnGateway"
11348
11349// DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
11350// client's request for the DeleteVpnGateway operation. The "output" return
11351// value will be populated with the request's response once the request completes
11352// successfully.
11353//
11354// Use "Send" method on the returned Request to send the API call to the service.
11355// the "output" return value is not valid until after Send returns without error.
11356//
11357// See DeleteVpnGateway for more information on using the DeleteVpnGateway
11358// API call, and error handling.
11359//
11360// This method is useful when you want to inject custom logic or configuration
11361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11362//
11363//
11364//    // Example sending a request using the DeleteVpnGatewayRequest method.
11365//    req, resp := client.DeleteVpnGatewayRequest(params)
11366//
11367//    err := req.Send()
11368//    if err == nil { // resp is now filled
11369//        fmt.Println(resp)
11370//    }
11371//
11372// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
11373func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
11374	op := &request.Operation{
11375		Name:       opDeleteVpnGateway,
11376		HTTPMethod: "POST",
11377		HTTPPath:   "/",
11378	}
11379
11380	if input == nil {
11381		input = &DeleteVpnGatewayInput{}
11382	}
11383
11384	output = &DeleteVpnGatewayOutput{}
11385	req = c.newRequest(op, input, output)
11386	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11387	return
11388}
11389
11390// DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
11391//
11392// Deletes the specified virtual private gateway. You must first detach the
11393// virtual private gateway from the VPC. Note that you don't need to delete
11394// the virtual private gateway if you plan to delete and recreate the VPN connection
11395// between your VPC and your network.
11396//
11397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11398// with awserr.Error's Code and Message methods to get detailed information about
11399// the error.
11400//
11401// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11402// API operation DeleteVpnGateway for usage and error information.
11403// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
11404func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
11405	req, out := c.DeleteVpnGatewayRequest(input)
11406	return out, req.Send()
11407}
11408
11409// DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
11410// the ability to pass a context and additional request options.
11411//
11412// See DeleteVpnGateway for details on how to use this API operation.
11413//
11414// The context must be non-nil and will be used for request cancellation. If
11415// the context is nil a panic will occur. In the future the SDK may create
11416// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11417// for more information on using Contexts.
11418func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
11419	req, out := c.DeleteVpnGatewayRequest(input)
11420	req.SetContext(ctx)
11421	req.ApplyOptions(opts...)
11422	return out, req.Send()
11423}
11424
11425const opDeprovisionByoipCidr = "DeprovisionByoipCidr"
11426
11427// DeprovisionByoipCidrRequest generates a "aws/request.Request" representing the
11428// client's request for the DeprovisionByoipCidr operation. The "output" return
11429// value will be populated with the request's response once the request completes
11430// successfully.
11431//
11432// Use "Send" method on the returned Request to send the API call to the service.
11433// the "output" return value is not valid until after Send returns without error.
11434//
11435// See DeprovisionByoipCidr for more information on using the DeprovisionByoipCidr
11436// API call, and error handling.
11437//
11438// This method is useful when you want to inject custom logic or configuration
11439// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11440//
11441//
11442//    // Example sending a request using the DeprovisionByoipCidrRequest method.
11443//    req, resp := client.DeprovisionByoipCidrRequest(params)
11444//
11445//    err := req.Send()
11446//    if err == nil { // resp is now filled
11447//        fmt.Println(resp)
11448//    }
11449//
11450// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
11451func (c *EC2) DeprovisionByoipCidrRequest(input *DeprovisionByoipCidrInput) (req *request.Request, output *DeprovisionByoipCidrOutput) {
11452	op := &request.Operation{
11453		Name:       opDeprovisionByoipCidr,
11454		HTTPMethod: "POST",
11455		HTTPPath:   "/",
11456	}
11457
11458	if input == nil {
11459		input = &DeprovisionByoipCidrInput{}
11460	}
11461
11462	output = &DeprovisionByoipCidrOutput{}
11463	req = c.newRequest(op, input, output)
11464	return
11465}
11466
11467// DeprovisionByoipCidr API operation for Amazon Elastic Compute Cloud.
11468//
11469// Releases the specified address range that you provisioned for use with your
11470// AWS resources through bring your own IP addresses (BYOIP) and deletes the
11471// corresponding address pool.
11472//
11473// Before you can release an address range, you must stop advertising it using
11474// WithdrawByoipCidr and you must not have any IP addresses allocated from its
11475// address range.
11476//
11477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11478// with awserr.Error's Code and Message methods to get detailed information about
11479// the error.
11480//
11481// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11482// API operation DeprovisionByoipCidr for usage and error information.
11483// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
11484func (c *EC2) DeprovisionByoipCidr(input *DeprovisionByoipCidrInput) (*DeprovisionByoipCidrOutput, error) {
11485	req, out := c.DeprovisionByoipCidrRequest(input)
11486	return out, req.Send()
11487}
11488
11489// DeprovisionByoipCidrWithContext is the same as DeprovisionByoipCidr with the addition of
11490// the ability to pass a context and additional request options.
11491//
11492// See DeprovisionByoipCidr for details on how to use this API operation.
11493//
11494// The context must be non-nil and will be used for request cancellation. If
11495// the context is nil a panic will occur. In the future the SDK may create
11496// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11497// for more information on using Contexts.
11498func (c *EC2) DeprovisionByoipCidrWithContext(ctx aws.Context, input *DeprovisionByoipCidrInput, opts ...request.Option) (*DeprovisionByoipCidrOutput, error) {
11499	req, out := c.DeprovisionByoipCidrRequest(input)
11500	req.SetContext(ctx)
11501	req.ApplyOptions(opts...)
11502	return out, req.Send()
11503}
11504
11505const opDeregisterImage = "DeregisterImage"
11506
11507// DeregisterImageRequest generates a "aws/request.Request" representing the
11508// client's request for the DeregisterImage operation. The "output" return
11509// value will be populated with the request's response once the request completes
11510// successfully.
11511//
11512// Use "Send" method on the returned Request to send the API call to the service.
11513// the "output" return value is not valid until after Send returns without error.
11514//
11515// See DeregisterImage for more information on using the DeregisterImage
11516// API call, and error handling.
11517//
11518// This method is useful when you want to inject custom logic or configuration
11519// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11520//
11521//
11522//    // Example sending a request using the DeregisterImageRequest method.
11523//    req, resp := client.DeregisterImageRequest(params)
11524//
11525//    err := req.Send()
11526//    if err == nil { // resp is now filled
11527//        fmt.Println(resp)
11528//    }
11529//
11530// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
11531func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
11532	op := &request.Operation{
11533		Name:       opDeregisterImage,
11534		HTTPMethod: "POST",
11535		HTTPPath:   "/",
11536	}
11537
11538	if input == nil {
11539		input = &DeregisterImageInput{}
11540	}
11541
11542	output = &DeregisterImageOutput{}
11543	req = c.newRequest(op, input, output)
11544	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11545	return
11546}
11547
11548// DeregisterImage API operation for Amazon Elastic Compute Cloud.
11549//
11550// Deregisters the specified AMI. After you deregister an AMI, it can't be used
11551// to launch new instances; however, it doesn't affect any instances that you've
11552// already launched from the AMI. You'll continue to incur usage costs for those
11553// instances until you terminate them.
11554//
11555// When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot
11556// that was created for the root volume of the instance during the AMI creation
11557// process. When you deregister an instance store-backed AMI, it doesn't affect
11558// the files that you uploaded to Amazon S3 when you created the AMI.
11559//
11560// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11561// with awserr.Error's Code and Message methods to get detailed information about
11562// the error.
11563//
11564// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11565// API operation DeregisterImage for usage and error information.
11566// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
11567func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
11568	req, out := c.DeregisterImageRequest(input)
11569	return out, req.Send()
11570}
11571
11572// DeregisterImageWithContext is the same as DeregisterImage with the addition of
11573// the ability to pass a context and additional request options.
11574//
11575// See DeregisterImage for details on how to use this API operation.
11576//
11577// The context must be non-nil and will be used for request cancellation. If
11578// the context is nil a panic will occur. In the future the SDK may create
11579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11580// for more information on using Contexts.
11581func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
11582	req, out := c.DeregisterImageRequest(input)
11583	req.SetContext(ctx)
11584	req.ApplyOptions(opts...)
11585	return out, req.Send()
11586}
11587
11588const opDeregisterTransitGatewayMulticastGroupMembers = "DeregisterTransitGatewayMulticastGroupMembers"
11589
11590// DeregisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
11591// client's request for the DeregisterTransitGatewayMulticastGroupMembers operation. The "output" return
11592// value will be populated with the request's response once the request completes
11593// successfully.
11594//
11595// Use "Send" method on the returned Request to send the API call to the service.
11596// the "output" return value is not valid until after Send returns without error.
11597//
11598// See DeregisterTransitGatewayMulticastGroupMembers for more information on using the DeregisterTransitGatewayMulticastGroupMembers
11599// API call, and error handling.
11600//
11601// This method is useful when you want to inject custom logic or configuration
11602// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11603//
11604//
11605//    // Example sending a request using the DeregisterTransitGatewayMulticastGroupMembersRequest method.
11606//    req, resp := client.DeregisterTransitGatewayMulticastGroupMembersRequest(params)
11607//
11608//    err := req.Send()
11609//    if err == nil { // resp is now filled
11610//        fmt.Println(resp)
11611//    }
11612//
11613// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
11614func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersRequest(input *DeregisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupMembersOutput) {
11615	op := &request.Operation{
11616		Name:       opDeregisterTransitGatewayMulticastGroupMembers,
11617		HTTPMethod: "POST",
11618		HTTPPath:   "/",
11619	}
11620
11621	if input == nil {
11622		input = &DeregisterTransitGatewayMulticastGroupMembersInput{}
11623	}
11624
11625	output = &DeregisterTransitGatewayMulticastGroupMembersOutput{}
11626	req = c.newRequest(op, input, output)
11627	return
11628}
11629
11630// DeregisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
11631//
11632// Deregisters the specified members (network interfaces) from the transit gateway
11633// multicast group.
11634//
11635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11636// with awserr.Error's Code and Message methods to get detailed information about
11637// the error.
11638//
11639// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11640// API operation DeregisterTransitGatewayMulticastGroupMembers for usage and error information.
11641// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
11642func (c *EC2) DeregisterTransitGatewayMulticastGroupMembers(input *DeregisterTransitGatewayMulticastGroupMembersInput) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
11643	req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
11644	return out, req.Send()
11645}
11646
11647// DeregisterTransitGatewayMulticastGroupMembersWithContext is the same as DeregisterTransitGatewayMulticastGroupMembers with the addition of
11648// the ability to pass a context and additional request options.
11649//
11650// See DeregisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
11651//
11652// The context must be non-nil and will be used for request cancellation. If
11653// the context is nil a panic will occur. In the future the SDK may create
11654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11655// for more information on using Contexts.
11656func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
11657	req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
11658	req.SetContext(ctx)
11659	req.ApplyOptions(opts...)
11660	return out, req.Send()
11661}
11662
11663const opDeregisterTransitGatewayMulticastGroupSources = "DeregisterTransitGatewayMulticastGroupSources"
11664
11665// DeregisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
11666// client's request for the DeregisterTransitGatewayMulticastGroupSources operation. The "output" return
11667// value will be populated with the request's response once the request completes
11668// successfully.
11669//
11670// Use "Send" method on the returned Request to send the API call to the service.
11671// the "output" return value is not valid until after Send returns without error.
11672//
11673// See DeregisterTransitGatewayMulticastGroupSources for more information on using the DeregisterTransitGatewayMulticastGroupSources
11674// API call, and error handling.
11675//
11676// This method is useful when you want to inject custom logic or configuration
11677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11678//
11679//
11680//    // Example sending a request using the DeregisterTransitGatewayMulticastGroupSourcesRequest method.
11681//    req, resp := client.DeregisterTransitGatewayMulticastGroupSourcesRequest(params)
11682//
11683//    err := req.Send()
11684//    if err == nil { // resp is now filled
11685//        fmt.Println(resp)
11686//    }
11687//
11688// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
11689func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesRequest(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupSourcesOutput) {
11690	op := &request.Operation{
11691		Name:       opDeregisterTransitGatewayMulticastGroupSources,
11692		HTTPMethod: "POST",
11693		HTTPPath:   "/",
11694	}
11695
11696	if input == nil {
11697		input = &DeregisterTransitGatewayMulticastGroupSourcesInput{}
11698	}
11699
11700	output = &DeregisterTransitGatewayMulticastGroupSourcesOutput{}
11701	req = c.newRequest(op, input, output)
11702	return
11703}
11704
11705// DeregisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
11706//
11707// Deregisters the specified sources (network interfaces) from the transit gateway
11708// multicast group.
11709//
11710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11711// with awserr.Error's Code and Message methods to get detailed information about
11712// the error.
11713//
11714// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11715// API operation DeregisterTransitGatewayMulticastGroupSources for usage and error information.
11716// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
11717func (c *EC2) DeregisterTransitGatewayMulticastGroupSources(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
11718	req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
11719	return out, req.Send()
11720}
11721
11722// DeregisterTransitGatewayMulticastGroupSourcesWithContext is the same as DeregisterTransitGatewayMulticastGroupSources with the addition of
11723// the ability to pass a context and additional request options.
11724//
11725// See DeregisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
11726//
11727// The context must be non-nil and will be used for request cancellation. If
11728// the context is nil a panic will occur. In the future the SDK may create
11729// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11730// for more information on using Contexts.
11731func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
11732	req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
11733	req.SetContext(ctx)
11734	req.ApplyOptions(opts...)
11735	return out, req.Send()
11736}
11737
11738const opDescribeAccountAttributes = "DescribeAccountAttributes"
11739
11740// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
11741// client's request for the DescribeAccountAttributes operation. The "output" return
11742// value will be populated with the request's response once the request completes
11743// successfully.
11744//
11745// Use "Send" method on the returned Request to send the API call to the service.
11746// the "output" return value is not valid until after Send returns without error.
11747//
11748// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
11749// API call, and error handling.
11750//
11751// This method is useful when you want to inject custom logic or configuration
11752// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11753//
11754//
11755//    // Example sending a request using the DescribeAccountAttributesRequest method.
11756//    req, resp := client.DescribeAccountAttributesRequest(params)
11757//
11758//    err := req.Send()
11759//    if err == nil { // resp is now filled
11760//        fmt.Println(resp)
11761//    }
11762//
11763// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
11764func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
11765	op := &request.Operation{
11766		Name:       opDescribeAccountAttributes,
11767		HTTPMethod: "POST",
11768		HTTPPath:   "/",
11769	}
11770
11771	if input == nil {
11772		input = &DescribeAccountAttributesInput{}
11773	}
11774
11775	output = &DescribeAccountAttributesOutput{}
11776	req = c.newRequest(op, input, output)
11777	return
11778}
11779
11780// DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
11781//
11782// Describes attributes of your AWS account. The following are the supported
11783// account attributes:
11784//
11785//    * supported-platforms: Indicates whether your account can launch instances
11786//    into EC2-Classic and EC2-VPC, or only into EC2-VPC.
11787//
11788//    * default-vpc: The ID of the default VPC for your account, or none.
11789//
11790//    * max-instances: This attribute is no longer supported. The returned value
11791//    does not reflect your actual vCPU limit for running On-Demand Instances.
11792//    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)
11793//    in the Amazon Elastic Compute Cloud User Guide.
11794//
11795//    * vpc-max-security-groups-per-interface: The maximum number of security
11796//    groups that you can assign to a network interface.
11797//
11798//    * max-elastic-ips: The maximum number of Elastic IP addresses that you
11799//    can allocate for use with EC2-Classic.
11800//
11801//    * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
11802//    you can allocate for use with EC2-VPC.
11803//
11804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11805// with awserr.Error's Code and Message methods to get detailed information about
11806// the error.
11807//
11808// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11809// API operation DescribeAccountAttributes for usage and error information.
11810// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
11811func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
11812	req, out := c.DescribeAccountAttributesRequest(input)
11813	return out, req.Send()
11814}
11815
11816// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
11817// the ability to pass a context and additional request options.
11818//
11819// See DescribeAccountAttributes for details on how to use this API operation.
11820//
11821// The context must be non-nil and will be used for request cancellation. If
11822// the context is nil a panic will occur. In the future the SDK may create
11823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11824// for more information on using Contexts.
11825func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
11826	req, out := c.DescribeAccountAttributesRequest(input)
11827	req.SetContext(ctx)
11828	req.ApplyOptions(opts...)
11829	return out, req.Send()
11830}
11831
11832const opDescribeAddresses = "DescribeAddresses"
11833
11834// DescribeAddressesRequest generates a "aws/request.Request" representing the
11835// client's request for the DescribeAddresses operation. The "output" return
11836// value will be populated with the request's response once the request completes
11837// successfully.
11838//
11839// Use "Send" method on the returned Request to send the API call to the service.
11840// the "output" return value is not valid until after Send returns without error.
11841//
11842// See DescribeAddresses for more information on using the DescribeAddresses
11843// API call, and error handling.
11844//
11845// This method is useful when you want to inject custom logic or configuration
11846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11847//
11848//
11849//    // Example sending a request using the DescribeAddressesRequest method.
11850//    req, resp := client.DescribeAddressesRequest(params)
11851//
11852//    err := req.Send()
11853//    if err == nil { // resp is now filled
11854//        fmt.Println(resp)
11855//    }
11856//
11857// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
11858func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
11859	op := &request.Operation{
11860		Name:       opDescribeAddresses,
11861		HTTPMethod: "POST",
11862		HTTPPath:   "/",
11863	}
11864
11865	if input == nil {
11866		input = &DescribeAddressesInput{}
11867	}
11868
11869	output = &DescribeAddressesOutput{}
11870	req = c.newRequest(op, input, output)
11871	return
11872}
11873
11874// DescribeAddresses API operation for Amazon Elastic Compute Cloud.
11875//
11876// Describes the specified Elastic IP addresses or all of your Elastic IP addresses.
11877//
11878// An Elastic IP address is for use in either the EC2-Classic platform or in
11879// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
11880// in the Amazon Elastic Compute Cloud User Guide.
11881//
11882// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11883// with awserr.Error's Code and Message methods to get detailed information about
11884// the error.
11885//
11886// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11887// API operation DescribeAddresses for usage and error information.
11888// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
11889func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
11890	req, out := c.DescribeAddressesRequest(input)
11891	return out, req.Send()
11892}
11893
11894// DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
11895// the ability to pass a context and additional request options.
11896//
11897// See DescribeAddresses for details on how to use this API operation.
11898//
11899// The context must be non-nil and will be used for request cancellation. If
11900// the context is nil a panic will occur. In the future the SDK may create
11901// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11902// for more information on using Contexts.
11903func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
11904	req, out := c.DescribeAddressesRequest(input)
11905	req.SetContext(ctx)
11906	req.ApplyOptions(opts...)
11907	return out, req.Send()
11908}
11909
11910const opDescribeAggregateIdFormat = "DescribeAggregateIdFormat"
11911
11912// DescribeAggregateIdFormatRequest generates a "aws/request.Request" representing the
11913// client's request for the DescribeAggregateIdFormat operation. The "output" return
11914// value will be populated with the request's response once the request completes
11915// successfully.
11916//
11917// Use "Send" method on the returned Request to send the API call to the service.
11918// the "output" return value is not valid until after Send returns without error.
11919//
11920// See DescribeAggregateIdFormat for more information on using the DescribeAggregateIdFormat
11921// API call, and error handling.
11922//
11923// This method is useful when you want to inject custom logic or configuration
11924// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11925//
11926//
11927//    // Example sending a request using the DescribeAggregateIdFormatRequest method.
11928//    req, resp := client.DescribeAggregateIdFormatRequest(params)
11929//
11930//    err := req.Send()
11931//    if err == nil { // resp is now filled
11932//        fmt.Println(resp)
11933//    }
11934//
11935// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
11936func (c *EC2) DescribeAggregateIdFormatRequest(input *DescribeAggregateIdFormatInput) (req *request.Request, output *DescribeAggregateIdFormatOutput) {
11937	op := &request.Operation{
11938		Name:       opDescribeAggregateIdFormat,
11939		HTTPMethod: "POST",
11940		HTTPPath:   "/",
11941	}
11942
11943	if input == nil {
11944		input = &DescribeAggregateIdFormatInput{}
11945	}
11946
11947	output = &DescribeAggregateIdFormatOutput{}
11948	req = c.newRequest(op, input, output)
11949	return
11950}
11951
11952// DescribeAggregateIdFormat API operation for Amazon Elastic Compute Cloud.
11953//
11954// Describes the longer ID format settings for all resource types in a specific
11955// Region. This request is useful for performing a quick audit to determine
11956// whether a specific Region is fully opted in for longer IDs (17-character
11957// IDs).
11958//
11959// This request only returns information about resource types that support longer
11960// IDs.
11961//
11962// The following resource types support longer IDs: bundle | conversion-task
11963// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
11964// | export-task | flow-log | image | import-task | instance | internet-gateway
11965// | network-acl | network-acl-association | network-interface | network-interface-attachment
11966// | prefix-list | reservation | route-table | route-table-association | security-group
11967// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
11968// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
11969//
11970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11971// with awserr.Error's Code and Message methods to get detailed information about
11972// the error.
11973//
11974// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11975// API operation DescribeAggregateIdFormat for usage and error information.
11976// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
11977func (c *EC2) DescribeAggregateIdFormat(input *DescribeAggregateIdFormatInput) (*DescribeAggregateIdFormatOutput, error) {
11978	req, out := c.DescribeAggregateIdFormatRequest(input)
11979	return out, req.Send()
11980}
11981
11982// DescribeAggregateIdFormatWithContext is the same as DescribeAggregateIdFormat with the addition of
11983// the ability to pass a context and additional request options.
11984//
11985// See DescribeAggregateIdFormat for details on how to use this API operation.
11986//
11987// The context must be non-nil and will be used for request cancellation. If
11988// the context is nil a panic will occur. In the future the SDK may create
11989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11990// for more information on using Contexts.
11991func (c *EC2) DescribeAggregateIdFormatWithContext(ctx aws.Context, input *DescribeAggregateIdFormatInput, opts ...request.Option) (*DescribeAggregateIdFormatOutput, error) {
11992	req, out := c.DescribeAggregateIdFormatRequest(input)
11993	req.SetContext(ctx)
11994	req.ApplyOptions(opts...)
11995	return out, req.Send()
11996}
11997
11998const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
11999
12000// DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
12001// client's request for the DescribeAvailabilityZones operation. The "output" return
12002// value will be populated with the request's response once the request completes
12003// successfully.
12004//
12005// Use "Send" method on the returned Request to send the API call to the service.
12006// the "output" return value is not valid until after Send returns without error.
12007//
12008// See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
12009// API call, and error handling.
12010//
12011// This method is useful when you want to inject custom logic or configuration
12012// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12013//
12014//
12015//    // Example sending a request using the DescribeAvailabilityZonesRequest method.
12016//    req, resp := client.DescribeAvailabilityZonesRequest(params)
12017//
12018//    err := req.Send()
12019//    if err == nil { // resp is now filled
12020//        fmt.Println(resp)
12021//    }
12022//
12023// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
12024func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
12025	op := &request.Operation{
12026		Name:       opDescribeAvailabilityZones,
12027		HTTPMethod: "POST",
12028		HTTPPath:   "/",
12029	}
12030
12031	if input == nil {
12032		input = &DescribeAvailabilityZonesInput{}
12033	}
12034
12035	output = &DescribeAvailabilityZonesOutput{}
12036	req = c.newRequest(op, input, output)
12037	return
12038}
12039
12040// DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
12041//
12042// Describes the Availability Zones and Local Zones that are available to you.
12043// If there is an event impacting an Availability Zone or Local Zone, you can
12044// use this request to view the state and any provided messages for that Availability
12045// Zone or Local Zone.
12046//
12047// For more information about Availability Zones and Local Zones, see Regions
12048// and Availability Zones (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
12049// in the Amazon Elastic Compute Cloud User Guide.
12050//
12051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12052// with awserr.Error's Code and Message methods to get detailed information about
12053// the error.
12054//
12055// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12056// API operation DescribeAvailabilityZones for usage and error information.
12057// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
12058func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
12059	req, out := c.DescribeAvailabilityZonesRequest(input)
12060	return out, req.Send()
12061}
12062
12063// DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
12064// the ability to pass a context and additional request options.
12065//
12066// See DescribeAvailabilityZones for details on how to use this API operation.
12067//
12068// The context must be non-nil and will be used for request cancellation. If
12069// the context is nil a panic will occur. In the future the SDK may create
12070// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12071// for more information on using Contexts.
12072func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
12073	req, out := c.DescribeAvailabilityZonesRequest(input)
12074	req.SetContext(ctx)
12075	req.ApplyOptions(opts...)
12076	return out, req.Send()
12077}
12078
12079const opDescribeBundleTasks = "DescribeBundleTasks"
12080
12081// DescribeBundleTasksRequest generates a "aws/request.Request" representing the
12082// client's request for the DescribeBundleTasks operation. The "output" return
12083// value will be populated with the request's response once the request completes
12084// successfully.
12085//
12086// Use "Send" method on the returned Request to send the API call to the service.
12087// the "output" return value is not valid until after Send returns without error.
12088//
12089// See DescribeBundleTasks for more information on using the DescribeBundleTasks
12090// API call, and error handling.
12091//
12092// This method is useful when you want to inject custom logic or configuration
12093// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12094//
12095//
12096//    // Example sending a request using the DescribeBundleTasksRequest method.
12097//    req, resp := client.DescribeBundleTasksRequest(params)
12098//
12099//    err := req.Send()
12100//    if err == nil { // resp is now filled
12101//        fmt.Println(resp)
12102//    }
12103//
12104// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
12105func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
12106	op := &request.Operation{
12107		Name:       opDescribeBundleTasks,
12108		HTTPMethod: "POST",
12109		HTTPPath:   "/",
12110	}
12111
12112	if input == nil {
12113		input = &DescribeBundleTasksInput{}
12114	}
12115
12116	output = &DescribeBundleTasksOutput{}
12117	req = c.newRequest(op, input, output)
12118	return
12119}
12120
12121// DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
12122//
12123// Describes the specified bundle tasks or all of your bundle tasks.
12124//
12125// Completed bundle tasks are listed for only a limited time. If your bundle
12126// task is no longer in the list, you can still register an AMI from it. Just
12127// use RegisterImage with the Amazon S3 bucket name and image manifest name
12128// you provided to the bundle task.
12129//
12130// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12131// with awserr.Error's Code and Message methods to get detailed information about
12132// the error.
12133//
12134// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12135// API operation DescribeBundleTasks for usage and error information.
12136// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
12137func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
12138	req, out := c.DescribeBundleTasksRequest(input)
12139	return out, req.Send()
12140}
12141
12142// DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
12143// the ability to pass a context and additional request options.
12144//
12145// See DescribeBundleTasks for details on how to use this API operation.
12146//
12147// The context must be non-nil and will be used for request cancellation. If
12148// the context is nil a panic will occur. In the future the SDK may create
12149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12150// for more information on using Contexts.
12151func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
12152	req, out := c.DescribeBundleTasksRequest(input)
12153	req.SetContext(ctx)
12154	req.ApplyOptions(opts...)
12155	return out, req.Send()
12156}
12157
12158const opDescribeByoipCidrs = "DescribeByoipCidrs"
12159
12160// DescribeByoipCidrsRequest generates a "aws/request.Request" representing the
12161// client's request for the DescribeByoipCidrs operation. The "output" return
12162// value will be populated with the request's response once the request completes
12163// successfully.
12164//
12165// Use "Send" method on the returned Request to send the API call to the service.
12166// the "output" return value is not valid until after Send returns without error.
12167//
12168// See DescribeByoipCidrs for more information on using the DescribeByoipCidrs
12169// API call, and error handling.
12170//
12171// This method is useful when you want to inject custom logic or configuration
12172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12173//
12174//
12175//    // Example sending a request using the DescribeByoipCidrsRequest method.
12176//    req, resp := client.DescribeByoipCidrsRequest(params)
12177//
12178//    err := req.Send()
12179//    if err == nil { // resp is now filled
12180//        fmt.Println(resp)
12181//    }
12182//
12183// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
12184func (c *EC2) DescribeByoipCidrsRequest(input *DescribeByoipCidrsInput) (req *request.Request, output *DescribeByoipCidrsOutput) {
12185	op := &request.Operation{
12186		Name:       opDescribeByoipCidrs,
12187		HTTPMethod: "POST",
12188		HTTPPath:   "/",
12189		Paginator: &request.Paginator{
12190			InputTokens:     []string{"NextToken"},
12191			OutputTokens:    []string{"NextToken"},
12192			LimitToken:      "MaxResults",
12193			TruncationToken: "",
12194		},
12195	}
12196
12197	if input == nil {
12198		input = &DescribeByoipCidrsInput{}
12199	}
12200
12201	output = &DescribeByoipCidrsOutput{}
12202	req = c.newRequest(op, input, output)
12203	return
12204}
12205
12206// DescribeByoipCidrs API operation for Amazon Elastic Compute Cloud.
12207//
12208// Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.
12209//
12210// To describe the address pools that were created when you provisioned the
12211// address ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.
12212//
12213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12214// with awserr.Error's Code and Message methods to get detailed information about
12215// the error.
12216//
12217// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12218// API operation DescribeByoipCidrs for usage and error information.
12219// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
12220func (c *EC2) DescribeByoipCidrs(input *DescribeByoipCidrsInput) (*DescribeByoipCidrsOutput, error) {
12221	req, out := c.DescribeByoipCidrsRequest(input)
12222	return out, req.Send()
12223}
12224
12225// DescribeByoipCidrsWithContext is the same as DescribeByoipCidrs with the addition of
12226// the ability to pass a context and additional request options.
12227//
12228// See DescribeByoipCidrs for details on how to use this API operation.
12229//
12230// The context must be non-nil and will be used for request cancellation. If
12231// the context is nil a panic will occur. In the future the SDK may create
12232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12233// for more information on using Contexts.
12234func (c *EC2) DescribeByoipCidrsWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, opts ...request.Option) (*DescribeByoipCidrsOutput, error) {
12235	req, out := c.DescribeByoipCidrsRequest(input)
12236	req.SetContext(ctx)
12237	req.ApplyOptions(opts...)
12238	return out, req.Send()
12239}
12240
12241// DescribeByoipCidrsPages iterates over the pages of a DescribeByoipCidrs operation,
12242// calling the "fn" function with the response data for each page. To stop
12243// iterating, return false from the fn function.
12244//
12245// See DescribeByoipCidrs method for more information on how to use this operation.
12246//
12247// Note: This operation can generate multiple requests to a service.
12248//
12249//    // Example iterating over at most 3 pages of a DescribeByoipCidrs operation.
12250//    pageNum := 0
12251//    err := client.DescribeByoipCidrsPages(params,
12252//        func(page *ec2.DescribeByoipCidrsOutput, lastPage bool) bool {
12253//            pageNum++
12254//            fmt.Println(page)
12255//            return pageNum <= 3
12256//        })
12257//
12258func (c *EC2) DescribeByoipCidrsPages(input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool) error {
12259	return c.DescribeByoipCidrsPagesWithContext(aws.BackgroundContext(), input, fn)
12260}
12261
12262// DescribeByoipCidrsPagesWithContext same as DescribeByoipCidrsPages except
12263// it takes a Context and allows setting request options on the pages.
12264//
12265// The context must be non-nil and will be used for request cancellation. If
12266// the context is nil a panic will occur. In the future the SDK may create
12267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12268// for more information on using Contexts.
12269func (c *EC2) DescribeByoipCidrsPagesWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool, opts ...request.Option) error {
12270	p := request.Pagination{
12271		NewRequest: func() (*request.Request, error) {
12272			var inCpy *DescribeByoipCidrsInput
12273			if input != nil {
12274				tmp := *input
12275				inCpy = &tmp
12276			}
12277			req, _ := c.DescribeByoipCidrsRequest(inCpy)
12278			req.SetContext(ctx)
12279			req.ApplyOptions(opts...)
12280			return req, nil
12281		},
12282	}
12283
12284	for p.Next() {
12285		if !fn(p.Page().(*DescribeByoipCidrsOutput), !p.HasNextPage()) {
12286			break
12287		}
12288	}
12289
12290	return p.Err()
12291}
12292
12293const opDescribeCapacityReservations = "DescribeCapacityReservations"
12294
12295// DescribeCapacityReservationsRequest generates a "aws/request.Request" representing the
12296// client's request for the DescribeCapacityReservations operation. The "output" return
12297// value will be populated with the request's response once the request completes
12298// successfully.
12299//
12300// Use "Send" method on the returned Request to send the API call to the service.
12301// the "output" return value is not valid until after Send returns without error.
12302//
12303// See DescribeCapacityReservations for more information on using the DescribeCapacityReservations
12304// API call, and error handling.
12305//
12306// This method is useful when you want to inject custom logic or configuration
12307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12308//
12309//
12310//    // Example sending a request using the DescribeCapacityReservationsRequest method.
12311//    req, resp := client.DescribeCapacityReservationsRequest(params)
12312//
12313//    err := req.Send()
12314//    if err == nil { // resp is now filled
12315//        fmt.Println(resp)
12316//    }
12317//
12318// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
12319func (c *EC2) DescribeCapacityReservationsRequest(input *DescribeCapacityReservationsInput) (req *request.Request, output *DescribeCapacityReservationsOutput) {
12320	op := &request.Operation{
12321		Name:       opDescribeCapacityReservations,
12322		HTTPMethod: "POST",
12323		HTTPPath:   "/",
12324		Paginator: &request.Paginator{
12325			InputTokens:     []string{"NextToken"},
12326			OutputTokens:    []string{"NextToken"},
12327			LimitToken:      "MaxResults",
12328			TruncationToken: "",
12329		},
12330	}
12331
12332	if input == nil {
12333		input = &DescribeCapacityReservationsInput{}
12334	}
12335
12336	output = &DescribeCapacityReservationsOutput{}
12337	req = c.newRequest(op, input, output)
12338	return
12339}
12340
12341// DescribeCapacityReservations API operation for Amazon Elastic Compute Cloud.
12342//
12343// Describes one or more of your Capacity Reservations. The results describe
12344// only the Capacity Reservations in the AWS Region that you're currently using.
12345//
12346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12347// with awserr.Error's Code and Message methods to get detailed information about
12348// the error.
12349//
12350// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12351// API operation DescribeCapacityReservations for usage and error information.
12352// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
12353func (c *EC2) DescribeCapacityReservations(input *DescribeCapacityReservationsInput) (*DescribeCapacityReservationsOutput, error) {
12354	req, out := c.DescribeCapacityReservationsRequest(input)
12355	return out, req.Send()
12356}
12357
12358// DescribeCapacityReservationsWithContext is the same as DescribeCapacityReservations with the addition of
12359// the ability to pass a context and additional request options.
12360//
12361// See DescribeCapacityReservations for details on how to use this API operation.
12362//
12363// The context must be non-nil and will be used for request cancellation. If
12364// the context is nil a panic will occur. In the future the SDK may create
12365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12366// for more information on using Contexts.
12367func (c *EC2) DescribeCapacityReservationsWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, opts ...request.Option) (*DescribeCapacityReservationsOutput, error) {
12368	req, out := c.DescribeCapacityReservationsRequest(input)
12369	req.SetContext(ctx)
12370	req.ApplyOptions(opts...)
12371	return out, req.Send()
12372}
12373
12374// DescribeCapacityReservationsPages iterates over the pages of a DescribeCapacityReservations operation,
12375// calling the "fn" function with the response data for each page. To stop
12376// iterating, return false from the fn function.
12377//
12378// See DescribeCapacityReservations method for more information on how to use this operation.
12379//
12380// Note: This operation can generate multiple requests to a service.
12381//
12382//    // Example iterating over at most 3 pages of a DescribeCapacityReservations operation.
12383//    pageNum := 0
12384//    err := client.DescribeCapacityReservationsPages(params,
12385//        func(page *ec2.DescribeCapacityReservationsOutput, lastPage bool) bool {
12386//            pageNum++
12387//            fmt.Println(page)
12388//            return pageNum <= 3
12389//        })
12390//
12391func (c *EC2) DescribeCapacityReservationsPages(input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool) error {
12392	return c.DescribeCapacityReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
12393}
12394
12395// DescribeCapacityReservationsPagesWithContext same as DescribeCapacityReservationsPages except
12396// it takes a Context and allows setting request options on the pages.
12397//
12398// The context must be non-nil and will be used for request cancellation. If
12399// the context is nil a panic will occur. In the future the SDK may create
12400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12401// for more information on using Contexts.
12402func (c *EC2) DescribeCapacityReservationsPagesWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool, opts ...request.Option) error {
12403	p := request.Pagination{
12404		NewRequest: func() (*request.Request, error) {
12405			var inCpy *DescribeCapacityReservationsInput
12406			if input != nil {
12407				tmp := *input
12408				inCpy = &tmp
12409			}
12410			req, _ := c.DescribeCapacityReservationsRequest(inCpy)
12411			req.SetContext(ctx)
12412			req.ApplyOptions(opts...)
12413			return req, nil
12414		},
12415	}
12416
12417	for p.Next() {
12418		if !fn(p.Page().(*DescribeCapacityReservationsOutput), !p.HasNextPage()) {
12419			break
12420		}
12421	}
12422
12423	return p.Err()
12424}
12425
12426const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
12427
12428// DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
12429// client's request for the DescribeClassicLinkInstances operation. The "output" return
12430// value will be populated with the request's response once the request completes
12431// successfully.
12432//
12433// Use "Send" method on the returned Request to send the API call to the service.
12434// the "output" return value is not valid until after Send returns without error.
12435//
12436// See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
12437// API call, and error handling.
12438//
12439// This method is useful when you want to inject custom logic or configuration
12440// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12441//
12442//
12443//    // Example sending a request using the DescribeClassicLinkInstancesRequest method.
12444//    req, resp := client.DescribeClassicLinkInstancesRequest(params)
12445//
12446//    err := req.Send()
12447//    if err == nil { // resp is now filled
12448//        fmt.Println(resp)
12449//    }
12450//
12451// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
12452func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
12453	op := &request.Operation{
12454		Name:       opDescribeClassicLinkInstances,
12455		HTTPMethod: "POST",
12456		HTTPPath:   "/",
12457		Paginator: &request.Paginator{
12458			InputTokens:     []string{"NextToken"},
12459			OutputTokens:    []string{"NextToken"},
12460			LimitToken:      "MaxResults",
12461			TruncationToken: "",
12462		},
12463	}
12464
12465	if input == nil {
12466		input = &DescribeClassicLinkInstancesInput{}
12467	}
12468
12469	output = &DescribeClassicLinkInstancesOutput{}
12470	req = c.newRequest(op, input, output)
12471	return
12472}
12473
12474// DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
12475//
12476// Describes one or more of your linked EC2-Classic instances. This request
12477// only returns information about EC2-Classic instances linked to a VPC through
12478// ClassicLink. You cannot use this request to return information about other
12479// instances.
12480//
12481// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12482// with awserr.Error's Code and Message methods to get detailed information about
12483// the error.
12484//
12485// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12486// API operation DescribeClassicLinkInstances for usage and error information.
12487// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
12488func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
12489	req, out := c.DescribeClassicLinkInstancesRequest(input)
12490	return out, req.Send()
12491}
12492
12493// DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
12494// the ability to pass a context and additional request options.
12495//
12496// See DescribeClassicLinkInstances for details on how to use this API operation.
12497//
12498// The context must be non-nil and will be used for request cancellation. If
12499// the context is nil a panic will occur. In the future the SDK may create
12500// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12501// for more information on using Contexts.
12502func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
12503	req, out := c.DescribeClassicLinkInstancesRequest(input)
12504	req.SetContext(ctx)
12505	req.ApplyOptions(opts...)
12506	return out, req.Send()
12507}
12508
12509// DescribeClassicLinkInstancesPages iterates over the pages of a DescribeClassicLinkInstances operation,
12510// calling the "fn" function with the response data for each page. To stop
12511// iterating, return false from the fn function.
12512//
12513// See DescribeClassicLinkInstances method for more information on how to use this operation.
12514//
12515// Note: This operation can generate multiple requests to a service.
12516//
12517//    // Example iterating over at most 3 pages of a DescribeClassicLinkInstances operation.
12518//    pageNum := 0
12519//    err := client.DescribeClassicLinkInstancesPages(params,
12520//        func(page *ec2.DescribeClassicLinkInstancesOutput, lastPage bool) bool {
12521//            pageNum++
12522//            fmt.Println(page)
12523//            return pageNum <= 3
12524//        })
12525//
12526func (c *EC2) DescribeClassicLinkInstancesPages(input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool) error {
12527	return c.DescribeClassicLinkInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
12528}
12529
12530// DescribeClassicLinkInstancesPagesWithContext same as DescribeClassicLinkInstancesPages except
12531// it takes a Context and allows setting request options on the pages.
12532//
12533// The context must be non-nil and will be used for request cancellation. If
12534// the context is nil a panic will occur. In the future the SDK may create
12535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12536// for more information on using Contexts.
12537func (c *EC2) DescribeClassicLinkInstancesPagesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool, opts ...request.Option) error {
12538	p := request.Pagination{
12539		NewRequest: func() (*request.Request, error) {
12540			var inCpy *DescribeClassicLinkInstancesInput
12541			if input != nil {
12542				tmp := *input
12543				inCpy = &tmp
12544			}
12545			req, _ := c.DescribeClassicLinkInstancesRequest(inCpy)
12546			req.SetContext(ctx)
12547			req.ApplyOptions(opts...)
12548			return req, nil
12549		},
12550	}
12551
12552	for p.Next() {
12553		if !fn(p.Page().(*DescribeClassicLinkInstancesOutput), !p.HasNextPage()) {
12554			break
12555		}
12556	}
12557
12558	return p.Err()
12559}
12560
12561const opDescribeClientVpnAuthorizationRules = "DescribeClientVpnAuthorizationRules"
12562
12563// DescribeClientVpnAuthorizationRulesRequest generates a "aws/request.Request" representing the
12564// client's request for the DescribeClientVpnAuthorizationRules operation. The "output" return
12565// value will be populated with the request's response once the request completes
12566// successfully.
12567//
12568// Use "Send" method on the returned Request to send the API call to the service.
12569// the "output" return value is not valid until after Send returns without error.
12570//
12571// See DescribeClientVpnAuthorizationRules for more information on using the DescribeClientVpnAuthorizationRules
12572// API call, and error handling.
12573//
12574// This method is useful when you want to inject custom logic or configuration
12575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12576//
12577//
12578//    // Example sending a request using the DescribeClientVpnAuthorizationRulesRequest method.
12579//    req, resp := client.DescribeClientVpnAuthorizationRulesRequest(params)
12580//
12581//    err := req.Send()
12582//    if err == nil { // resp is now filled
12583//        fmt.Println(resp)
12584//    }
12585//
12586// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
12587func (c *EC2) DescribeClientVpnAuthorizationRulesRequest(input *DescribeClientVpnAuthorizationRulesInput) (req *request.Request, output *DescribeClientVpnAuthorizationRulesOutput) {
12588	op := &request.Operation{
12589		Name:       opDescribeClientVpnAuthorizationRules,
12590		HTTPMethod: "POST",
12591		HTTPPath:   "/",
12592		Paginator: &request.Paginator{
12593			InputTokens:     []string{"NextToken"},
12594			OutputTokens:    []string{"NextToken"},
12595			LimitToken:      "MaxResults",
12596			TruncationToken: "",
12597		},
12598	}
12599
12600	if input == nil {
12601		input = &DescribeClientVpnAuthorizationRulesInput{}
12602	}
12603
12604	output = &DescribeClientVpnAuthorizationRulesOutput{}
12605	req = c.newRequest(op, input, output)
12606	return
12607}
12608
12609// DescribeClientVpnAuthorizationRules API operation for Amazon Elastic Compute Cloud.
12610//
12611// Describes the authorization rules for a specified Client VPN endpoint.
12612//
12613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12614// with awserr.Error's Code and Message methods to get detailed information about
12615// the error.
12616//
12617// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12618// API operation DescribeClientVpnAuthorizationRules for usage and error information.
12619// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
12620func (c *EC2) DescribeClientVpnAuthorizationRules(input *DescribeClientVpnAuthorizationRulesInput) (*DescribeClientVpnAuthorizationRulesOutput, error) {
12621	req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
12622	return out, req.Send()
12623}
12624
12625// DescribeClientVpnAuthorizationRulesWithContext is the same as DescribeClientVpnAuthorizationRules with the addition of
12626// the ability to pass a context and additional request options.
12627//
12628// See DescribeClientVpnAuthorizationRules for details on how to use this API operation.
12629//
12630// The context must be non-nil and will be used for request cancellation. If
12631// the context is nil a panic will occur. In the future the SDK may create
12632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12633// for more information on using Contexts.
12634func (c *EC2) DescribeClientVpnAuthorizationRulesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, opts ...request.Option) (*DescribeClientVpnAuthorizationRulesOutput, error) {
12635	req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
12636	req.SetContext(ctx)
12637	req.ApplyOptions(opts...)
12638	return out, req.Send()
12639}
12640
12641// DescribeClientVpnAuthorizationRulesPages iterates over the pages of a DescribeClientVpnAuthorizationRules operation,
12642// calling the "fn" function with the response data for each page. To stop
12643// iterating, return false from the fn function.
12644//
12645// See DescribeClientVpnAuthorizationRules method for more information on how to use this operation.
12646//
12647// Note: This operation can generate multiple requests to a service.
12648//
12649//    // Example iterating over at most 3 pages of a DescribeClientVpnAuthorizationRules operation.
12650//    pageNum := 0
12651//    err := client.DescribeClientVpnAuthorizationRulesPages(params,
12652//        func(page *ec2.DescribeClientVpnAuthorizationRulesOutput, lastPage bool) bool {
12653//            pageNum++
12654//            fmt.Println(page)
12655//            return pageNum <= 3
12656//        })
12657//
12658func (c *EC2) DescribeClientVpnAuthorizationRulesPages(input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool) error {
12659	return c.DescribeClientVpnAuthorizationRulesPagesWithContext(aws.BackgroundContext(), input, fn)
12660}
12661
12662// DescribeClientVpnAuthorizationRulesPagesWithContext same as DescribeClientVpnAuthorizationRulesPages except
12663// it takes a Context and allows setting request options on the pages.
12664//
12665// The context must be non-nil and will be used for request cancellation. If
12666// the context is nil a panic will occur. In the future the SDK may create
12667// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12668// for more information on using Contexts.
12669func (c *EC2) DescribeClientVpnAuthorizationRulesPagesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool, opts ...request.Option) error {
12670	p := request.Pagination{
12671		NewRequest: func() (*request.Request, error) {
12672			var inCpy *DescribeClientVpnAuthorizationRulesInput
12673			if input != nil {
12674				tmp := *input
12675				inCpy = &tmp
12676			}
12677			req, _ := c.DescribeClientVpnAuthorizationRulesRequest(inCpy)
12678			req.SetContext(ctx)
12679			req.ApplyOptions(opts...)
12680			return req, nil
12681		},
12682	}
12683
12684	for p.Next() {
12685		if !fn(p.Page().(*DescribeClientVpnAuthorizationRulesOutput), !p.HasNextPage()) {
12686			break
12687		}
12688	}
12689
12690	return p.Err()
12691}
12692
12693const opDescribeClientVpnConnections = "DescribeClientVpnConnections"
12694
12695// DescribeClientVpnConnectionsRequest generates a "aws/request.Request" representing the
12696// client's request for the DescribeClientVpnConnections operation. The "output" return
12697// value will be populated with the request's response once the request completes
12698// successfully.
12699//
12700// Use "Send" method on the returned Request to send the API call to the service.
12701// the "output" return value is not valid until after Send returns without error.
12702//
12703// See DescribeClientVpnConnections for more information on using the DescribeClientVpnConnections
12704// API call, and error handling.
12705//
12706// This method is useful when you want to inject custom logic or configuration
12707// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12708//
12709//
12710//    // Example sending a request using the DescribeClientVpnConnectionsRequest method.
12711//    req, resp := client.DescribeClientVpnConnectionsRequest(params)
12712//
12713//    err := req.Send()
12714//    if err == nil { // resp is now filled
12715//        fmt.Println(resp)
12716//    }
12717//
12718// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
12719func (c *EC2) DescribeClientVpnConnectionsRequest(input *DescribeClientVpnConnectionsInput) (req *request.Request, output *DescribeClientVpnConnectionsOutput) {
12720	op := &request.Operation{
12721		Name:       opDescribeClientVpnConnections,
12722		HTTPMethod: "POST",
12723		HTTPPath:   "/",
12724		Paginator: &request.Paginator{
12725			InputTokens:     []string{"NextToken"},
12726			OutputTokens:    []string{"NextToken"},
12727			LimitToken:      "MaxResults",
12728			TruncationToken: "",
12729		},
12730	}
12731
12732	if input == nil {
12733		input = &DescribeClientVpnConnectionsInput{}
12734	}
12735
12736	output = &DescribeClientVpnConnectionsOutput{}
12737	req = c.newRequest(op, input, output)
12738	return
12739}
12740
12741// DescribeClientVpnConnections API operation for Amazon Elastic Compute Cloud.
12742//
12743// Describes active client connections and connections that have been terminated
12744// within the last 60 minutes for the specified Client VPN endpoint.
12745//
12746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12747// with awserr.Error's Code and Message methods to get detailed information about
12748// the error.
12749//
12750// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12751// API operation DescribeClientVpnConnections for usage and error information.
12752// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
12753func (c *EC2) DescribeClientVpnConnections(input *DescribeClientVpnConnectionsInput) (*DescribeClientVpnConnectionsOutput, error) {
12754	req, out := c.DescribeClientVpnConnectionsRequest(input)
12755	return out, req.Send()
12756}
12757
12758// DescribeClientVpnConnectionsWithContext is the same as DescribeClientVpnConnections with the addition of
12759// the ability to pass a context and additional request options.
12760//
12761// See DescribeClientVpnConnections for details on how to use this API operation.
12762//
12763// The context must be non-nil and will be used for request cancellation. If
12764// the context is nil a panic will occur. In the future the SDK may create
12765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12766// for more information on using Contexts.
12767func (c *EC2) DescribeClientVpnConnectionsWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, opts ...request.Option) (*DescribeClientVpnConnectionsOutput, error) {
12768	req, out := c.DescribeClientVpnConnectionsRequest(input)
12769	req.SetContext(ctx)
12770	req.ApplyOptions(opts...)
12771	return out, req.Send()
12772}
12773
12774// DescribeClientVpnConnectionsPages iterates over the pages of a DescribeClientVpnConnections operation,
12775// calling the "fn" function with the response data for each page. To stop
12776// iterating, return false from the fn function.
12777//
12778// See DescribeClientVpnConnections method for more information on how to use this operation.
12779//
12780// Note: This operation can generate multiple requests to a service.
12781//
12782//    // Example iterating over at most 3 pages of a DescribeClientVpnConnections operation.
12783//    pageNum := 0
12784//    err := client.DescribeClientVpnConnectionsPages(params,
12785//        func(page *ec2.DescribeClientVpnConnectionsOutput, lastPage bool) bool {
12786//            pageNum++
12787//            fmt.Println(page)
12788//            return pageNum <= 3
12789//        })
12790//
12791func (c *EC2) DescribeClientVpnConnectionsPages(input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool) error {
12792	return c.DescribeClientVpnConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
12793}
12794
12795// DescribeClientVpnConnectionsPagesWithContext same as DescribeClientVpnConnectionsPages except
12796// it takes a Context and allows setting request options on the pages.
12797//
12798// The context must be non-nil and will be used for request cancellation. If
12799// the context is nil a panic will occur. In the future the SDK may create
12800// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12801// for more information on using Contexts.
12802func (c *EC2) DescribeClientVpnConnectionsPagesWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool, opts ...request.Option) error {
12803	p := request.Pagination{
12804		NewRequest: func() (*request.Request, error) {
12805			var inCpy *DescribeClientVpnConnectionsInput
12806			if input != nil {
12807				tmp := *input
12808				inCpy = &tmp
12809			}
12810			req, _ := c.DescribeClientVpnConnectionsRequest(inCpy)
12811			req.SetContext(ctx)
12812			req.ApplyOptions(opts...)
12813			return req, nil
12814		},
12815	}
12816
12817	for p.Next() {
12818		if !fn(p.Page().(*DescribeClientVpnConnectionsOutput), !p.HasNextPage()) {
12819			break
12820		}
12821	}
12822
12823	return p.Err()
12824}
12825
12826const opDescribeClientVpnEndpoints = "DescribeClientVpnEndpoints"
12827
12828// DescribeClientVpnEndpointsRequest generates a "aws/request.Request" representing the
12829// client's request for the DescribeClientVpnEndpoints operation. The "output" return
12830// value will be populated with the request's response once the request completes
12831// successfully.
12832//
12833// Use "Send" method on the returned Request to send the API call to the service.
12834// the "output" return value is not valid until after Send returns without error.
12835//
12836// See DescribeClientVpnEndpoints for more information on using the DescribeClientVpnEndpoints
12837// API call, and error handling.
12838//
12839// This method is useful when you want to inject custom logic or configuration
12840// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12841//
12842//
12843//    // Example sending a request using the DescribeClientVpnEndpointsRequest method.
12844//    req, resp := client.DescribeClientVpnEndpointsRequest(params)
12845//
12846//    err := req.Send()
12847//    if err == nil { // resp is now filled
12848//        fmt.Println(resp)
12849//    }
12850//
12851// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
12852func (c *EC2) DescribeClientVpnEndpointsRequest(input *DescribeClientVpnEndpointsInput) (req *request.Request, output *DescribeClientVpnEndpointsOutput) {
12853	op := &request.Operation{
12854		Name:       opDescribeClientVpnEndpoints,
12855		HTTPMethod: "POST",
12856		HTTPPath:   "/",
12857		Paginator: &request.Paginator{
12858			InputTokens:     []string{"NextToken"},
12859			OutputTokens:    []string{"NextToken"},
12860			LimitToken:      "MaxResults",
12861			TruncationToken: "",
12862		},
12863	}
12864
12865	if input == nil {
12866		input = &DescribeClientVpnEndpointsInput{}
12867	}
12868
12869	output = &DescribeClientVpnEndpointsOutput{}
12870	req = c.newRequest(op, input, output)
12871	return
12872}
12873
12874// DescribeClientVpnEndpoints API operation for Amazon Elastic Compute Cloud.
12875//
12876// Describes one or more Client VPN endpoints in the account.
12877//
12878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12879// with awserr.Error's Code and Message methods to get detailed information about
12880// the error.
12881//
12882// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12883// API operation DescribeClientVpnEndpoints for usage and error information.
12884// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
12885func (c *EC2) DescribeClientVpnEndpoints(input *DescribeClientVpnEndpointsInput) (*DescribeClientVpnEndpointsOutput, error) {
12886	req, out := c.DescribeClientVpnEndpointsRequest(input)
12887	return out, req.Send()
12888}
12889
12890// DescribeClientVpnEndpointsWithContext is the same as DescribeClientVpnEndpoints with the addition of
12891// the ability to pass a context and additional request options.
12892//
12893// See DescribeClientVpnEndpoints for details on how to use this API operation.
12894//
12895// The context must be non-nil and will be used for request cancellation. If
12896// the context is nil a panic will occur. In the future the SDK may create
12897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12898// for more information on using Contexts.
12899func (c *EC2) DescribeClientVpnEndpointsWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, opts ...request.Option) (*DescribeClientVpnEndpointsOutput, error) {
12900	req, out := c.DescribeClientVpnEndpointsRequest(input)
12901	req.SetContext(ctx)
12902	req.ApplyOptions(opts...)
12903	return out, req.Send()
12904}
12905
12906// DescribeClientVpnEndpointsPages iterates over the pages of a DescribeClientVpnEndpoints operation,
12907// calling the "fn" function with the response data for each page. To stop
12908// iterating, return false from the fn function.
12909//
12910// See DescribeClientVpnEndpoints method for more information on how to use this operation.
12911//
12912// Note: This operation can generate multiple requests to a service.
12913//
12914//    // Example iterating over at most 3 pages of a DescribeClientVpnEndpoints operation.
12915//    pageNum := 0
12916//    err := client.DescribeClientVpnEndpointsPages(params,
12917//        func(page *ec2.DescribeClientVpnEndpointsOutput, lastPage bool) bool {
12918//            pageNum++
12919//            fmt.Println(page)
12920//            return pageNum <= 3
12921//        })
12922//
12923func (c *EC2) DescribeClientVpnEndpointsPages(input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool) error {
12924	return c.DescribeClientVpnEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
12925}
12926
12927// DescribeClientVpnEndpointsPagesWithContext same as DescribeClientVpnEndpointsPages except
12928// it takes a Context and allows setting request options on the pages.
12929//
12930// The context must be non-nil and will be used for request cancellation. If
12931// the context is nil a panic will occur. In the future the SDK may create
12932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12933// for more information on using Contexts.
12934func (c *EC2) DescribeClientVpnEndpointsPagesWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool, opts ...request.Option) error {
12935	p := request.Pagination{
12936		NewRequest: func() (*request.Request, error) {
12937			var inCpy *DescribeClientVpnEndpointsInput
12938			if input != nil {
12939				tmp := *input
12940				inCpy = &tmp
12941			}
12942			req, _ := c.DescribeClientVpnEndpointsRequest(inCpy)
12943			req.SetContext(ctx)
12944			req.ApplyOptions(opts...)
12945			return req, nil
12946		},
12947	}
12948
12949	for p.Next() {
12950		if !fn(p.Page().(*DescribeClientVpnEndpointsOutput), !p.HasNextPage()) {
12951			break
12952		}
12953	}
12954
12955	return p.Err()
12956}
12957
12958const opDescribeClientVpnRoutes = "DescribeClientVpnRoutes"
12959
12960// DescribeClientVpnRoutesRequest generates a "aws/request.Request" representing the
12961// client's request for the DescribeClientVpnRoutes operation. The "output" return
12962// value will be populated with the request's response once the request completes
12963// successfully.
12964//
12965// Use "Send" method on the returned Request to send the API call to the service.
12966// the "output" return value is not valid until after Send returns without error.
12967//
12968// See DescribeClientVpnRoutes for more information on using the DescribeClientVpnRoutes
12969// API call, and error handling.
12970//
12971// This method is useful when you want to inject custom logic or configuration
12972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12973//
12974//
12975//    // Example sending a request using the DescribeClientVpnRoutesRequest method.
12976//    req, resp := client.DescribeClientVpnRoutesRequest(params)
12977//
12978//    err := req.Send()
12979//    if err == nil { // resp is now filled
12980//        fmt.Println(resp)
12981//    }
12982//
12983// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
12984func (c *EC2) DescribeClientVpnRoutesRequest(input *DescribeClientVpnRoutesInput) (req *request.Request, output *DescribeClientVpnRoutesOutput) {
12985	op := &request.Operation{
12986		Name:       opDescribeClientVpnRoutes,
12987		HTTPMethod: "POST",
12988		HTTPPath:   "/",
12989		Paginator: &request.Paginator{
12990			InputTokens:     []string{"NextToken"},
12991			OutputTokens:    []string{"NextToken"},
12992			LimitToken:      "MaxResults",
12993			TruncationToken: "",
12994		},
12995	}
12996
12997	if input == nil {
12998		input = &DescribeClientVpnRoutesInput{}
12999	}
13000
13001	output = &DescribeClientVpnRoutesOutput{}
13002	req = c.newRequest(op, input, output)
13003	return
13004}
13005
13006// DescribeClientVpnRoutes API operation for Amazon Elastic Compute Cloud.
13007//
13008// Describes the routes for the specified Client VPN endpoint.
13009//
13010// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13011// with awserr.Error's Code and Message methods to get detailed information about
13012// the error.
13013//
13014// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13015// API operation DescribeClientVpnRoutes for usage and error information.
13016// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
13017func (c *EC2) DescribeClientVpnRoutes(input *DescribeClientVpnRoutesInput) (*DescribeClientVpnRoutesOutput, error) {
13018	req, out := c.DescribeClientVpnRoutesRequest(input)
13019	return out, req.Send()
13020}
13021
13022// DescribeClientVpnRoutesWithContext is the same as DescribeClientVpnRoutes with the addition of
13023// the ability to pass a context and additional request options.
13024//
13025// See DescribeClientVpnRoutes for details on how to use this API operation.
13026//
13027// The context must be non-nil and will be used for request cancellation. If
13028// the context is nil a panic will occur. In the future the SDK may create
13029// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13030// for more information on using Contexts.
13031func (c *EC2) DescribeClientVpnRoutesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, opts ...request.Option) (*DescribeClientVpnRoutesOutput, error) {
13032	req, out := c.DescribeClientVpnRoutesRequest(input)
13033	req.SetContext(ctx)
13034	req.ApplyOptions(opts...)
13035	return out, req.Send()
13036}
13037
13038// DescribeClientVpnRoutesPages iterates over the pages of a DescribeClientVpnRoutes operation,
13039// calling the "fn" function with the response data for each page. To stop
13040// iterating, return false from the fn function.
13041//
13042// See DescribeClientVpnRoutes method for more information on how to use this operation.
13043//
13044// Note: This operation can generate multiple requests to a service.
13045//
13046//    // Example iterating over at most 3 pages of a DescribeClientVpnRoutes operation.
13047//    pageNum := 0
13048//    err := client.DescribeClientVpnRoutesPages(params,
13049//        func(page *ec2.DescribeClientVpnRoutesOutput, lastPage bool) bool {
13050//            pageNum++
13051//            fmt.Println(page)
13052//            return pageNum <= 3
13053//        })
13054//
13055func (c *EC2) DescribeClientVpnRoutesPages(input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool) error {
13056	return c.DescribeClientVpnRoutesPagesWithContext(aws.BackgroundContext(), input, fn)
13057}
13058
13059// DescribeClientVpnRoutesPagesWithContext same as DescribeClientVpnRoutesPages except
13060// it takes a Context and allows setting request options on the pages.
13061//
13062// The context must be non-nil and will be used for request cancellation. If
13063// the context is nil a panic will occur. In the future the SDK may create
13064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13065// for more information on using Contexts.
13066func (c *EC2) DescribeClientVpnRoutesPagesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool, opts ...request.Option) error {
13067	p := request.Pagination{
13068		NewRequest: func() (*request.Request, error) {
13069			var inCpy *DescribeClientVpnRoutesInput
13070			if input != nil {
13071				tmp := *input
13072				inCpy = &tmp
13073			}
13074			req, _ := c.DescribeClientVpnRoutesRequest(inCpy)
13075			req.SetContext(ctx)
13076			req.ApplyOptions(opts...)
13077			return req, nil
13078		},
13079	}
13080
13081	for p.Next() {
13082		if !fn(p.Page().(*DescribeClientVpnRoutesOutput), !p.HasNextPage()) {
13083			break
13084		}
13085	}
13086
13087	return p.Err()
13088}
13089
13090const opDescribeClientVpnTargetNetworks = "DescribeClientVpnTargetNetworks"
13091
13092// DescribeClientVpnTargetNetworksRequest generates a "aws/request.Request" representing the
13093// client's request for the DescribeClientVpnTargetNetworks operation. The "output" return
13094// value will be populated with the request's response once the request completes
13095// successfully.
13096//
13097// Use "Send" method on the returned Request to send the API call to the service.
13098// the "output" return value is not valid until after Send returns without error.
13099//
13100// See DescribeClientVpnTargetNetworks for more information on using the DescribeClientVpnTargetNetworks
13101// API call, and error handling.
13102//
13103// This method is useful when you want to inject custom logic or configuration
13104// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13105//
13106//
13107//    // Example sending a request using the DescribeClientVpnTargetNetworksRequest method.
13108//    req, resp := client.DescribeClientVpnTargetNetworksRequest(params)
13109//
13110//    err := req.Send()
13111//    if err == nil { // resp is now filled
13112//        fmt.Println(resp)
13113//    }
13114//
13115// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
13116func (c *EC2) DescribeClientVpnTargetNetworksRequest(input *DescribeClientVpnTargetNetworksInput) (req *request.Request, output *DescribeClientVpnTargetNetworksOutput) {
13117	op := &request.Operation{
13118		Name:       opDescribeClientVpnTargetNetworks,
13119		HTTPMethod: "POST",
13120		HTTPPath:   "/",
13121		Paginator: &request.Paginator{
13122			InputTokens:     []string{"NextToken"},
13123			OutputTokens:    []string{"NextToken"},
13124			LimitToken:      "MaxResults",
13125			TruncationToken: "",
13126		},
13127	}
13128
13129	if input == nil {
13130		input = &DescribeClientVpnTargetNetworksInput{}
13131	}
13132
13133	output = &DescribeClientVpnTargetNetworksOutput{}
13134	req = c.newRequest(op, input, output)
13135	return
13136}
13137
13138// DescribeClientVpnTargetNetworks API operation for Amazon Elastic Compute Cloud.
13139//
13140// Describes the target networks associated with the specified Client VPN endpoint.
13141//
13142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13143// with awserr.Error's Code and Message methods to get detailed information about
13144// the error.
13145//
13146// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13147// API operation DescribeClientVpnTargetNetworks for usage and error information.
13148// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
13149func (c *EC2) DescribeClientVpnTargetNetworks(input *DescribeClientVpnTargetNetworksInput) (*DescribeClientVpnTargetNetworksOutput, error) {
13150	req, out := c.DescribeClientVpnTargetNetworksRequest(input)
13151	return out, req.Send()
13152}
13153
13154// DescribeClientVpnTargetNetworksWithContext is the same as DescribeClientVpnTargetNetworks with the addition of
13155// the ability to pass a context and additional request options.
13156//
13157// See DescribeClientVpnTargetNetworks for details on how to use this API operation.
13158//
13159// The context must be non-nil and will be used for request cancellation. If
13160// the context is nil a panic will occur. In the future the SDK may create
13161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13162// for more information on using Contexts.
13163func (c *EC2) DescribeClientVpnTargetNetworksWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, opts ...request.Option) (*DescribeClientVpnTargetNetworksOutput, error) {
13164	req, out := c.DescribeClientVpnTargetNetworksRequest(input)
13165	req.SetContext(ctx)
13166	req.ApplyOptions(opts...)
13167	return out, req.Send()
13168}
13169
13170// DescribeClientVpnTargetNetworksPages iterates over the pages of a DescribeClientVpnTargetNetworks operation,
13171// calling the "fn" function with the response data for each page. To stop
13172// iterating, return false from the fn function.
13173//
13174// See DescribeClientVpnTargetNetworks method for more information on how to use this operation.
13175//
13176// Note: This operation can generate multiple requests to a service.
13177//
13178//    // Example iterating over at most 3 pages of a DescribeClientVpnTargetNetworks operation.
13179//    pageNum := 0
13180//    err := client.DescribeClientVpnTargetNetworksPages(params,
13181//        func(page *ec2.DescribeClientVpnTargetNetworksOutput, lastPage bool) bool {
13182//            pageNum++
13183//            fmt.Println(page)
13184//            return pageNum <= 3
13185//        })
13186//
13187func (c *EC2) DescribeClientVpnTargetNetworksPages(input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool) error {
13188	return c.DescribeClientVpnTargetNetworksPagesWithContext(aws.BackgroundContext(), input, fn)
13189}
13190
13191// DescribeClientVpnTargetNetworksPagesWithContext same as DescribeClientVpnTargetNetworksPages except
13192// it takes a Context and allows setting request options on the pages.
13193//
13194// The context must be non-nil and will be used for request cancellation. If
13195// the context is nil a panic will occur. In the future the SDK may create
13196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13197// for more information on using Contexts.
13198func (c *EC2) DescribeClientVpnTargetNetworksPagesWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool, opts ...request.Option) error {
13199	p := request.Pagination{
13200		NewRequest: func() (*request.Request, error) {
13201			var inCpy *DescribeClientVpnTargetNetworksInput
13202			if input != nil {
13203				tmp := *input
13204				inCpy = &tmp
13205			}
13206			req, _ := c.DescribeClientVpnTargetNetworksRequest(inCpy)
13207			req.SetContext(ctx)
13208			req.ApplyOptions(opts...)
13209			return req, nil
13210		},
13211	}
13212
13213	for p.Next() {
13214		if !fn(p.Page().(*DescribeClientVpnTargetNetworksOutput), !p.HasNextPage()) {
13215			break
13216		}
13217	}
13218
13219	return p.Err()
13220}
13221
13222const opDescribeCoipPools = "DescribeCoipPools"
13223
13224// DescribeCoipPoolsRequest generates a "aws/request.Request" representing the
13225// client's request for the DescribeCoipPools operation. The "output" return
13226// value will be populated with the request's response once the request completes
13227// successfully.
13228//
13229// Use "Send" method on the returned Request to send the API call to the service.
13230// the "output" return value is not valid until after Send returns without error.
13231//
13232// See DescribeCoipPools for more information on using the DescribeCoipPools
13233// API call, and error handling.
13234//
13235// This method is useful when you want to inject custom logic or configuration
13236// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13237//
13238//
13239//    // Example sending a request using the DescribeCoipPoolsRequest method.
13240//    req, resp := client.DescribeCoipPoolsRequest(params)
13241//
13242//    err := req.Send()
13243//    if err == nil { // resp is now filled
13244//        fmt.Println(resp)
13245//    }
13246//
13247// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
13248func (c *EC2) DescribeCoipPoolsRequest(input *DescribeCoipPoolsInput) (req *request.Request, output *DescribeCoipPoolsOutput) {
13249	op := &request.Operation{
13250		Name:       opDescribeCoipPools,
13251		HTTPMethod: "POST",
13252		HTTPPath:   "/",
13253		Paginator: &request.Paginator{
13254			InputTokens:     []string{"NextToken"},
13255			OutputTokens:    []string{"NextToken"},
13256			LimitToken:      "MaxResults",
13257			TruncationToken: "",
13258		},
13259	}
13260
13261	if input == nil {
13262		input = &DescribeCoipPoolsInput{}
13263	}
13264
13265	output = &DescribeCoipPoolsOutput{}
13266	req = c.newRequest(op, input, output)
13267	return
13268}
13269
13270// DescribeCoipPools API operation for Amazon Elastic Compute Cloud.
13271//
13272// Describes the specified customer-owned address pools or all of your customer-owned
13273// address pools.
13274//
13275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13276// with awserr.Error's Code and Message methods to get detailed information about
13277// the error.
13278//
13279// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13280// API operation DescribeCoipPools for usage and error information.
13281// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
13282func (c *EC2) DescribeCoipPools(input *DescribeCoipPoolsInput) (*DescribeCoipPoolsOutput, error) {
13283	req, out := c.DescribeCoipPoolsRequest(input)
13284	return out, req.Send()
13285}
13286
13287// DescribeCoipPoolsWithContext is the same as DescribeCoipPools with the addition of
13288// the ability to pass a context and additional request options.
13289//
13290// See DescribeCoipPools for details on how to use this API operation.
13291//
13292// The context must be non-nil and will be used for request cancellation. If
13293// the context is nil a panic will occur. In the future the SDK may create
13294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13295// for more information on using Contexts.
13296func (c *EC2) DescribeCoipPoolsWithContext(ctx aws.Context, input *DescribeCoipPoolsInput, opts ...request.Option) (*DescribeCoipPoolsOutput, error) {
13297	req, out := c.DescribeCoipPoolsRequest(input)
13298	req.SetContext(ctx)
13299	req.ApplyOptions(opts...)
13300	return out, req.Send()
13301}
13302
13303// DescribeCoipPoolsPages iterates over the pages of a DescribeCoipPools operation,
13304// calling the "fn" function with the response data for each page. To stop
13305// iterating, return false from the fn function.
13306//
13307// See DescribeCoipPools method for more information on how to use this operation.
13308//
13309// Note: This operation can generate multiple requests to a service.
13310//
13311//    // Example iterating over at most 3 pages of a DescribeCoipPools operation.
13312//    pageNum := 0
13313//    err := client.DescribeCoipPoolsPages(params,
13314//        func(page *ec2.DescribeCoipPoolsOutput, lastPage bool) bool {
13315//            pageNum++
13316//            fmt.Println(page)
13317//            return pageNum <= 3
13318//        })
13319//
13320func (c *EC2) DescribeCoipPoolsPages(input *DescribeCoipPoolsInput, fn func(*DescribeCoipPoolsOutput, bool) bool) error {
13321	return c.DescribeCoipPoolsPagesWithContext(aws.BackgroundContext(), input, fn)
13322}
13323
13324// DescribeCoipPoolsPagesWithContext same as DescribeCoipPoolsPages except
13325// it takes a Context and allows setting request options on the pages.
13326//
13327// The context must be non-nil and will be used for request cancellation. If
13328// the context is nil a panic will occur. In the future the SDK may create
13329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13330// for more information on using Contexts.
13331func (c *EC2) DescribeCoipPoolsPagesWithContext(ctx aws.Context, input *DescribeCoipPoolsInput, fn func(*DescribeCoipPoolsOutput, bool) bool, opts ...request.Option) error {
13332	p := request.Pagination{
13333		NewRequest: func() (*request.Request, error) {
13334			var inCpy *DescribeCoipPoolsInput
13335			if input != nil {
13336				tmp := *input
13337				inCpy = &tmp
13338			}
13339			req, _ := c.DescribeCoipPoolsRequest(inCpy)
13340			req.SetContext(ctx)
13341			req.ApplyOptions(opts...)
13342			return req, nil
13343		},
13344	}
13345
13346	for p.Next() {
13347		if !fn(p.Page().(*DescribeCoipPoolsOutput), !p.HasNextPage()) {
13348			break
13349		}
13350	}
13351
13352	return p.Err()
13353}
13354
13355const opDescribeConversionTasks = "DescribeConversionTasks"
13356
13357// DescribeConversionTasksRequest generates a "aws/request.Request" representing the
13358// client's request for the DescribeConversionTasks operation. The "output" return
13359// value will be populated with the request's response once the request completes
13360// successfully.
13361//
13362// Use "Send" method on the returned Request to send the API call to the service.
13363// the "output" return value is not valid until after Send returns without error.
13364//
13365// See DescribeConversionTasks for more information on using the DescribeConversionTasks
13366// API call, and error handling.
13367//
13368// This method is useful when you want to inject custom logic or configuration
13369// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13370//
13371//
13372//    // Example sending a request using the DescribeConversionTasksRequest method.
13373//    req, resp := client.DescribeConversionTasksRequest(params)
13374//
13375//    err := req.Send()
13376//    if err == nil { // resp is now filled
13377//        fmt.Println(resp)
13378//    }
13379//
13380// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
13381func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
13382	op := &request.Operation{
13383		Name:       opDescribeConversionTasks,
13384		HTTPMethod: "POST",
13385		HTTPPath:   "/",
13386	}
13387
13388	if input == nil {
13389		input = &DescribeConversionTasksInput{}
13390	}
13391
13392	output = &DescribeConversionTasksOutput{}
13393	req = c.newRequest(op, input, output)
13394	return
13395}
13396
13397// DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
13398//
13399// Describes the specified conversion tasks or all your conversion tasks. For
13400// more information, see the VM Import/Export User Guide (https://docs.aws.amazon.com/vm-import/latest/userguide/).
13401//
13402// For information about the import manifest referenced by this API action,
13403// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
13404//
13405// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13406// with awserr.Error's Code and Message methods to get detailed information about
13407// the error.
13408//
13409// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13410// API operation DescribeConversionTasks for usage and error information.
13411// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
13412func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
13413	req, out := c.DescribeConversionTasksRequest(input)
13414	return out, req.Send()
13415}
13416
13417// DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
13418// the ability to pass a context and additional request options.
13419//
13420// See DescribeConversionTasks for details on how to use this API operation.
13421//
13422// The context must be non-nil and will be used for request cancellation. If
13423// the context is nil a panic will occur. In the future the SDK may create
13424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13425// for more information on using Contexts.
13426func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
13427	req, out := c.DescribeConversionTasksRequest(input)
13428	req.SetContext(ctx)
13429	req.ApplyOptions(opts...)
13430	return out, req.Send()
13431}
13432
13433const opDescribeCustomerGateways = "DescribeCustomerGateways"
13434
13435// DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
13436// client's request for the DescribeCustomerGateways operation. The "output" return
13437// value will be populated with the request's response once the request completes
13438// successfully.
13439//
13440// Use "Send" method on the returned Request to send the API call to the service.
13441// the "output" return value is not valid until after Send returns without error.
13442//
13443// See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
13444// API call, and error handling.
13445//
13446// This method is useful when you want to inject custom logic or configuration
13447// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13448//
13449//
13450//    // Example sending a request using the DescribeCustomerGatewaysRequest method.
13451//    req, resp := client.DescribeCustomerGatewaysRequest(params)
13452//
13453//    err := req.Send()
13454//    if err == nil { // resp is now filled
13455//        fmt.Println(resp)
13456//    }
13457//
13458// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
13459func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
13460	op := &request.Operation{
13461		Name:       opDescribeCustomerGateways,
13462		HTTPMethod: "POST",
13463		HTTPPath:   "/",
13464	}
13465
13466	if input == nil {
13467		input = &DescribeCustomerGatewaysInput{}
13468	}
13469
13470	output = &DescribeCustomerGatewaysOutput{}
13471	req = c.newRequest(op, input, output)
13472	return
13473}
13474
13475// DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
13476//
13477// Describes one or more of your VPN customer gateways.
13478//
13479// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
13480// in the AWS Site-to-Site VPN User Guide.
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 DescribeCustomerGateways for usage and error information.
13488// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
13489func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
13490	req, out := c.DescribeCustomerGatewaysRequest(input)
13491	return out, req.Send()
13492}
13493
13494// DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
13495// the ability to pass a context and additional request options.
13496//
13497// See DescribeCustomerGateways 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) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
13504	req, out := c.DescribeCustomerGatewaysRequest(input)
13505	req.SetContext(ctx)
13506	req.ApplyOptions(opts...)
13507	return out, req.Send()
13508}
13509
13510const opDescribeDhcpOptions = "DescribeDhcpOptions"
13511
13512// DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
13513// client's request for the DescribeDhcpOptions 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 DescribeDhcpOptions for more information on using the DescribeDhcpOptions
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 DescribeDhcpOptionsRequest method.
13528//    req, resp := client.DescribeDhcpOptionsRequest(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/DescribeDhcpOptions
13536func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
13537	op := &request.Operation{
13538		Name:       opDescribeDhcpOptions,
13539		HTTPMethod: "POST",
13540		HTTPPath:   "/",
13541		Paginator: &request.Paginator{
13542			InputTokens:     []string{"NextToken"},
13543			OutputTokens:    []string{"NextToken"},
13544			LimitToken:      "MaxResults",
13545			TruncationToken: "",
13546		},
13547	}
13548
13549	if input == nil {
13550		input = &DescribeDhcpOptionsInput{}
13551	}
13552
13553	output = &DescribeDhcpOptionsOutput{}
13554	req = c.newRequest(op, input, output)
13555	return
13556}
13557
13558// DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
13559//
13560// Describes one or more of your DHCP options sets.
13561//
13562// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
13563// in the Amazon Virtual Private Cloud User Guide.
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 DescribeDhcpOptions for usage and error information.
13571// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
13572func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
13573	req, out := c.DescribeDhcpOptionsRequest(input)
13574	return out, req.Send()
13575}
13576
13577// DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
13578// the ability to pass a context and additional request options.
13579//
13580// See DescribeDhcpOptions 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) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
13587	req, out := c.DescribeDhcpOptionsRequest(input)
13588	req.SetContext(ctx)
13589	req.ApplyOptions(opts...)
13590	return out, req.Send()
13591}
13592
13593// DescribeDhcpOptionsPages iterates over the pages of a DescribeDhcpOptions operation,
13594// calling the "fn" function with the response data for each page. To stop
13595// iterating, return false from the fn function.
13596//
13597// See DescribeDhcpOptions method for more information on how to use this operation.
13598//
13599// Note: This operation can generate multiple requests to a service.
13600//
13601//    // Example iterating over at most 3 pages of a DescribeDhcpOptions operation.
13602//    pageNum := 0
13603//    err := client.DescribeDhcpOptionsPages(params,
13604//        func(page *ec2.DescribeDhcpOptionsOutput, lastPage bool) bool {
13605//            pageNum++
13606//            fmt.Println(page)
13607//            return pageNum <= 3
13608//        })
13609//
13610func (c *EC2) DescribeDhcpOptionsPages(input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool) error {
13611	return c.DescribeDhcpOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
13612}
13613
13614// DescribeDhcpOptionsPagesWithContext same as DescribeDhcpOptionsPages except
13615// it takes a Context and allows setting request options on the pages.
13616//
13617// The context must be non-nil and will be used for request cancellation. If
13618// the context is nil a panic will occur. In the future the SDK may create
13619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13620// for more information on using Contexts.
13621func (c *EC2) DescribeDhcpOptionsPagesWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool, opts ...request.Option) error {
13622	p := request.Pagination{
13623		NewRequest: func() (*request.Request, error) {
13624			var inCpy *DescribeDhcpOptionsInput
13625			if input != nil {
13626				tmp := *input
13627				inCpy = &tmp
13628			}
13629			req, _ := c.DescribeDhcpOptionsRequest(inCpy)
13630			req.SetContext(ctx)
13631			req.ApplyOptions(opts...)
13632			return req, nil
13633		},
13634	}
13635
13636	for p.Next() {
13637		if !fn(p.Page().(*DescribeDhcpOptionsOutput), !p.HasNextPage()) {
13638			break
13639		}
13640	}
13641
13642	return p.Err()
13643}
13644
13645const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
13646
13647// DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
13648// client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
13649// value will be populated with the request's response once the request completes
13650// successfully.
13651//
13652// Use "Send" method on the returned Request to send the API call to the service.
13653// the "output" return value is not valid until after Send returns without error.
13654//
13655// See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
13656// API call, and error handling.
13657//
13658// This method is useful when you want to inject custom logic or configuration
13659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13660//
13661//
13662//    // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
13663//    req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
13664//
13665//    err := req.Send()
13666//    if err == nil { // resp is now filled
13667//        fmt.Println(resp)
13668//    }
13669//
13670// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
13671func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
13672	op := &request.Operation{
13673		Name:       opDescribeEgressOnlyInternetGateways,
13674		HTTPMethod: "POST",
13675		HTTPPath:   "/",
13676		Paginator: &request.Paginator{
13677			InputTokens:     []string{"NextToken"},
13678			OutputTokens:    []string{"NextToken"},
13679			LimitToken:      "MaxResults",
13680			TruncationToken: "",
13681		},
13682	}
13683
13684	if input == nil {
13685		input = &DescribeEgressOnlyInternetGatewaysInput{}
13686	}
13687
13688	output = &DescribeEgressOnlyInternetGatewaysOutput{}
13689	req = c.newRequest(op, input, output)
13690	return
13691}
13692
13693// DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
13694//
13695// Describes one or more of your egress-only internet gateways.
13696//
13697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13698// with awserr.Error's Code and Message methods to get detailed information about
13699// the error.
13700//
13701// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13702// API operation DescribeEgressOnlyInternetGateways for usage and error information.
13703// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
13704func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
13705	req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
13706	return out, req.Send()
13707}
13708
13709// DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
13710// the ability to pass a context and additional request options.
13711//
13712// See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
13713//
13714// The context must be non-nil and will be used for request cancellation. If
13715// the context is nil a panic will occur. In the future the SDK may create
13716// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13717// for more information on using Contexts.
13718func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
13719	req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
13720	req.SetContext(ctx)
13721	req.ApplyOptions(opts...)
13722	return out, req.Send()
13723}
13724
13725// DescribeEgressOnlyInternetGatewaysPages iterates over the pages of a DescribeEgressOnlyInternetGateways operation,
13726// calling the "fn" function with the response data for each page. To stop
13727// iterating, return false from the fn function.
13728//
13729// See DescribeEgressOnlyInternetGateways method for more information on how to use this operation.
13730//
13731// Note: This operation can generate multiple requests to a service.
13732//
13733//    // Example iterating over at most 3 pages of a DescribeEgressOnlyInternetGateways operation.
13734//    pageNum := 0
13735//    err := client.DescribeEgressOnlyInternetGatewaysPages(params,
13736//        func(page *ec2.DescribeEgressOnlyInternetGatewaysOutput, lastPage bool) bool {
13737//            pageNum++
13738//            fmt.Println(page)
13739//            return pageNum <= 3
13740//        })
13741//
13742func (c *EC2) DescribeEgressOnlyInternetGatewaysPages(input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool) error {
13743	return c.DescribeEgressOnlyInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
13744}
13745
13746// DescribeEgressOnlyInternetGatewaysPagesWithContext same as DescribeEgressOnlyInternetGatewaysPages except
13747// it takes a Context and allows setting request options on the pages.
13748//
13749// The context must be non-nil and will be used for request cancellation. If
13750// the context is nil a panic will occur. In the future the SDK may create
13751// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13752// for more information on using Contexts.
13753func (c *EC2) DescribeEgressOnlyInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
13754	p := request.Pagination{
13755		NewRequest: func() (*request.Request, error) {
13756			var inCpy *DescribeEgressOnlyInternetGatewaysInput
13757			if input != nil {
13758				tmp := *input
13759				inCpy = &tmp
13760			}
13761			req, _ := c.DescribeEgressOnlyInternetGatewaysRequest(inCpy)
13762			req.SetContext(ctx)
13763			req.ApplyOptions(opts...)
13764			return req, nil
13765		},
13766	}
13767
13768	for p.Next() {
13769		if !fn(p.Page().(*DescribeEgressOnlyInternetGatewaysOutput), !p.HasNextPage()) {
13770			break
13771		}
13772	}
13773
13774	return p.Err()
13775}
13776
13777const opDescribeElasticGpus = "DescribeElasticGpus"
13778
13779// DescribeElasticGpusRequest generates a "aws/request.Request" representing the
13780// client's request for the DescribeElasticGpus operation. The "output" return
13781// value will be populated with the request's response once the request completes
13782// successfully.
13783//
13784// Use "Send" method on the returned Request to send the API call to the service.
13785// the "output" return value is not valid until after Send returns without error.
13786//
13787// See DescribeElasticGpus for more information on using the DescribeElasticGpus
13788// API call, and error handling.
13789//
13790// This method is useful when you want to inject custom logic or configuration
13791// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13792//
13793//
13794//    // Example sending a request using the DescribeElasticGpusRequest method.
13795//    req, resp := client.DescribeElasticGpusRequest(params)
13796//
13797//    err := req.Send()
13798//    if err == nil { // resp is now filled
13799//        fmt.Println(resp)
13800//    }
13801//
13802// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
13803func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
13804	op := &request.Operation{
13805		Name:       opDescribeElasticGpus,
13806		HTTPMethod: "POST",
13807		HTTPPath:   "/",
13808	}
13809
13810	if input == nil {
13811		input = &DescribeElasticGpusInput{}
13812	}
13813
13814	output = &DescribeElasticGpusOutput{}
13815	req = c.newRequest(op, input, output)
13816	return
13817}
13818
13819// DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
13820//
13821// Describes the Elastic Graphics accelerator associated with your instances.
13822// For more information about Elastic Graphics, see Amazon Elastic Graphics
13823// (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html).
13824//
13825// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13826// with awserr.Error's Code and Message methods to get detailed information about
13827// the error.
13828//
13829// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13830// API operation DescribeElasticGpus for usage and error information.
13831// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
13832func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
13833	req, out := c.DescribeElasticGpusRequest(input)
13834	return out, req.Send()
13835}
13836
13837// DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
13838// the ability to pass a context and additional request options.
13839//
13840// See DescribeElasticGpus for details on how to use this API operation.
13841//
13842// The context must be non-nil and will be used for request cancellation. If
13843// the context is nil a panic will occur. In the future the SDK may create
13844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13845// for more information on using Contexts.
13846func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
13847	req, out := c.DescribeElasticGpusRequest(input)
13848	req.SetContext(ctx)
13849	req.ApplyOptions(opts...)
13850	return out, req.Send()
13851}
13852
13853const opDescribeExportImageTasks = "DescribeExportImageTasks"
13854
13855// DescribeExportImageTasksRequest generates a "aws/request.Request" representing the
13856// client's request for the DescribeExportImageTasks operation. The "output" return
13857// value will be populated with the request's response once the request completes
13858// successfully.
13859//
13860// Use "Send" method on the returned Request to send the API call to the service.
13861// the "output" return value is not valid until after Send returns without error.
13862//
13863// See DescribeExportImageTasks for more information on using the DescribeExportImageTasks
13864// API call, and error handling.
13865//
13866// This method is useful when you want to inject custom logic or configuration
13867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13868//
13869//
13870//    // Example sending a request using the DescribeExportImageTasksRequest method.
13871//    req, resp := client.DescribeExportImageTasksRequest(params)
13872//
13873//    err := req.Send()
13874//    if err == nil { // resp is now filled
13875//        fmt.Println(resp)
13876//    }
13877//
13878// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks
13879func (c *EC2) DescribeExportImageTasksRequest(input *DescribeExportImageTasksInput) (req *request.Request, output *DescribeExportImageTasksOutput) {
13880	op := &request.Operation{
13881		Name:       opDescribeExportImageTasks,
13882		HTTPMethod: "POST",
13883		HTTPPath:   "/",
13884		Paginator: &request.Paginator{
13885			InputTokens:     []string{"NextToken"},
13886			OutputTokens:    []string{"NextToken"},
13887			LimitToken:      "MaxResults",
13888			TruncationToken: "",
13889		},
13890	}
13891
13892	if input == nil {
13893		input = &DescribeExportImageTasksInput{}
13894	}
13895
13896	output = &DescribeExportImageTasksOutput{}
13897	req = c.newRequest(op, input, output)
13898	return
13899}
13900
13901// DescribeExportImageTasks API operation for Amazon Elastic Compute Cloud.
13902//
13903// Describes the specified export image tasks or all your export image tasks.
13904//
13905// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13906// with awserr.Error's Code and Message methods to get detailed information about
13907// the error.
13908//
13909// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13910// API operation DescribeExportImageTasks for usage and error information.
13911// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks
13912func (c *EC2) DescribeExportImageTasks(input *DescribeExportImageTasksInput) (*DescribeExportImageTasksOutput, error) {
13913	req, out := c.DescribeExportImageTasksRequest(input)
13914	return out, req.Send()
13915}
13916
13917// DescribeExportImageTasksWithContext is the same as DescribeExportImageTasks with the addition of
13918// the ability to pass a context and additional request options.
13919//
13920// See DescribeExportImageTasks for details on how to use this API operation.
13921//
13922// The context must be non-nil and will be used for request cancellation. If
13923// the context is nil a panic will occur. In the future the SDK may create
13924// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13925// for more information on using Contexts.
13926func (c *EC2) DescribeExportImageTasksWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, opts ...request.Option) (*DescribeExportImageTasksOutput, error) {
13927	req, out := c.DescribeExportImageTasksRequest(input)
13928	req.SetContext(ctx)
13929	req.ApplyOptions(opts...)
13930	return out, req.Send()
13931}
13932
13933// DescribeExportImageTasksPages iterates over the pages of a DescribeExportImageTasks operation,
13934// calling the "fn" function with the response data for each page. To stop
13935// iterating, return false from the fn function.
13936//
13937// See DescribeExportImageTasks method for more information on how to use this operation.
13938//
13939// Note: This operation can generate multiple requests to a service.
13940//
13941//    // Example iterating over at most 3 pages of a DescribeExportImageTasks operation.
13942//    pageNum := 0
13943//    err := client.DescribeExportImageTasksPages(params,
13944//        func(page *ec2.DescribeExportImageTasksOutput, lastPage bool) bool {
13945//            pageNum++
13946//            fmt.Println(page)
13947//            return pageNum <= 3
13948//        })
13949//
13950func (c *EC2) DescribeExportImageTasksPages(input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool) error {
13951	return c.DescribeExportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
13952}
13953
13954// DescribeExportImageTasksPagesWithContext same as DescribeExportImageTasksPages except
13955// it takes a Context and allows setting request options on the pages.
13956//
13957// The context must be non-nil and will be used for request cancellation. If
13958// the context is nil a panic will occur. In the future the SDK may create
13959// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13960// for more information on using Contexts.
13961func (c *EC2) DescribeExportImageTasksPagesWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool, opts ...request.Option) error {
13962	p := request.Pagination{
13963		NewRequest: func() (*request.Request, error) {
13964			var inCpy *DescribeExportImageTasksInput
13965			if input != nil {
13966				tmp := *input
13967				inCpy = &tmp
13968			}
13969			req, _ := c.DescribeExportImageTasksRequest(inCpy)
13970			req.SetContext(ctx)
13971			req.ApplyOptions(opts...)
13972			return req, nil
13973		},
13974	}
13975
13976	for p.Next() {
13977		if !fn(p.Page().(*DescribeExportImageTasksOutput), !p.HasNextPage()) {
13978			break
13979		}
13980	}
13981
13982	return p.Err()
13983}
13984
13985const opDescribeExportTasks = "DescribeExportTasks"
13986
13987// DescribeExportTasksRequest generates a "aws/request.Request" representing the
13988// client's request for the DescribeExportTasks operation. The "output" return
13989// value will be populated with the request's response once the request completes
13990// successfully.
13991//
13992// Use "Send" method on the returned Request to send the API call to the service.
13993// the "output" return value is not valid until after Send returns without error.
13994//
13995// See DescribeExportTasks for more information on using the DescribeExportTasks
13996// API call, and error handling.
13997//
13998// This method is useful when you want to inject custom logic or configuration
13999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14000//
14001//
14002//    // Example sending a request using the DescribeExportTasksRequest method.
14003//    req, resp := client.DescribeExportTasksRequest(params)
14004//
14005//    err := req.Send()
14006//    if err == nil { // resp is now filled
14007//        fmt.Println(resp)
14008//    }
14009//
14010// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
14011func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
14012	op := &request.Operation{
14013		Name:       opDescribeExportTasks,
14014		HTTPMethod: "POST",
14015		HTTPPath:   "/",
14016	}
14017
14018	if input == nil {
14019		input = &DescribeExportTasksInput{}
14020	}
14021
14022	output = &DescribeExportTasksOutput{}
14023	req = c.newRequest(op, input, output)
14024	return
14025}
14026
14027// DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
14028//
14029// Describes the specified export instance tasks or all your export instance
14030// tasks.
14031//
14032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14033// with awserr.Error's Code and Message methods to get detailed information about
14034// the error.
14035//
14036// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14037// API operation DescribeExportTasks for usage and error information.
14038// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
14039func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
14040	req, out := c.DescribeExportTasksRequest(input)
14041	return out, req.Send()
14042}
14043
14044// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
14045// the ability to pass a context and additional request options.
14046//
14047// See DescribeExportTasks for details on how to use this API operation.
14048//
14049// The context must be non-nil and will be used for request cancellation. If
14050// the context is nil a panic will occur. In the future the SDK may create
14051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14052// for more information on using Contexts.
14053func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
14054	req, out := c.DescribeExportTasksRequest(input)
14055	req.SetContext(ctx)
14056	req.ApplyOptions(opts...)
14057	return out, req.Send()
14058}
14059
14060const opDescribeFastSnapshotRestores = "DescribeFastSnapshotRestores"
14061
14062// DescribeFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
14063// client's request for the DescribeFastSnapshotRestores operation. The "output" return
14064// value will be populated with the request's response once the request completes
14065// successfully.
14066//
14067// Use "Send" method on the returned Request to send the API call to the service.
14068// the "output" return value is not valid until after Send returns without error.
14069//
14070// See DescribeFastSnapshotRestores for more information on using the DescribeFastSnapshotRestores
14071// API call, and error handling.
14072//
14073// This method is useful when you want to inject custom logic or configuration
14074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14075//
14076//
14077//    // Example sending a request using the DescribeFastSnapshotRestoresRequest method.
14078//    req, resp := client.DescribeFastSnapshotRestoresRequest(params)
14079//
14080//    err := req.Send()
14081//    if err == nil { // resp is now filled
14082//        fmt.Println(resp)
14083//    }
14084//
14085// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores
14086func (c *EC2) DescribeFastSnapshotRestoresRequest(input *DescribeFastSnapshotRestoresInput) (req *request.Request, output *DescribeFastSnapshotRestoresOutput) {
14087	op := &request.Operation{
14088		Name:       opDescribeFastSnapshotRestores,
14089		HTTPMethod: "POST",
14090		HTTPPath:   "/",
14091		Paginator: &request.Paginator{
14092			InputTokens:     []string{"NextToken"},
14093			OutputTokens:    []string{"NextToken"},
14094			LimitToken:      "MaxResults",
14095			TruncationToken: "",
14096		},
14097	}
14098
14099	if input == nil {
14100		input = &DescribeFastSnapshotRestoresInput{}
14101	}
14102
14103	output = &DescribeFastSnapshotRestoresOutput{}
14104	req = c.newRequest(op, input, output)
14105	return
14106}
14107
14108// DescribeFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
14109//
14110// Describes the state of fast snapshot restores for your snapshots.
14111//
14112// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14113// with awserr.Error's Code and Message methods to get detailed information about
14114// the error.
14115//
14116// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14117// API operation DescribeFastSnapshotRestores for usage and error information.
14118// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores
14119func (c *EC2) DescribeFastSnapshotRestores(input *DescribeFastSnapshotRestoresInput) (*DescribeFastSnapshotRestoresOutput, error) {
14120	req, out := c.DescribeFastSnapshotRestoresRequest(input)
14121	return out, req.Send()
14122}
14123
14124// DescribeFastSnapshotRestoresWithContext is the same as DescribeFastSnapshotRestores with the addition of
14125// the ability to pass a context and additional request options.
14126//
14127// See DescribeFastSnapshotRestores for details on how to use this API operation.
14128//
14129// The context must be non-nil and will be used for request cancellation. If
14130// the context is nil a panic will occur. In the future the SDK may create
14131// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14132// for more information on using Contexts.
14133func (c *EC2) DescribeFastSnapshotRestoresWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, opts ...request.Option) (*DescribeFastSnapshotRestoresOutput, error) {
14134	req, out := c.DescribeFastSnapshotRestoresRequest(input)
14135	req.SetContext(ctx)
14136	req.ApplyOptions(opts...)
14137	return out, req.Send()
14138}
14139
14140// DescribeFastSnapshotRestoresPages iterates over the pages of a DescribeFastSnapshotRestores operation,
14141// calling the "fn" function with the response data for each page. To stop
14142// iterating, return false from the fn function.
14143//
14144// See DescribeFastSnapshotRestores method for more information on how to use this operation.
14145//
14146// Note: This operation can generate multiple requests to a service.
14147//
14148//    // Example iterating over at most 3 pages of a DescribeFastSnapshotRestores operation.
14149//    pageNum := 0
14150//    err := client.DescribeFastSnapshotRestoresPages(params,
14151//        func(page *ec2.DescribeFastSnapshotRestoresOutput, lastPage bool) bool {
14152//            pageNum++
14153//            fmt.Println(page)
14154//            return pageNum <= 3
14155//        })
14156//
14157func (c *EC2) DescribeFastSnapshotRestoresPages(input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool) error {
14158	return c.DescribeFastSnapshotRestoresPagesWithContext(aws.BackgroundContext(), input, fn)
14159}
14160
14161// DescribeFastSnapshotRestoresPagesWithContext same as DescribeFastSnapshotRestoresPages except
14162// it takes a Context and allows setting request options on the pages.
14163//
14164// The context must be non-nil and will be used for request cancellation. If
14165// the context is nil a panic will occur. In the future the SDK may create
14166// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14167// for more information on using Contexts.
14168func (c *EC2) DescribeFastSnapshotRestoresPagesWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool, opts ...request.Option) error {
14169	p := request.Pagination{
14170		NewRequest: func() (*request.Request, error) {
14171			var inCpy *DescribeFastSnapshotRestoresInput
14172			if input != nil {
14173				tmp := *input
14174				inCpy = &tmp
14175			}
14176			req, _ := c.DescribeFastSnapshotRestoresRequest(inCpy)
14177			req.SetContext(ctx)
14178			req.ApplyOptions(opts...)
14179			return req, nil
14180		},
14181	}
14182
14183	for p.Next() {
14184		if !fn(p.Page().(*DescribeFastSnapshotRestoresOutput), !p.HasNextPage()) {
14185			break
14186		}
14187	}
14188
14189	return p.Err()
14190}
14191
14192const opDescribeFleetHistory = "DescribeFleetHistory"
14193
14194// DescribeFleetHistoryRequest generates a "aws/request.Request" representing the
14195// client's request for the DescribeFleetHistory operation. The "output" return
14196// value will be populated with the request's response once the request completes
14197// successfully.
14198//
14199// Use "Send" method on the returned Request to send the API call to the service.
14200// the "output" return value is not valid until after Send returns without error.
14201//
14202// See DescribeFleetHistory for more information on using the DescribeFleetHistory
14203// API call, and error handling.
14204//
14205// This method is useful when you want to inject custom logic or configuration
14206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14207//
14208//
14209//    // Example sending a request using the DescribeFleetHistoryRequest method.
14210//    req, resp := client.DescribeFleetHistoryRequest(params)
14211//
14212//    err := req.Send()
14213//    if err == nil { // resp is now filled
14214//        fmt.Println(resp)
14215//    }
14216//
14217// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
14218func (c *EC2) DescribeFleetHistoryRequest(input *DescribeFleetHistoryInput) (req *request.Request, output *DescribeFleetHistoryOutput) {
14219	op := &request.Operation{
14220		Name:       opDescribeFleetHistory,
14221		HTTPMethod: "POST",
14222		HTTPPath:   "/",
14223	}
14224
14225	if input == nil {
14226		input = &DescribeFleetHistoryInput{}
14227	}
14228
14229	output = &DescribeFleetHistoryOutput{}
14230	req = c.newRequest(op, input, output)
14231	return
14232}
14233
14234// DescribeFleetHistory API operation for Amazon Elastic Compute Cloud.
14235//
14236// Describes the events for the specified EC2 Fleet during the specified time.
14237//
14238// EC2 Fleet events are delayed by up to 30 seconds before they can be described.
14239// This ensures that you can query by the last evaluated time and not miss a
14240// recorded event. EC2 Fleet events are available for 48 hours.
14241//
14242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14243// with awserr.Error's Code and Message methods to get detailed information about
14244// the error.
14245//
14246// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14247// API operation DescribeFleetHistory for usage and error information.
14248// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
14249func (c *EC2) DescribeFleetHistory(input *DescribeFleetHistoryInput) (*DescribeFleetHistoryOutput, error) {
14250	req, out := c.DescribeFleetHistoryRequest(input)
14251	return out, req.Send()
14252}
14253
14254// DescribeFleetHistoryWithContext is the same as DescribeFleetHistory with the addition of
14255// the ability to pass a context and additional request options.
14256//
14257// See DescribeFleetHistory for details on how to use this API operation.
14258//
14259// The context must be non-nil and will be used for request cancellation. If
14260// the context is nil a panic will occur. In the future the SDK may create
14261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14262// for more information on using Contexts.
14263func (c *EC2) DescribeFleetHistoryWithContext(ctx aws.Context, input *DescribeFleetHistoryInput, opts ...request.Option) (*DescribeFleetHistoryOutput, error) {
14264	req, out := c.DescribeFleetHistoryRequest(input)
14265	req.SetContext(ctx)
14266	req.ApplyOptions(opts...)
14267	return out, req.Send()
14268}
14269
14270const opDescribeFleetInstances = "DescribeFleetInstances"
14271
14272// DescribeFleetInstancesRequest generates a "aws/request.Request" representing the
14273// client's request for the DescribeFleetInstances operation. The "output" return
14274// value will be populated with the request's response once the request completes
14275// successfully.
14276//
14277// Use "Send" method on the returned Request to send the API call to the service.
14278// the "output" return value is not valid until after Send returns without error.
14279//
14280// See DescribeFleetInstances for more information on using the DescribeFleetInstances
14281// API call, and error handling.
14282//
14283// This method is useful when you want to inject custom logic or configuration
14284// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14285//
14286//
14287//    // Example sending a request using the DescribeFleetInstancesRequest method.
14288//    req, resp := client.DescribeFleetInstancesRequest(params)
14289//
14290//    err := req.Send()
14291//    if err == nil { // resp is now filled
14292//        fmt.Println(resp)
14293//    }
14294//
14295// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
14296func (c *EC2) DescribeFleetInstancesRequest(input *DescribeFleetInstancesInput) (req *request.Request, output *DescribeFleetInstancesOutput) {
14297	op := &request.Operation{
14298		Name:       opDescribeFleetInstances,
14299		HTTPMethod: "POST",
14300		HTTPPath:   "/",
14301	}
14302
14303	if input == nil {
14304		input = &DescribeFleetInstancesInput{}
14305	}
14306
14307	output = &DescribeFleetInstancesOutput{}
14308	req = c.newRequest(op, input, output)
14309	return
14310}
14311
14312// DescribeFleetInstances API operation for Amazon Elastic Compute Cloud.
14313//
14314// Describes the running instances for the specified EC2 Fleet.
14315//
14316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14317// with awserr.Error's Code and Message methods to get detailed information about
14318// the error.
14319//
14320// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14321// API operation DescribeFleetInstances for usage and error information.
14322// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
14323func (c *EC2) DescribeFleetInstances(input *DescribeFleetInstancesInput) (*DescribeFleetInstancesOutput, error) {
14324	req, out := c.DescribeFleetInstancesRequest(input)
14325	return out, req.Send()
14326}
14327
14328// DescribeFleetInstancesWithContext is the same as DescribeFleetInstances with the addition of
14329// the ability to pass a context and additional request options.
14330//
14331// See DescribeFleetInstances for details on how to use this API operation.
14332//
14333// The context must be non-nil and will be used for request cancellation. If
14334// the context is nil a panic will occur. In the future the SDK may create
14335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14336// for more information on using Contexts.
14337func (c *EC2) DescribeFleetInstancesWithContext(ctx aws.Context, input *DescribeFleetInstancesInput, opts ...request.Option) (*DescribeFleetInstancesOutput, error) {
14338	req, out := c.DescribeFleetInstancesRequest(input)
14339	req.SetContext(ctx)
14340	req.ApplyOptions(opts...)
14341	return out, req.Send()
14342}
14343
14344const opDescribeFleets = "DescribeFleets"
14345
14346// DescribeFleetsRequest generates a "aws/request.Request" representing the
14347// client's request for the DescribeFleets operation. The "output" return
14348// value will be populated with the request's response once the request completes
14349// successfully.
14350//
14351// Use "Send" method on the returned Request to send the API call to the service.
14352// the "output" return value is not valid until after Send returns without error.
14353//
14354// See DescribeFleets for more information on using the DescribeFleets
14355// API call, and error handling.
14356//
14357// This method is useful when you want to inject custom logic or configuration
14358// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14359//
14360//
14361//    // Example sending a request using the DescribeFleetsRequest method.
14362//    req, resp := client.DescribeFleetsRequest(params)
14363//
14364//    err := req.Send()
14365//    if err == nil { // resp is now filled
14366//        fmt.Println(resp)
14367//    }
14368//
14369// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
14370func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
14371	op := &request.Operation{
14372		Name:       opDescribeFleets,
14373		HTTPMethod: "POST",
14374		HTTPPath:   "/",
14375		Paginator: &request.Paginator{
14376			InputTokens:     []string{"NextToken"},
14377			OutputTokens:    []string{"NextToken"},
14378			LimitToken:      "MaxResults",
14379			TruncationToken: "",
14380		},
14381	}
14382
14383	if input == nil {
14384		input = &DescribeFleetsInput{}
14385	}
14386
14387	output = &DescribeFleetsOutput{}
14388	req = c.newRequest(op, input, output)
14389	return
14390}
14391
14392// DescribeFleets API operation for Amazon Elastic Compute Cloud.
14393//
14394// Describes the specified EC2 Fleets or all of your EC2 Fleets.
14395//
14396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14397// with awserr.Error's Code and Message methods to get detailed information about
14398// the error.
14399//
14400// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14401// API operation DescribeFleets for usage and error information.
14402// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
14403func (c *EC2) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
14404	req, out := c.DescribeFleetsRequest(input)
14405	return out, req.Send()
14406}
14407
14408// DescribeFleetsWithContext is the same as DescribeFleets with the addition of
14409// the ability to pass a context and additional request options.
14410//
14411// See DescribeFleets for details on how to use this API operation.
14412//
14413// The context must be non-nil and will be used for request cancellation. If
14414// the context is nil a panic will occur. In the future the SDK may create
14415// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14416// for more information on using Contexts.
14417func (c *EC2) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
14418	req, out := c.DescribeFleetsRequest(input)
14419	req.SetContext(ctx)
14420	req.ApplyOptions(opts...)
14421	return out, req.Send()
14422}
14423
14424// DescribeFleetsPages iterates over the pages of a DescribeFleets operation,
14425// calling the "fn" function with the response data for each page. To stop
14426// iterating, return false from the fn function.
14427//
14428// See DescribeFleets method for more information on how to use this operation.
14429//
14430// Note: This operation can generate multiple requests to a service.
14431//
14432//    // Example iterating over at most 3 pages of a DescribeFleets operation.
14433//    pageNum := 0
14434//    err := client.DescribeFleetsPages(params,
14435//        func(page *ec2.DescribeFleetsOutput, lastPage bool) bool {
14436//            pageNum++
14437//            fmt.Println(page)
14438//            return pageNum <= 3
14439//        })
14440//
14441func (c *EC2) DescribeFleetsPages(input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool) error {
14442	return c.DescribeFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
14443}
14444
14445// DescribeFleetsPagesWithContext same as DescribeFleetsPages except
14446// it takes a Context and allows setting request options on the pages.
14447//
14448// The context must be non-nil and will be used for request cancellation. If
14449// the context is nil a panic will occur. In the future the SDK may create
14450// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14451// for more information on using Contexts.
14452func (c *EC2) DescribeFleetsPagesWithContext(ctx aws.Context, input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool, opts ...request.Option) error {
14453	p := request.Pagination{
14454		NewRequest: func() (*request.Request, error) {
14455			var inCpy *DescribeFleetsInput
14456			if input != nil {
14457				tmp := *input
14458				inCpy = &tmp
14459			}
14460			req, _ := c.DescribeFleetsRequest(inCpy)
14461			req.SetContext(ctx)
14462			req.ApplyOptions(opts...)
14463			return req, nil
14464		},
14465	}
14466
14467	for p.Next() {
14468		if !fn(p.Page().(*DescribeFleetsOutput), !p.HasNextPage()) {
14469			break
14470		}
14471	}
14472
14473	return p.Err()
14474}
14475
14476const opDescribeFlowLogs = "DescribeFlowLogs"
14477
14478// DescribeFlowLogsRequest generates a "aws/request.Request" representing the
14479// client's request for the DescribeFlowLogs operation. The "output" return
14480// value will be populated with the request's response once the request completes
14481// successfully.
14482//
14483// Use "Send" method on the returned Request to send the API call to the service.
14484// the "output" return value is not valid until after Send returns without error.
14485//
14486// See DescribeFlowLogs for more information on using the DescribeFlowLogs
14487// API call, and error handling.
14488//
14489// This method is useful when you want to inject custom logic or configuration
14490// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14491//
14492//
14493//    // Example sending a request using the DescribeFlowLogsRequest method.
14494//    req, resp := client.DescribeFlowLogsRequest(params)
14495//
14496//    err := req.Send()
14497//    if err == nil { // resp is now filled
14498//        fmt.Println(resp)
14499//    }
14500//
14501// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
14502func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
14503	op := &request.Operation{
14504		Name:       opDescribeFlowLogs,
14505		HTTPMethod: "POST",
14506		HTTPPath:   "/",
14507		Paginator: &request.Paginator{
14508			InputTokens:     []string{"NextToken"},
14509			OutputTokens:    []string{"NextToken"},
14510			LimitToken:      "MaxResults",
14511			TruncationToken: "",
14512		},
14513	}
14514
14515	if input == nil {
14516		input = &DescribeFlowLogsInput{}
14517	}
14518
14519	output = &DescribeFlowLogsOutput{}
14520	req = c.newRequest(op, input, output)
14521	return
14522}
14523
14524// DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
14525//
14526// Describes one or more flow logs. To view the information in your flow logs
14527// (the log streams for the network interfaces), you must use the CloudWatch
14528// Logs console or the CloudWatch Logs API.
14529//
14530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14531// with awserr.Error's Code and Message methods to get detailed information about
14532// the error.
14533//
14534// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14535// API operation DescribeFlowLogs for usage and error information.
14536// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
14537func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
14538	req, out := c.DescribeFlowLogsRequest(input)
14539	return out, req.Send()
14540}
14541
14542// DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
14543// the ability to pass a context and additional request options.
14544//
14545// See DescribeFlowLogs for details on how to use this API operation.
14546//
14547// The context must be non-nil and will be used for request cancellation. If
14548// the context is nil a panic will occur. In the future the SDK may create
14549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14550// for more information on using Contexts.
14551func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
14552	req, out := c.DescribeFlowLogsRequest(input)
14553	req.SetContext(ctx)
14554	req.ApplyOptions(opts...)
14555	return out, req.Send()
14556}
14557
14558// DescribeFlowLogsPages iterates over the pages of a DescribeFlowLogs operation,
14559// calling the "fn" function with the response data for each page. To stop
14560// iterating, return false from the fn function.
14561//
14562// See DescribeFlowLogs method for more information on how to use this operation.
14563//
14564// Note: This operation can generate multiple requests to a service.
14565//
14566//    // Example iterating over at most 3 pages of a DescribeFlowLogs operation.
14567//    pageNum := 0
14568//    err := client.DescribeFlowLogsPages(params,
14569//        func(page *ec2.DescribeFlowLogsOutput, lastPage bool) bool {
14570//            pageNum++
14571//            fmt.Println(page)
14572//            return pageNum <= 3
14573//        })
14574//
14575func (c *EC2) DescribeFlowLogsPages(input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool) error {
14576	return c.DescribeFlowLogsPagesWithContext(aws.BackgroundContext(), input, fn)
14577}
14578
14579// DescribeFlowLogsPagesWithContext same as DescribeFlowLogsPages except
14580// it takes a Context and allows setting request options on the pages.
14581//
14582// The context must be non-nil and will be used for request cancellation. If
14583// the context is nil a panic will occur. In the future the SDK may create
14584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14585// for more information on using Contexts.
14586func (c *EC2) DescribeFlowLogsPagesWithContext(ctx aws.Context, input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool, opts ...request.Option) error {
14587	p := request.Pagination{
14588		NewRequest: func() (*request.Request, error) {
14589			var inCpy *DescribeFlowLogsInput
14590			if input != nil {
14591				tmp := *input
14592				inCpy = &tmp
14593			}
14594			req, _ := c.DescribeFlowLogsRequest(inCpy)
14595			req.SetContext(ctx)
14596			req.ApplyOptions(opts...)
14597			return req, nil
14598		},
14599	}
14600
14601	for p.Next() {
14602		if !fn(p.Page().(*DescribeFlowLogsOutput), !p.HasNextPage()) {
14603			break
14604		}
14605	}
14606
14607	return p.Err()
14608}
14609
14610const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute"
14611
14612// DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the
14613// client's request for the DescribeFpgaImageAttribute operation. The "output" return
14614// value will be populated with the request's response once the request completes
14615// successfully.
14616//
14617// Use "Send" method on the returned Request to send the API call to the service.
14618// the "output" return value is not valid until after Send returns without error.
14619//
14620// See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute
14621// API call, and error handling.
14622//
14623// This method is useful when you want to inject custom logic or configuration
14624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14625//
14626//
14627//    // Example sending a request using the DescribeFpgaImageAttributeRequest method.
14628//    req, resp := client.DescribeFpgaImageAttributeRequest(params)
14629//
14630//    err := req.Send()
14631//    if err == nil { // resp is now filled
14632//        fmt.Println(resp)
14633//    }
14634//
14635// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
14636func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) {
14637	op := &request.Operation{
14638		Name:       opDescribeFpgaImageAttribute,
14639		HTTPMethod: "POST",
14640		HTTPPath:   "/",
14641	}
14642
14643	if input == nil {
14644		input = &DescribeFpgaImageAttributeInput{}
14645	}
14646
14647	output = &DescribeFpgaImageAttributeOutput{}
14648	req = c.newRequest(op, input, output)
14649	return
14650}
14651
14652// DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
14653//
14654// Describes the specified attribute of the specified Amazon FPGA Image (AFI).
14655//
14656// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14657// with awserr.Error's Code and Message methods to get detailed information about
14658// the error.
14659//
14660// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14661// API operation DescribeFpgaImageAttribute for usage and error information.
14662// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
14663func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) {
14664	req, out := c.DescribeFpgaImageAttributeRequest(input)
14665	return out, req.Send()
14666}
14667
14668// DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of
14669// the ability to pass a context and additional request options.
14670//
14671// See DescribeFpgaImageAttribute for details on how to use this API operation.
14672//
14673// The context must be non-nil and will be used for request cancellation. If
14674// the context is nil a panic will occur. In the future the SDK may create
14675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14676// for more information on using Contexts.
14677func (c *EC2) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) {
14678	req, out := c.DescribeFpgaImageAttributeRequest(input)
14679	req.SetContext(ctx)
14680	req.ApplyOptions(opts...)
14681	return out, req.Send()
14682}
14683
14684const opDescribeFpgaImages = "DescribeFpgaImages"
14685
14686// DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
14687// client's request for the DescribeFpgaImages operation. The "output" return
14688// value will be populated with the request's response once the request completes
14689// successfully.
14690//
14691// Use "Send" method on the returned Request to send the API call to the service.
14692// the "output" return value is not valid until after Send returns without error.
14693//
14694// See DescribeFpgaImages for more information on using the DescribeFpgaImages
14695// API call, and error handling.
14696//
14697// This method is useful when you want to inject custom logic or configuration
14698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14699//
14700//
14701//    // Example sending a request using the DescribeFpgaImagesRequest method.
14702//    req, resp := client.DescribeFpgaImagesRequest(params)
14703//
14704//    err := req.Send()
14705//    if err == nil { // resp is now filled
14706//        fmt.Println(resp)
14707//    }
14708//
14709// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
14710func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
14711	op := &request.Operation{
14712		Name:       opDescribeFpgaImages,
14713		HTTPMethod: "POST",
14714		HTTPPath:   "/",
14715		Paginator: &request.Paginator{
14716			InputTokens:     []string{"NextToken"},
14717			OutputTokens:    []string{"NextToken"},
14718			LimitToken:      "MaxResults",
14719			TruncationToken: "",
14720		},
14721	}
14722
14723	if input == nil {
14724		input = &DescribeFpgaImagesInput{}
14725	}
14726
14727	output = &DescribeFpgaImagesOutput{}
14728	req = c.newRequest(op, input, output)
14729	return
14730}
14731
14732// DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
14733//
14734// Describes the Amazon FPGA Images (AFIs) available to you. These include public
14735// AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for
14736// which you have load permissions.
14737//
14738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14739// with awserr.Error's Code and Message methods to get detailed information about
14740// the error.
14741//
14742// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14743// API operation DescribeFpgaImages for usage and error information.
14744// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
14745func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
14746	req, out := c.DescribeFpgaImagesRequest(input)
14747	return out, req.Send()
14748}
14749
14750// DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
14751// the ability to pass a context and additional request options.
14752//
14753// See DescribeFpgaImages for details on how to use this API operation.
14754//
14755// The context must be non-nil and will be used for request cancellation. If
14756// the context is nil a panic will occur. In the future the SDK may create
14757// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14758// for more information on using Contexts.
14759func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
14760	req, out := c.DescribeFpgaImagesRequest(input)
14761	req.SetContext(ctx)
14762	req.ApplyOptions(opts...)
14763	return out, req.Send()
14764}
14765
14766// DescribeFpgaImagesPages iterates over the pages of a DescribeFpgaImages operation,
14767// calling the "fn" function with the response data for each page. To stop
14768// iterating, return false from the fn function.
14769//
14770// See DescribeFpgaImages method for more information on how to use this operation.
14771//
14772// Note: This operation can generate multiple requests to a service.
14773//
14774//    // Example iterating over at most 3 pages of a DescribeFpgaImages operation.
14775//    pageNum := 0
14776//    err := client.DescribeFpgaImagesPages(params,
14777//        func(page *ec2.DescribeFpgaImagesOutput, lastPage bool) bool {
14778//            pageNum++
14779//            fmt.Println(page)
14780//            return pageNum <= 3
14781//        })
14782//
14783func (c *EC2) DescribeFpgaImagesPages(input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool) error {
14784	return c.DescribeFpgaImagesPagesWithContext(aws.BackgroundContext(), input, fn)
14785}
14786
14787// DescribeFpgaImagesPagesWithContext same as DescribeFpgaImagesPages except
14788// it takes a Context and allows setting request options on the pages.
14789//
14790// The context must be non-nil and will be used for request cancellation. If
14791// the context is nil a panic will occur. In the future the SDK may create
14792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14793// for more information on using Contexts.
14794func (c *EC2) DescribeFpgaImagesPagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool, opts ...request.Option) error {
14795	p := request.Pagination{
14796		NewRequest: func() (*request.Request, error) {
14797			var inCpy *DescribeFpgaImagesInput
14798			if input != nil {
14799				tmp := *input
14800				inCpy = &tmp
14801			}
14802			req, _ := c.DescribeFpgaImagesRequest(inCpy)
14803			req.SetContext(ctx)
14804			req.ApplyOptions(opts...)
14805			return req, nil
14806		},
14807	}
14808
14809	for p.Next() {
14810		if !fn(p.Page().(*DescribeFpgaImagesOutput), !p.HasNextPage()) {
14811			break
14812		}
14813	}
14814
14815	return p.Err()
14816}
14817
14818const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
14819
14820// DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
14821// client's request for the DescribeHostReservationOfferings operation. The "output" return
14822// value will be populated with the request's response once the request completes
14823// successfully.
14824//
14825// Use "Send" method on the returned Request to send the API call to the service.
14826// the "output" return value is not valid until after Send returns without error.
14827//
14828// See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
14829// API call, and error handling.
14830//
14831// This method is useful when you want to inject custom logic or configuration
14832// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14833//
14834//
14835//    // Example sending a request using the DescribeHostReservationOfferingsRequest method.
14836//    req, resp := client.DescribeHostReservationOfferingsRequest(params)
14837//
14838//    err := req.Send()
14839//    if err == nil { // resp is now filled
14840//        fmt.Println(resp)
14841//    }
14842//
14843// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
14844func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
14845	op := &request.Operation{
14846		Name:       opDescribeHostReservationOfferings,
14847		HTTPMethod: "POST",
14848		HTTPPath:   "/",
14849		Paginator: &request.Paginator{
14850			InputTokens:     []string{"NextToken"},
14851			OutputTokens:    []string{"NextToken"},
14852			LimitToken:      "MaxResults",
14853			TruncationToken: "",
14854		},
14855	}
14856
14857	if input == nil {
14858		input = &DescribeHostReservationOfferingsInput{}
14859	}
14860
14861	output = &DescribeHostReservationOfferingsOutput{}
14862	req = c.newRequest(op, input, output)
14863	return
14864}
14865
14866// DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
14867//
14868// Describes the Dedicated Host reservations that are available to purchase.
14869//
14870// The results describe all of the Dedicated Host reservation offerings, including
14871// offerings that might not match the instance family and Region of your Dedicated
14872// Hosts. When purchasing an offering, ensure that the instance family and Region
14873// of the offering matches that of the Dedicated Hosts with which it is to be
14874// associated. For more information about supported instance types, see Dedicated
14875// Hosts Overview (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
14876// in the Amazon Elastic Compute Cloud User Guide.
14877//
14878// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14879// with awserr.Error's Code and Message methods to get detailed information about
14880// the error.
14881//
14882// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14883// API operation DescribeHostReservationOfferings for usage and error information.
14884// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
14885func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
14886	req, out := c.DescribeHostReservationOfferingsRequest(input)
14887	return out, req.Send()
14888}
14889
14890// DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
14891// the ability to pass a context and additional request options.
14892//
14893// See DescribeHostReservationOfferings for details on how to use this API operation.
14894//
14895// The context must be non-nil and will be used for request cancellation. If
14896// the context is nil a panic will occur. In the future the SDK may create
14897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14898// for more information on using Contexts.
14899func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
14900	req, out := c.DescribeHostReservationOfferingsRequest(input)
14901	req.SetContext(ctx)
14902	req.ApplyOptions(opts...)
14903	return out, req.Send()
14904}
14905
14906// DescribeHostReservationOfferingsPages iterates over the pages of a DescribeHostReservationOfferings operation,
14907// calling the "fn" function with the response data for each page. To stop
14908// iterating, return false from the fn function.
14909//
14910// See DescribeHostReservationOfferings method for more information on how to use this operation.
14911//
14912// Note: This operation can generate multiple requests to a service.
14913//
14914//    // Example iterating over at most 3 pages of a DescribeHostReservationOfferings operation.
14915//    pageNum := 0
14916//    err := client.DescribeHostReservationOfferingsPages(params,
14917//        func(page *ec2.DescribeHostReservationOfferingsOutput, lastPage bool) bool {
14918//            pageNum++
14919//            fmt.Println(page)
14920//            return pageNum <= 3
14921//        })
14922//
14923func (c *EC2) DescribeHostReservationOfferingsPages(input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool) error {
14924	return c.DescribeHostReservationOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
14925}
14926
14927// DescribeHostReservationOfferingsPagesWithContext same as DescribeHostReservationOfferingsPages except
14928// it takes a Context and allows setting request options on the pages.
14929//
14930// The context must be non-nil and will be used for request cancellation. If
14931// the context is nil a panic will occur. In the future the SDK may create
14932// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14933// for more information on using Contexts.
14934func (c *EC2) DescribeHostReservationOfferingsPagesWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool, opts ...request.Option) error {
14935	p := request.Pagination{
14936		NewRequest: func() (*request.Request, error) {
14937			var inCpy *DescribeHostReservationOfferingsInput
14938			if input != nil {
14939				tmp := *input
14940				inCpy = &tmp
14941			}
14942			req, _ := c.DescribeHostReservationOfferingsRequest(inCpy)
14943			req.SetContext(ctx)
14944			req.ApplyOptions(opts...)
14945			return req, nil
14946		},
14947	}
14948
14949	for p.Next() {
14950		if !fn(p.Page().(*DescribeHostReservationOfferingsOutput), !p.HasNextPage()) {
14951			break
14952		}
14953	}
14954
14955	return p.Err()
14956}
14957
14958const opDescribeHostReservations = "DescribeHostReservations"
14959
14960// DescribeHostReservationsRequest generates a "aws/request.Request" representing the
14961// client's request for the DescribeHostReservations operation. The "output" return
14962// value will be populated with the request's response once the request completes
14963// successfully.
14964//
14965// Use "Send" method on the returned Request to send the API call to the service.
14966// the "output" return value is not valid until after Send returns without error.
14967//
14968// See DescribeHostReservations for more information on using the DescribeHostReservations
14969// API call, and error handling.
14970//
14971// This method is useful when you want to inject custom logic or configuration
14972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14973//
14974//
14975//    // Example sending a request using the DescribeHostReservationsRequest method.
14976//    req, resp := client.DescribeHostReservationsRequest(params)
14977//
14978//    err := req.Send()
14979//    if err == nil { // resp is now filled
14980//        fmt.Println(resp)
14981//    }
14982//
14983// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
14984func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
14985	op := &request.Operation{
14986		Name:       opDescribeHostReservations,
14987		HTTPMethod: "POST",
14988		HTTPPath:   "/",
14989		Paginator: &request.Paginator{
14990			InputTokens:     []string{"NextToken"},
14991			OutputTokens:    []string{"NextToken"},
14992			LimitToken:      "MaxResults",
14993			TruncationToken: "",
14994		},
14995	}
14996
14997	if input == nil {
14998		input = &DescribeHostReservationsInput{}
14999	}
15000
15001	output = &DescribeHostReservationsOutput{}
15002	req = c.newRequest(op, input, output)
15003	return
15004}
15005
15006// DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
15007//
15008// Describes reservations that are associated with Dedicated Hosts in your account.
15009//
15010// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15011// with awserr.Error's Code and Message methods to get detailed information about
15012// the error.
15013//
15014// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15015// API operation DescribeHostReservations for usage and error information.
15016// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
15017func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
15018	req, out := c.DescribeHostReservationsRequest(input)
15019	return out, req.Send()
15020}
15021
15022// DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
15023// the ability to pass a context and additional request options.
15024//
15025// See DescribeHostReservations for details on how to use this API operation.
15026//
15027// The context must be non-nil and will be used for request cancellation. If
15028// the context is nil a panic will occur. In the future the SDK may create
15029// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15030// for more information on using Contexts.
15031func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
15032	req, out := c.DescribeHostReservationsRequest(input)
15033	req.SetContext(ctx)
15034	req.ApplyOptions(opts...)
15035	return out, req.Send()
15036}
15037
15038// DescribeHostReservationsPages iterates over the pages of a DescribeHostReservations operation,
15039// calling the "fn" function with the response data for each page. To stop
15040// iterating, return false from the fn function.
15041//
15042// See DescribeHostReservations method for more information on how to use this operation.
15043//
15044// Note: This operation can generate multiple requests to a service.
15045//
15046//    // Example iterating over at most 3 pages of a DescribeHostReservations operation.
15047//    pageNum := 0
15048//    err := client.DescribeHostReservationsPages(params,
15049//        func(page *ec2.DescribeHostReservationsOutput, lastPage bool) bool {
15050//            pageNum++
15051//            fmt.Println(page)
15052//            return pageNum <= 3
15053//        })
15054//
15055func (c *EC2) DescribeHostReservationsPages(input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool) error {
15056	return c.DescribeHostReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
15057}
15058
15059// DescribeHostReservationsPagesWithContext same as DescribeHostReservationsPages except
15060// it takes a Context and allows setting request options on the pages.
15061//
15062// The context must be non-nil and will be used for request cancellation. If
15063// the context is nil a panic will occur. In the future the SDK may create
15064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15065// for more information on using Contexts.
15066func (c *EC2) DescribeHostReservationsPagesWithContext(ctx aws.Context, input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool, opts ...request.Option) error {
15067	p := request.Pagination{
15068		NewRequest: func() (*request.Request, error) {
15069			var inCpy *DescribeHostReservationsInput
15070			if input != nil {
15071				tmp := *input
15072				inCpy = &tmp
15073			}
15074			req, _ := c.DescribeHostReservationsRequest(inCpy)
15075			req.SetContext(ctx)
15076			req.ApplyOptions(opts...)
15077			return req, nil
15078		},
15079	}
15080
15081	for p.Next() {
15082		if !fn(p.Page().(*DescribeHostReservationsOutput), !p.HasNextPage()) {
15083			break
15084		}
15085	}
15086
15087	return p.Err()
15088}
15089
15090const opDescribeHosts = "DescribeHosts"
15091
15092// DescribeHostsRequest generates a "aws/request.Request" representing the
15093// client's request for the DescribeHosts operation. The "output" return
15094// value will be populated with the request's response once the request completes
15095// successfully.
15096//
15097// Use "Send" method on the returned Request to send the API call to the service.
15098// the "output" return value is not valid until after Send returns without error.
15099//
15100// See DescribeHosts for more information on using the DescribeHosts
15101// API call, and error handling.
15102//
15103// This method is useful when you want to inject custom logic or configuration
15104// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15105//
15106//
15107//    // Example sending a request using the DescribeHostsRequest method.
15108//    req, resp := client.DescribeHostsRequest(params)
15109//
15110//    err := req.Send()
15111//    if err == nil { // resp is now filled
15112//        fmt.Println(resp)
15113//    }
15114//
15115// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
15116func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
15117	op := &request.Operation{
15118		Name:       opDescribeHosts,
15119		HTTPMethod: "POST",
15120		HTTPPath:   "/",
15121		Paginator: &request.Paginator{
15122			InputTokens:     []string{"NextToken"},
15123			OutputTokens:    []string{"NextToken"},
15124			LimitToken:      "MaxResults",
15125			TruncationToken: "",
15126		},
15127	}
15128
15129	if input == nil {
15130		input = &DescribeHostsInput{}
15131	}
15132
15133	output = &DescribeHostsOutput{}
15134	req = c.newRequest(op, input, output)
15135	return
15136}
15137
15138// DescribeHosts API operation for Amazon Elastic Compute Cloud.
15139//
15140// Describes the specified Dedicated Hosts or all your Dedicated Hosts.
15141//
15142// The results describe only the Dedicated Hosts in the Region you're currently
15143// using. All listed instances consume capacity on your Dedicated Host. Dedicated
15144// Hosts that have recently been released are listed with the state released.
15145//
15146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15147// with awserr.Error's Code and Message methods to get detailed information about
15148// the error.
15149//
15150// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15151// API operation DescribeHosts for usage and error information.
15152// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
15153func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
15154	req, out := c.DescribeHostsRequest(input)
15155	return out, req.Send()
15156}
15157
15158// DescribeHostsWithContext is the same as DescribeHosts with the addition of
15159// the ability to pass a context and additional request options.
15160//
15161// See DescribeHosts for details on how to use this API operation.
15162//
15163// The context must be non-nil and will be used for request cancellation. If
15164// the context is nil a panic will occur. In the future the SDK may create
15165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15166// for more information on using Contexts.
15167func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
15168	req, out := c.DescribeHostsRequest(input)
15169	req.SetContext(ctx)
15170	req.ApplyOptions(opts...)
15171	return out, req.Send()
15172}
15173
15174// DescribeHostsPages iterates over the pages of a DescribeHosts operation,
15175// calling the "fn" function with the response data for each page. To stop
15176// iterating, return false from the fn function.
15177//
15178// See DescribeHosts method for more information on how to use this operation.
15179//
15180// Note: This operation can generate multiple requests to a service.
15181//
15182//    // Example iterating over at most 3 pages of a DescribeHosts operation.
15183//    pageNum := 0
15184//    err := client.DescribeHostsPages(params,
15185//        func(page *ec2.DescribeHostsOutput, lastPage bool) bool {
15186//            pageNum++
15187//            fmt.Println(page)
15188//            return pageNum <= 3
15189//        })
15190//
15191func (c *EC2) DescribeHostsPages(input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool) error {
15192	return c.DescribeHostsPagesWithContext(aws.BackgroundContext(), input, fn)
15193}
15194
15195// DescribeHostsPagesWithContext same as DescribeHostsPages except
15196// it takes a Context and allows setting request options on the pages.
15197//
15198// The context must be non-nil and will be used for request cancellation. If
15199// the context is nil a panic will occur. In the future the SDK may create
15200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15201// for more information on using Contexts.
15202func (c *EC2) DescribeHostsPagesWithContext(ctx aws.Context, input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool, opts ...request.Option) error {
15203	p := request.Pagination{
15204		NewRequest: func() (*request.Request, error) {
15205			var inCpy *DescribeHostsInput
15206			if input != nil {
15207				tmp := *input
15208				inCpy = &tmp
15209			}
15210			req, _ := c.DescribeHostsRequest(inCpy)
15211			req.SetContext(ctx)
15212			req.ApplyOptions(opts...)
15213			return req, nil
15214		},
15215	}
15216
15217	for p.Next() {
15218		if !fn(p.Page().(*DescribeHostsOutput), !p.HasNextPage()) {
15219			break
15220		}
15221	}
15222
15223	return p.Err()
15224}
15225
15226const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
15227
15228// DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
15229// client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
15230// value will be populated with the request's response once the request completes
15231// successfully.
15232//
15233// Use "Send" method on the returned Request to send the API call to the service.
15234// the "output" return value is not valid until after Send returns without error.
15235//
15236// See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
15237// API call, and error handling.
15238//
15239// This method is useful when you want to inject custom logic or configuration
15240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15241//
15242//
15243//    // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
15244//    req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
15245//
15246//    err := req.Send()
15247//    if err == nil { // resp is now filled
15248//        fmt.Println(resp)
15249//    }
15250//
15251// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
15252func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
15253	op := &request.Operation{
15254		Name:       opDescribeIamInstanceProfileAssociations,
15255		HTTPMethod: "POST",
15256		HTTPPath:   "/",
15257		Paginator: &request.Paginator{
15258			InputTokens:     []string{"NextToken"},
15259			OutputTokens:    []string{"NextToken"},
15260			LimitToken:      "MaxResults",
15261			TruncationToken: "",
15262		},
15263	}
15264
15265	if input == nil {
15266		input = &DescribeIamInstanceProfileAssociationsInput{}
15267	}
15268
15269	output = &DescribeIamInstanceProfileAssociationsOutput{}
15270	req = c.newRequest(op, input, output)
15271	return
15272}
15273
15274// DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
15275//
15276// Describes your IAM instance profile associations.
15277//
15278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15279// with awserr.Error's Code and Message methods to get detailed information about
15280// the error.
15281//
15282// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15283// API operation DescribeIamInstanceProfileAssociations for usage and error information.
15284// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
15285func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
15286	req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
15287	return out, req.Send()
15288}
15289
15290// DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
15291// the ability to pass a context and additional request options.
15292//
15293// See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
15294//
15295// The context must be non-nil and will be used for request cancellation. If
15296// the context is nil a panic will occur. In the future the SDK may create
15297// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15298// for more information on using Contexts.
15299func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
15300	req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
15301	req.SetContext(ctx)
15302	req.ApplyOptions(opts...)
15303	return out, req.Send()
15304}
15305
15306// DescribeIamInstanceProfileAssociationsPages iterates over the pages of a DescribeIamInstanceProfileAssociations operation,
15307// calling the "fn" function with the response data for each page. To stop
15308// iterating, return false from the fn function.
15309//
15310// See DescribeIamInstanceProfileAssociations method for more information on how to use this operation.
15311//
15312// Note: This operation can generate multiple requests to a service.
15313//
15314//    // Example iterating over at most 3 pages of a DescribeIamInstanceProfileAssociations operation.
15315//    pageNum := 0
15316//    err := client.DescribeIamInstanceProfileAssociationsPages(params,
15317//        func(page *ec2.DescribeIamInstanceProfileAssociationsOutput, lastPage bool) bool {
15318//            pageNum++
15319//            fmt.Println(page)
15320//            return pageNum <= 3
15321//        })
15322//
15323func (c *EC2) DescribeIamInstanceProfileAssociationsPages(input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool) error {
15324	return c.DescribeIamInstanceProfileAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
15325}
15326
15327// DescribeIamInstanceProfileAssociationsPagesWithContext same as DescribeIamInstanceProfileAssociationsPages except
15328// it takes a Context and allows setting request options on the pages.
15329//
15330// The context must be non-nil and will be used for request cancellation. If
15331// the context is nil a panic will occur. In the future the SDK may create
15332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15333// for more information on using Contexts.
15334func (c *EC2) DescribeIamInstanceProfileAssociationsPagesWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool, opts ...request.Option) error {
15335	p := request.Pagination{
15336		NewRequest: func() (*request.Request, error) {
15337			var inCpy *DescribeIamInstanceProfileAssociationsInput
15338			if input != nil {
15339				tmp := *input
15340				inCpy = &tmp
15341			}
15342			req, _ := c.DescribeIamInstanceProfileAssociationsRequest(inCpy)
15343			req.SetContext(ctx)
15344			req.ApplyOptions(opts...)
15345			return req, nil
15346		},
15347	}
15348
15349	for p.Next() {
15350		if !fn(p.Page().(*DescribeIamInstanceProfileAssociationsOutput), !p.HasNextPage()) {
15351			break
15352		}
15353	}
15354
15355	return p.Err()
15356}
15357
15358const opDescribeIdFormat = "DescribeIdFormat"
15359
15360// DescribeIdFormatRequest generates a "aws/request.Request" representing the
15361// client's request for the DescribeIdFormat operation. The "output" return
15362// value will be populated with the request's response once the request completes
15363// successfully.
15364//
15365// Use "Send" method on the returned Request to send the API call to the service.
15366// the "output" return value is not valid until after Send returns without error.
15367//
15368// See DescribeIdFormat for more information on using the DescribeIdFormat
15369// API call, and error handling.
15370//
15371// This method is useful when you want to inject custom logic or configuration
15372// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15373//
15374//
15375//    // Example sending a request using the DescribeIdFormatRequest method.
15376//    req, resp := client.DescribeIdFormatRequest(params)
15377//
15378//    err := req.Send()
15379//    if err == nil { // resp is now filled
15380//        fmt.Println(resp)
15381//    }
15382//
15383// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
15384func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
15385	op := &request.Operation{
15386		Name:       opDescribeIdFormat,
15387		HTTPMethod: "POST",
15388		HTTPPath:   "/",
15389	}
15390
15391	if input == nil {
15392		input = &DescribeIdFormatInput{}
15393	}
15394
15395	output = &DescribeIdFormatOutput{}
15396	req = c.newRequest(op, input, output)
15397	return
15398}
15399
15400// DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
15401//
15402// Describes the ID format settings for your resources on a per-Region basis,
15403// for example, to view which resource types are enabled for longer IDs. This
15404// request only returns information about resource types whose ID formats can
15405// be modified; it does not return information about other resource types.
15406//
15407// The following resource types support longer IDs: bundle | conversion-task
15408// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
15409// | export-task | flow-log | image | import-task | instance | internet-gateway
15410// | network-acl | network-acl-association | network-interface | network-interface-attachment
15411// | prefix-list | reservation | route-table | route-table-association | security-group
15412// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
15413// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
15414//
15415// These settings apply to the IAM user who makes the request; they do not apply
15416// to the entire AWS account. By default, an IAM user defaults to the same settings
15417// as the root user, unless they explicitly override the settings by running
15418// the ModifyIdFormat command. Resources created with longer IDs are visible
15419// to all IAM users, regardless of these settings and provided that they have
15420// permission to use the relevant Describe command for the resource type.
15421//
15422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15423// with awserr.Error's Code and Message methods to get detailed information about
15424// the error.
15425//
15426// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15427// API operation DescribeIdFormat for usage and error information.
15428// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
15429func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
15430	req, out := c.DescribeIdFormatRequest(input)
15431	return out, req.Send()
15432}
15433
15434// DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
15435// the ability to pass a context and additional request options.
15436//
15437// See DescribeIdFormat for details on how to use this API operation.
15438//
15439// The context must be non-nil and will be used for request cancellation. If
15440// the context is nil a panic will occur. In the future the SDK may create
15441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15442// for more information on using Contexts.
15443func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
15444	req, out := c.DescribeIdFormatRequest(input)
15445	req.SetContext(ctx)
15446	req.ApplyOptions(opts...)
15447	return out, req.Send()
15448}
15449
15450const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
15451
15452// DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
15453// client's request for the DescribeIdentityIdFormat operation. The "output" return
15454// value will be populated with the request's response once the request completes
15455// successfully.
15456//
15457// Use "Send" method on the returned Request to send the API call to the service.
15458// the "output" return value is not valid until after Send returns without error.
15459//
15460// See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
15461// API call, and error handling.
15462//
15463// This method is useful when you want to inject custom logic or configuration
15464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15465//
15466//
15467//    // Example sending a request using the DescribeIdentityIdFormatRequest method.
15468//    req, resp := client.DescribeIdentityIdFormatRequest(params)
15469//
15470//    err := req.Send()
15471//    if err == nil { // resp is now filled
15472//        fmt.Println(resp)
15473//    }
15474//
15475// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
15476func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
15477	op := &request.Operation{
15478		Name:       opDescribeIdentityIdFormat,
15479		HTTPMethod: "POST",
15480		HTTPPath:   "/",
15481	}
15482
15483	if input == nil {
15484		input = &DescribeIdentityIdFormatInput{}
15485	}
15486
15487	output = &DescribeIdentityIdFormatOutput{}
15488	req = c.newRequest(op, input, output)
15489	return
15490}
15491
15492// DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
15493//
15494// Describes the ID format settings for resources for the specified IAM user,
15495// IAM role, or root user. For example, you can view the resource types that
15496// are enabled for longer IDs. This request only returns information about resource
15497// types whose ID formats can be modified; it does not return information about
15498// other resource types. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
15499// in the Amazon Elastic Compute Cloud User Guide.
15500//
15501// The following resource types support longer IDs: bundle | conversion-task
15502// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
15503// | export-task | flow-log | image | import-task | instance | internet-gateway
15504// | network-acl | network-acl-association | network-interface | network-interface-attachment
15505// | prefix-list | reservation | route-table | route-table-association | security-group
15506// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
15507// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
15508//
15509// These settings apply to the principal specified in the request. They do not
15510// apply to the principal that makes the request.
15511//
15512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15513// with awserr.Error's Code and Message methods to get detailed information about
15514// the error.
15515//
15516// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15517// API operation DescribeIdentityIdFormat for usage and error information.
15518// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
15519func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
15520	req, out := c.DescribeIdentityIdFormatRequest(input)
15521	return out, req.Send()
15522}
15523
15524// DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
15525// the ability to pass a context and additional request options.
15526//
15527// See DescribeIdentityIdFormat for details on how to use this API operation.
15528//
15529// The context must be non-nil and will be used for request cancellation. If
15530// the context is nil a panic will occur. In the future the SDK may create
15531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15532// for more information on using Contexts.
15533func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
15534	req, out := c.DescribeIdentityIdFormatRequest(input)
15535	req.SetContext(ctx)
15536	req.ApplyOptions(opts...)
15537	return out, req.Send()
15538}
15539
15540const opDescribeImageAttribute = "DescribeImageAttribute"
15541
15542// DescribeImageAttributeRequest generates a "aws/request.Request" representing the
15543// client's request for the DescribeImageAttribute operation. The "output" return
15544// value will be populated with the request's response once the request completes
15545// successfully.
15546//
15547// Use "Send" method on the returned Request to send the API call to the service.
15548// the "output" return value is not valid until after Send returns without error.
15549//
15550// See DescribeImageAttribute for more information on using the DescribeImageAttribute
15551// API call, and error handling.
15552//
15553// This method is useful when you want to inject custom logic or configuration
15554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15555//
15556//
15557//    // Example sending a request using the DescribeImageAttributeRequest method.
15558//    req, resp := client.DescribeImageAttributeRequest(params)
15559//
15560//    err := req.Send()
15561//    if err == nil { // resp is now filled
15562//        fmt.Println(resp)
15563//    }
15564//
15565// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
15566func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
15567	op := &request.Operation{
15568		Name:       opDescribeImageAttribute,
15569		HTTPMethod: "POST",
15570		HTTPPath:   "/",
15571	}
15572
15573	if input == nil {
15574		input = &DescribeImageAttributeInput{}
15575	}
15576
15577	output = &DescribeImageAttributeOutput{}
15578	req = c.newRequest(op, input, output)
15579	return
15580}
15581
15582// DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
15583//
15584// Describes the specified attribute of the specified AMI. You can specify only
15585// one attribute at a time.
15586//
15587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15588// with awserr.Error's Code and Message methods to get detailed information about
15589// the error.
15590//
15591// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15592// API operation DescribeImageAttribute for usage and error information.
15593// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
15594func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
15595	req, out := c.DescribeImageAttributeRequest(input)
15596	return out, req.Send()
15597}
15598
15599// DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
15600// the ability to pass a context and additional request options.
15601//
15602// See DescribeImageAttribute for details on how to use this API operation.
15603//
15604// The context must be non-nil and will be used for request cancellation. If
15605// the context is nil a panic will occur. In the future the SDK may create
15606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15607// for more information on using Contexts.
15608func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
15609	req, out := c.DescribeImageAttributeRequest(input)
15610	req.SetContext(ctx)
15611	req.ApplyOptions(opts...)
15612	return out, req.Send()
15613}
15614
15615const opDescribeImages = "DescribeImages"
15616
15617// DescribeImagesRequest generates a "aws/request.Request" representing the
15618// client's request for the DescribeImages operation. The "output" return
15619// value will be populated with the request's response once the request completes
15620// successfully.
15621//
15622// Use "Send" method on the returned Request to send the API call to the service.
15623// the "output" return value is not valid until after Send returns without error.
15624//
15625// See DescribeImages for more information on using the DescribeImages
15626// API call, and error handling.
15627//
15628// This method is useful when you want to inject custom logic or configuration
15629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15630//
15631//
15632//    // Example sending a request using the DescribeImagesRequest method.
15633//    req, resp := client.DescribeImagesRequest(params)
15634//
15635//    err := req.Send()
15636//    if err == nil { // resp is now filled
15637//        fmt.Println(resp)
15638//    }
15639//
15640// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
15641func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
15642	op := &request.Operation{
15643		Name:       opDescribeImages,
15644		HTTPMethod: "POST",
15645		HTTPPath:   "/",
15646	}
15647
15648	if input == nil {
15649		input = &DescribeImagesInput{}
15650	}
15651
15652	output = &DescribeImagesOutput{}
15653	req = c.newRequest(op, input, output)
15654	return
15655}
15656
15657// DescribeImages API operation for Amazon Elastic Compute Cloud.
15658//
15659// Describes the specified images (AMIs, AKIs, and ARIs) available to you or
15660// all of the images available to you.
15661//
15662// The images available to you include public images, private images that you
15663// own, and private images owned by other AWS accounts for which you have explicit
15664// launch permissions.
15665//
15666// Recently deregistered images appear in the returned results for a short interval
15667// and then return empty results. After all instances that reference a deregistered
15668// AMI are terminated, specifying the ID of the image results in an error indicating
15669// that the AMI ID cannot be found.
15670//
15671// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15672// with awserr.Error's Code and Message methods to get detailed information about
15673// the error.
15674//
15675// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15676// API operation DescribeImages for usage and error information.
15677// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
15678func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
15679	req, out := c.DescribeImagesRequest(input)
15680	return out, req.Send()
15681}
15682
15683// DescribeImagesWithContext is the same as DescribeImages with the addition of
15684// the ability to pass a context and additional request options.
15685//
15686// See DescribeImages for details on how to use this API operation.
15687//
15688// The context must be non-nil and will be used for request cancellation. If
15689// the context is nil a panic will occur. In the future the SDK may create
15690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15691// for more information on using Contexts.
15692func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
15693	req, out := c.DescribeImagesRequest(input)
15694	req.SetContext(ctx)
15695	req.ApplyOptions(opts...)
15696	return out, req.Send()
15697}
15698
15699const opDescribeImportImageTasks = "DescribeImportImageTasks"
15700
15701// DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
15702// client's request for the DescribeImportImageTasks operation. The "output" return
15703// value will be populated with the request's response once the request completes
15704// successfully.
15705//
15706// Use "Send" method on the returned Request to send the API call to the service.
15707// the "output" return value is not valid until after Send returns without error.
15708//
15709// See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
15710// API call, and error handling.
15711//
15712// This method is useful when you want to inject custom logic or configuration
15713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15714//
15715//
15716//    // Example sending a request using the DescribeImportImageTasksRequest method.
15717//    req, resp := client.DescribeImportImageTasksRequest(params)
15718//
15719//    err := req.Send()
15720//    if err == nil { // resp is now filled
15721//        fmt.Println(resp)
15722//    }
15723//
15724// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
15725func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
15726	op := &request.Operation{
15727		Name:       opDescribeImportImageTasks,
15728		HTTPMethod: "POST",
15729		HTTPPath:   "/",
15730		Paginator: &request.Paginator{
15731			InputTokens:     []string{"NextToken"},
15732			OutputTokens:    []string{"NextToken"},
15733			LimitToken:      "MaxResults",
15734			TruncationToken: "",
15735		},
15736	}
15737
15738	if input == nil {
15739		input = &DescribeImportImageTasksInput{}
15740	}
15741
15742	output = &DescribeImportImageTasksOutput{}
15743	req = c.newRequest(op, input, output)
15744	return
15745}
15746
15747// DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
15748//
15749// Displays details about an import virtual machine or import snapshot tasks
15750// that are already created.
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 DescribeImportImageTasks for usage and error information.
15758// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
15759func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
15760	req, out := c.DescribeImportImageTasksRequest(input)
15761	return out, req.Send()
15762}
15763
15764// DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
15765// the ability to pass a context and additional request options.
15766//
15767// See DescribeImportImageTasks 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) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
15774	req, out := c.DescribeImportImageTasksRequest(input)
15775	req.SetContext(ctx)
15776	req.ApplyOptions(opts...)
15777	return out, req.Send()
15778}
15779
15780// DescribeImportImageTasksPages iterates over the pages of a DescribeImportImageTasks operation,
15781// calling the "fn" function with the response data for each page. To stop
15782// iterating, return false from the fn function.
15783//
15784// See DescribeImportImageTasks method for more information on how to use this operation.
15785//
15786// Note: This operation can generate multiple requests to a service.
15787//
15788//    // Example iterating over at most 3 pages of a DescribeImportImageTasks operation.
15789//    pageNum := 0
15790//    err := client.DescribeImportImageTasksPages(params,
15791//        func(page *ec2.DescribeImportImageTasksOutput, lastPage bool) bool {
15792//            pageNum++
15793//            fmt.Println(page)
15794//            return pageNum <= 3
15795//        })
15796//
15797func (c *EC2) DescribeImportImageTasksPages(input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool) error {
15798	return c.DescribeImportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
15799}
15800
15801// DescribeImportImageTasksPagesWithContext same as DescribeImportImageTasksPages except
15802// it takes a Context and allows setting request options on the pages.
15803//
15804// The context must be non-nil and will be used for request cancellation. If
15805// the context is nil a panic will occur. In the future the SDK may create
15806// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15807// for more information on using Contexts.
15808func (c *EC2) DescribeImportImageTasksPagesWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool, opts ...request.Option) error {
15809	p := request.Pagination{
15810		NewRequest: func() (*request.Request, error) {
15811			var inCpy *DescribeImportImageTasksInput
15812			if input != nil {
15813				tmp := *input
15814				inCpy = &tmp
15815			}
15816			req, _ := c.DescribeImportImageTasksRequest(inCpy)
15817			req.SetContext(ctx)
15818			req.ApplyOptions(opts...)
15819			return req, nil
15820		},
15821	}
15822
15823	for p.Next() {
15824		if !fn(p.Page().(*DescribeImportImageTasksOutput), !p.HasNextPage()) {
15825			break
15826		}
15827	}
15828
15829	return p.Err()
15830}
15831
15832const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
15833
15834// DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
15835// client's request for the DescribeImportSnapshotTasks operation. The "output" return
15836// value will be populated with the request's response once the request completes
15837// successfully.
15838//
15839// Use "Send" method on the returned Request to send the API call to the service.
15840// the "output" return value is not valid until after Send returns without error.
15841//
15842// See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
15843// API call, and error handling.
15844//
15845// This method is useful when you want to inject custom logic or configuration
15846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15847//
15848//
15849//    // Example sending a request using the DescribeImportSnapshotTasksRequest method.
15850//    req, resp := client.DescribeImportSnapshotTasksRequest(params)
15851//
15852//    err := req.Send()
15853//    if err == nil { // resp is now filled
15854//        fmt.Println(resp)
15855//    }
15856//
15857// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
15858func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
15859	op := &request.Operation{
15860		Name:       opDescribeImportSnapshotTasks,
15861		HTTPMethod: "POST",
15862		HTTPPath:   "/",
15863		Paginator: &request.Paginator{
15864			InputTokens:     []string{"NextToken"},
15865			OutputTokens:    []string{"NextToken"},
15866			LimitToken:      "MaxResults",
15867			TruncationToken: "",
15868		},
15869	}
15870
15871	if input == nil {
15872		input = &DescribeImportSnapshotTasksInput{}
15873	}
15874
15875	output = &DescribeImportSnapshotTasksOutput{}
15876	req = c.newRequest(op, input, output)
15877	return
15878}
15879
15880// DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
15881//
15882// Describes your import snapshot tasks.
15883//
15884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15885// with awserr.Error's Code and Message methods to get detailed information about
15886// the error.
15887//
15888// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15889// API operation DescribeImportSnapshotTasks for usage and error information.
15890// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
15891func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
15892	req, out := c.DescribeImportSnapshotTasksRequest(input)
15893	return out, req.Send()
15894}
15895
15896// DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
15897// the ability to pass a context and additional request options.
15898//
15899// See DescribeImportSnapshotTasks for details on how to use this API operation.
15900//
15901// The context must be non-nil and will be used for request cancellation. If
15902// the context is nil a panic will occur. In the future the SDK may create
15903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15904// for more information on using Contexts.
15905func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
15906	req, out := c.DescribeImportSnapshotTasksRequest(input)
15907	req.SetContext(ctx)
15908	req.ApplyOptions(opts...)
15909	return out, req.Send()
15910}
15911
15912// DescribeImportSnapshotTasksPages iterates over the pages of a DescribeImportSnapshotTasks operation,
15913// calling the "fn" function with the response data for each page. To stop
15914// iterating, return false from the fn function.
15915//
15916// See DescribeImportSnapshotTasks method for more information on how to use this operation.
15917//
15918// Note: This operation can generate multiple requests to a service.
15919//
15920//    // Example iterating over at most 3 pages of a DescribeImportSnapshotTasks operation.
15921//    pageNum := 0
15922//    err := client.DescribeImportSnapshotTasksPages(params,
15923//        func(page *ec2.DescribeImportSnapshotTasksOutput, lastPage bool) bool {
15924//            pageNum++
15925//            fmt.Println(page)
15926//            return pageNum <= 3
15927//        })
15928//
15929func (c *EC2) DescribeImportSnapshotTasksPages(input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool) error {
15930	return c.DescribeImportSnapshotTasksPagesWithContext(aws.BackgroundContext(), input, fn)
15931}
15932
15933// DescribeImportSnapshotTasksPagesWithContext same as DescribeImportSnapshotTasksPages except
15934// it takes a Context and allows setting request options on the pages.
15935//
15936// The context must be non-nil and will be used for request cancellation. If
15937// the context is nil a panic will occur. In the future the SDK may create
15938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15939// for more information on using Contexts.
15940func (c *EC2) DescribeImportSnapshotTasksPagesWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool, opts ...request.Option) error {
15941	p := request.Pagination{
15942		NewRequest: func() (*request.Request, error) {
15943			var inCpy *DescribeImportSnapshotTasksInput
15944			if input != nil {
15945				tmp := *input
15946				inCpy = &tmp
15947			}
15948			req, _ := c.DescribeImportSnapshotTasksRequest(inCpy)
15949			req.SetContext(ctx)
15950			req.ApplyOptions(opts...)
15951			return req, nil
15952		},
15953	}
15954
15955	for p.Next() {
15956		if !fn(p.Page().(*DescribeImportSnapshotTasksOutput), !p.HasNextPage()) {
15957			break
15958		}
15959	}
15960
15961	return p.Err()
15962}
15963
15964const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
15965
15966// DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
15967// client's request for the DescribeInstanceAttribute operation. The "output" return
15968// value will be populated with the request's response once the request completes
15969// successfully.
15970//
15971// Use "Send" method on the returned Request to send the API call to the service.
15972// the "output" return value is not valid until after Send returns without error.
15973//
15974// See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
15975// API call, and error handling.
15976//
15977// This method is useful when you want to inject custom logic or configuration
15978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15979//
15980//
15981//    // Example sending a request using the DescribeInstanceAttributeRequest method.
15982//    req, resp := client.DescribeInstanceAttributeRequest(params)
15983//
15984//    err := req.Send()
15985//    if err == nil { // resp is now filled
15986//        fmt.Println(resp)
15987//    }
15988//
15989// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
15990func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
15991	op := &request.Operation{
15992		Name:       opDescribeInstanceAttribute,
15993		HTTPMethod: "POST",
15994		HTTPPath:   "/",
15995	}
15996
15997	if input == nil {
15998		input = &DescribeInstanceAttributeInput{}
15999	}
16000
16001	output = &DescribeInstanceAttributeOutput{}
16002	req = c.newRequest(op, input, output)
16003	return
16004}
16005
16006// DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
16007//
16008// Describes the specified attribute of the specified instance. You can specify
16009// only one attribute at a time. Valid attribute values are: instanceType |
16010// kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
16011// | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
16012// groupSet | ebsOptimized | sriovNetSupport
16013//
16014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16015// with awserr.Error's Code and Message methods to get detailed information about
16016// the error.
16017//
16018// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16019// API operation DescribeInstanceAttribute for usage and error information.
16020// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
16021func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
16022	req, out := c.DescribeInstanceAttributeRequest(input)
16023	return out, req.Send()
16024}
16025
16026// DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
16027// the ability to pass a context and additional request options.
16028//
16029// See DescribeInstanceAttribute for details on how to use this API operation.
16030//
16031// The context must be non-nil and will be used for request cancellation. If
16032// the context is nil a panic will occur. In the future the SDK may create
16033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16034// for more information on using Contexts.
16035func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
16036	req, out := c.DescribeInstanceAttributeRequest(input)
16037	req.SetContext(ctx)
16038	req.ApplyOptions(opts...)
16039	return out, req.Send()
16040}
16041
16042const opDescribeInstanceCreditSpecifications = "DescribeInstanceCreditSpecifications"
16043
16044// DescribeInstanceCreditSpecificationsRequest generates a "aws/request.Request" representing the
16045// client's request for the DescribeInstanceCreditSpecifications operation. The "output" return
16046// value will be populated with the request's response once the request completes
16047// successfully.
16048//
16049// Use "Send" method on the returned Request to send the API call to the service.
16050// the "output" return value is not valid until after Send returns without error.
16051//
16052// See DescribeInstanceCreditSpecifications for more information on using the DescribeInstanceCreditSpecifications
16053// API call, and error handling.
16054//
16055// This method is useful when you want to inject custom logic or configuration
16056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16057//
16058//
16059//    // Example sending a request using the DescribeInstanceCreditSpecificationsRequest method.
16060//    req, resp := client.DescribeInstanceCreditSpecificationsRequest(params)
16061//
16062//    err := req.Send()
16063//    if err == nil { // resp is now filled
16064//        fmt.Println(resp)
16065//    }
16066//
16067// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
16068func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanceCreditSpecificationsInput) (req *request.Request, output *DescribeInstanceCreditSpecificationsOutput) {
16069	op := &request.Operation{
16070		Name:       opDescribeInstanceCreditSpecifications,
16071		HTTPMethod: "POST",
16072		HTTPPath:   "/",
16073		Paginator: &request.Paginator{
16074			InputTokens:     []string{"NextToken"},
16075			OutputTokens:    []string{"NextToken"},
16076			LimitToken:      "MaxResults",
16077			TruncationToken: "",
16078		},
16079	}
16080
16081	if input == nil {
16082		input = &DescribeInstanceCreditSpecificationsInput{}
16083	}
16084
16085	output = &DescribeInstanceCreditSpecificationsOutput{}
16086	req = c.newRequest(op, input, output)
16087	return
16088}
16089
16090// DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
16091//
16092// Describes the credit option for CPU usage of the specified burstable performance
16093// instances. The credit options are standard and unlimited.
16094//
16095// If you do not specify an instance ID, Amazon EC2 returns burstable performance
16096// instances with the unlimited credit option, as well as instances that were
16097// previously configured as T2, T3, and T3a with the unlimited credit option.
16098// For example, if you resize a T2 instance, while it is configured as unlimited,
16099// to an M4 instance, Amazon EC2 returns the M4 instance.
16100//
16101// If you specify one or more instance IDs, Amazon EC2 returns the credit option
16102// (standard or unlimited) of those instances. If you specify an instance ID
16103// that is not valid, such as an instance that is not a burstable performance
16104// instance, an error is returned.
16105//
16106// Recently terminated instances might appear in the returned results. This
16107// interval is usually less than one hour.
16108//
16109// If an Availability Zone is experiencing a service disruption and you specify
16110// instance IDs in the affected zone, or do not specify any instance IDs at
16111// all, the call fails. If you specify only instance IDs in an unaffected zone,
16112// the call works normally.
16113//
16114// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
16115// in the Amazon Elastic Compute Cloud User Guide.
16116//
16117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16118// with awserr.Error's Code and Message methods to get detailed information about
16119// the error.
16120//
16121// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16122// API operation DescribeInstanceCreditSpecifications for usage and error information.
16123// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
16124func (c *EC2) DescribeInstanceCreditSpecifications(input *DescribeInstanceCreditSpecificationsInput) (*DescribeInstanceCreditSpecificationsOutput, error) {
16125	req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
16126	return out, req.Send()
16127}
16128
16129// DescribeInstanceCreditSpecificationsWithContext is the same as DescribeInstanceCreditSpecifications with the addition of
16130// the ability to pass a context and additional request options.
16131//
16132// See DescribeInstanceCreditSpecifications for details on how to use this API operation.
16133//
16134// The context must be non-nil and will be used for request cancellation. If
16135// the context is nil a panic will occur. In the future the SDK may create
16136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16137// for more information on using Contexts.
16138func (c *EC2) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, opts ...request.Option) (*DescribeInstanceCreditSpecificationsOutput, error) {
16139	req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
16140	req.SetContext(ctx)
16141	req.ApplyOptions(opts...)
16142	return out, req.Send()
16143}
16144
16145// DescribeInstanceCreditSpecificationsPages iterates over the pages of a DescribeInstanceCreditSpecifications operation,
16146// calling the "fn" function with the response data for each page. To stop
16147// iterating, return false from the fn function.
16148//
16149// See DescribeInstanceCreditSpecifications method for more information on how to use this operation.
16150//
16151// Note: This operation can generate multiple requests to a service.
16152//
16153//    // Example iterating over at most 3 pages of a DescribeInstanceCreditSpecifications operation.
16154//    pageNum := 0
16155//    err := client.DescribeInstanceCreditSpecificationsPages(params,
16156//        func(page *ec2.DescribeInstanceCreditSpecificationsOutput, lastPage bool) bool {
16157//            pageNum++
16158//            fmt.Println(page)
16159//            return pageNum <= 3
16160//        })
16161//
16162func (c *EC2) DescribeInstanceCreditSpecificationsPages(input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool) error {
16163	return c.DescribeInstanceCreditSpecificationsPagesWithContext(aws.BackgroundContext(), input, fn)
16164}
16165
16166// DescribeInstanceCreditSpecificationsPagesWithContext same as DescribeInstanceCreditSpecificationsPages except
16167// it takes a Context and allows setting request options on the pages.
16168//
16169// The context must be non-nil and will be used for request cancellation. If
16170// the context is nil a panic will occur. In the future the SDK may create
16171// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16172// for more information on using Contexts.
16173func (c *EC2) DescribeInstanceCreditSpecificationsPagesWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool, opts ...request.Option) error {
16174	p := request.Pagination{
16175		NewRequest: func() (*request.Request, error) {
16176			var inCpy *DescribeInstanceCreditSpecificationsInput
16177			if input != nil {
16178				tmp := *input
16179				inCpy = &tmp
16180			}
16181			req, _ := c.DescribeInstanceCreditSpecificationsRequest(inCpy)
16182			req.SetContext(ctx)
16183			req.ApplyOptions(opts...)
16184			return req, nil
16185		},
16186	}
16187
16188	for p.Next() {
16189		if !fn(p.Page().(*DescribeInstanceCreditSpecificationsOutput), !p.HasNextPage()) {
16190			break
16191		}
16192	}
16193
16194	return p.Err()
16195}
16196
16197const opDescribeInstanceStatus = "DescribeInstanceStatus"
16198
16199// DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
16200// client's request for the DescribeInstanceStatus operation. The "output" return
16201// value will be populated with the request's response once the request completes
16202// successfully.
16203//
16204// Use "Send" method on the returned Request to send the API call to the service.
16205// the "output" return value is not valid until after Send returns without error.
16206//
16207// See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
16208// API call, and error handling.
16209//
16210// This method is useful when you want to inject custom logic or configuration
16211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16212//
16213//
16214//    // Example sending a request using the DescribeInstanceStatusRequest method.
16215//    req, resp := client.DescribeInstanceStatusRequest(params)
16216//
16217//    err := req.Send()
16218//    if err == nil { // resp is now filled
16219//        fmt.Println(resp)
16220//    }
16221//
16222// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
16223func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
16224	op := &request.Operation{
16225		Name:       opDescribeInstanceStatus,
16226		HTTPMethod: "POST",
16227		HTTPPath:   "/",
16228		Paginator: &request.Paginator{
16229			InputTokens:     []string{"NextToken"},
16230			OutputTokens:    []string{"NextToken"},
16231			LimitToken:      "MaxResults",
16232			TruncationToken: "",
16233		},
16234	}
16235
16236	if input == nil {
16237		input = &DescribeInstanceStatusInput{}
16238	}
16239
16240	output = &DescribeInstanceStatusOutput{}
16241	req = c.newRequest(op, input, output)
16242	return
16243}
16244
16245// DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
16246//
16247// Describes the status of the specified instances or all of your instances.
16248// By default, only running instances are described, unless you specifically
16249// indicate to return the status of all instances.
16250//
16251// Instance status includes the following components:
16252//
16253//    * Status checks - Amazon EC2 performs status checks on running EC2 instances
16254//    to identify hardware and software issues. For more information, see Status
16255//    Checks for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
16256//    and Troubleshooting Instances with Failed Status Checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
16257//    in the Amazon Elastic Compute Cloud User Guide.
16258//
16259//    * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
16260//    or terminate) for your instances related to hardware issues, software
16261//    updates, or system maintenance. For more information, see Scheduled Events
16262//    for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
16263//    in the Amazon Elastic Compute Cloud User Guide.
16264//
16265//    * Instance state - You can manage your instances from the moment you launch
16266//    them through their termination. For more information, see Instance Lifecycle
16267//    (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
16268//    in the Amazon Elastic Compute Cloud User Guide.
16269//
16270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16271// with awserr.Error's Code and Message methods to get detailed information about
16272// the error.
16273//
16274// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16275// API operation DescribeInstanceStatus for usage and error information.
16276// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
16277func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
16278	req, out := c.DescribeInstanceStatusRequest(input)
16279	return out, req.Send()
16280}
16281
16282// DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
16283// the ability to pass a context and additional request options.
16284//
16285// See DescribeInstanceStatus for details on how to use this API operation.
16286//
16287// The context must be non-nil and will be used for request cancellation. If
16288// the context is nil a panic will occur. In the future the SDK may create
16289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16290// for more information on using Contexts.
16291func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
16292	req, out := c.DescribeInstanceStatusRequest(input)
16293	req.SetContext(ctx)
16294	req.ApplyOptions(opts...)
16295	return out, req.Send()
16296}
16297
16298// DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
16299// calling the "fn" function with the response data for each page. To stop
16300// iterating, return false from the fn function.
16301//
16302// See DescribeInstanceStatus method for more information on how to use this operation.
16303//
16304// Note: This operation can generate multiple requests to a service.
16305//
16306//    // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
16307//    pageNum := 0
16308//    err := client.DescribeInstanceStatusPages(params,
16309//        func(page *ec2.DescribeInstanceStatusOutput, lastPage bool) bool {
16310//            pageNum++
16311//            fmt.Println(page)
16312//            return pageNum <= 3
16313//        })
16314//
16315func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
16316	return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
16317}
16318
16319// DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
16320// it takes a Context and allows setting request options on the pages.
16321//
16322// The context must be non-nil and will be used for request cancellation. If
16323// the context is nil a panic will occur. In the future the SDK may create
16324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16325// for more information on using Contexts.
16326func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
16327	p := request.Pagination{
16328		NewRequest: func() (*request.Request, error) {
16329			var inCpy *DescribeInstanceStatusInput
16330			if input != nil {
16331				tmp := *input
16332				inCpy = &tmp
16333			}
16334			req, _ := c.DescribeInstanceStatusRequest(inCpy)
16335			req.SetContext(ctx)
16336			req.ApplyOptions(opts...)
16337			return req, nil
16338		},
16339	}
16340
16341	for p.Next() {
16342		if !fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage()) {
16343			break
16344		}
16345	}
16346
16347	return p.Err()
16348}
16349
16350const opDescribeInstanceTypeOfferings = "DescribeInstanceTypeOfferings"
16351
16352// DescribeInstanceTypeOfferingsRequest generates a "aws/request.Request" representing the
16353// client's request for the DescribeInstanceTypeOfferings operation. The "output" return
16354// value will be populated with the request's response once the request completes
16355// successfully.
16356//
16357// Use "Send" method on the returned Request to send the API call to the service.
16358// the "output" return value is not valid until after Send returns without error.
16359//
16360// See DescribeInstanceTypeOfferings for more information on using the DescribeInstanceTypeOfferings
16361// API call, and error handling.
16362//
16363// This method is useful when you want to inject custom logic or configuration
16364// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16365//
16366//
16367//    // Example sending a request using the DescribeInstanceTypeOfferingsRequest method.
16368//    req, resp := client.DescribeInstanceTypeOfferingsRequest(params)
16369//
16370//    err := req.Send()
16371//    if err == nil { // resp is now filled
16372//        fmt.Println(resp)
16373//    }
16374//
16375// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings
16376func (c *EC2) DescribeInstanceTypeOfferingsRequest(input *DescribeInstanceTypeOfferingsInput) (req *request.Request, output *DescribeInstanceTypeOfferingsOutput) {
16377	op := &request.Operation{
16378		Name:       opDescribeInstanceTypeOfferings,
16379		HTTPMethod: "POST",
16380		HTTPPath:   "/",
16381		Paginator: &request.Paginator{
16382			InputTokens:     []string{"NextToken"},
16383			OutputTokens:    []string{"NextToken"},
16384			LimitToken:      "MaxResults",
16385			TruncationToken: "",
16386		},
16387	}
16388
16389	if input == nil {
16390		input = &DescribeInstanceTypeOfferingsInput{}
16391	}
16392
16393	output = &DescribeInstanceTypeOfferingsOutput{}
16394	req = c.newRequest(op, input, output)
16395	return
16396}
16397
16398// DescribeInstanceTypeOfferings API operation for Amazon Elastic Compute Cloud.
16399//
16400// Returns a list of all instance types offered. The results can be filtered
16401// by location (Region or Availability Zone). If no location is specified, the
16402// instance types offered in the current Region are returned.
16403//
16404// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16405// with awserr.Error's Code and Message methods to get detailed information about
16406// the error.
16407//
16408// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16409// API operation DescribeInstanceTypeOfferings for usage and error information.
16410// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings
16411func (c *EC2) DescribeInstanceTypeOfferings(input *DescribeInstanceTypeOfferingsInput) (*DescribeInstanceTypeOfferingsOutput, error) {
16412	req, out := c.DescribeInstanceTypeOfferingsRequest(input)
16413	return out, req.Send()
16414}
16415
16416// DescribeInstanceTypeOfferingsWithContext is the same as DescribeInstanceTypeOfferings with the addition of
16417// the ability to pass a context and additional request options.
16418//
16419// See DescribeInstanceTypeOfferings for details on how to use this API operation.
16420//
16421// The context must be non-nil and will be used for request cancellation. If
16422// the context is nil a panic will occur. In the future the SDK may create
16423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16424// for more information on using Contexts.
16425func (c *EC2) DescribeInstanceTypeOfferingsWithContext(ctx aws.Context, input *DescribeInstanceTypeOfferingsInput, opts ...request.Option) (*DescribeInstanceTypeOfferingsOutput, error) {
16426	req, out := c.DescribeInstanceTypeOfferingsRequest(input)
16427	req.SetContext(ctx)
16428	req.ApplyOptions(opts...)
16429	return out, req.Send()
16430}
16431
16432// DescribeInstanceTypeOfferingsPages iterates over the pages of a DescribeInstanceTypeOfferings operation,
16433// calling the "fn" function with the response data for each page. To stop
16434// iterating, return false from the fn function.
16435//
16436// See DescribeInstanceTypeOfferings method for more information on how to use this operation.
16437//
16438// Note: This operation can generate multiple requests to a service.
16439//
16440//    // Example iterating over at most 3 pages of a DescribeInstanceTypeOfferings operation.
16441//    pageNum := 0
16442//    err := client.DescribeInstanceTypeOfferingsPages(params,
16443//        func(page *ec2.DescribeInstanceTypeOfferingsOutput, lastPage bool) bool {
16444//            pageNum++
16445//            fmt.Println(page)
16446//            return pageNum <= 3
16447//        })
16448//
16449func (c *EC2) DescribeInstanceTypeOfferingsPages(input *DescribeInstanceTypeOfferingsInput, fn func(*DescribeInstanceTypeOfferingsOutput, bool) bool) error {
16450	return c.DescribeInstanceTypeOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
16451}
16452
16453// DescribeInstanceTypeOfferingsPagesWithContext same as DescribeInstanceTypeOfferingsPages except
16454// it takes a Context and allows setting request options on the pages.
16455//
16456// The context must be non-nil and will be used for request cancellation. If
16457// the context is nil a panic will occur. In the future the SDK may create
16458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16459// for more information on using Contexts.
16460func (c *EC2) DescribeInstanceTypeOfferingsPagesWithContext(ctx aws.Context, input *DescribeInstanceTypeOfferingsInput, fn func(*DescribeInstanceTypeOfferingsOutput, bool) bool, opts ...request.Option) error {
16461	p := request.Pagination{
16462		NewRequest: func() (*request.Request, error) {
16463			var inCpy *DescribeInstanceTypeOfferingsInput
16464			if input != nil {
16465				tmp := *input
16466				inCpy = &tmp
16467			}
16468			req, _ := c.DescribeInstanceTypeOfferingsRequest(inCpy)
16469			req.SetContext(ctx)
16470			req.ApplyOptions(opts...)
16471			return req, nil
16472		},
16473	}
16474
16475	for p.Next() {
16476		if !fn(p.Page().(*DescribeInstanceTypeOfferingsOutput), !p.HasNextPage()) {
16477			break
16478		}
16479	}
16480
16481	return p.Err()
16482}
16483
16484const opDescribeInstanceTypes = "DescribeInstanceTypes"
16485
16486// DescribeInstanceTypesRequest generates a "aws/request.Request" representing the
16487// client's request for the DescribeInstanceTypes operation. The "output" return
16488// value will be populated with the request's response once the request completes
16489// successfully.
16490//
16491// Use "Send" method on the returned Request to send the API call to the service.
16492// the "output" return value is not valid until after Send returns without error.
16493//
16494// See DescribeInstanceTypes for more information on using the DescribeInstanceTypes
16495// API call, and error handling.
16496//
16497// This method is useful when you want to inject custom logic or configuration
16498// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16499//
16500//
16501//    // Example sending a request using the DescribeInstanceTypesRequest method.
16502//    req, resp := client.DescribeInstanceTypesRequest(params)
16503//
16504//    err := req.Send()
16505//    if err == nil { // resp is now filled
16506//        fmt.Println(resp)
16507//    }
16508//
16509// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes
16510func (c *EC2) DescribeInstanceTypesRequest(input *DescribeInstanceTypesInput) (req *request.Request, output *DescribeInstanceTypesOutput) {
16511	op := &request.Operation{
16512		Name:       opDescribeInstanceTypes,
16513		HTTPMethod: "POST",
16514		HTTPPath:   "/",
16515		Paginator: &request.Paginator{
16516			InputTokens:     []string{"NextToken"},
16517			OutputTokens:    []string{"NextToken"},
16518			LimitToken:      "MaxResults",
16519			TruncationToken: "",
16520		},
16521	}
16522
16523	if input == nil {
16524		input = &DescribeInstanceTypesInput{}
16525	}
16526
16527	output = &DescribeInstanceTypesOutput{}
16528	req = c.newRequest(op, input, output)
16529	return
16530}
16531
16532// DescribeInstanceTypes API operation for Amazon Elastic Compute Cloud.
16533//
16534// Returns a list of all instance types offered in your current AWS Region.
16535// The results can be filtered by the attributes of the instance types.
16536//
16537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16538// with awserr.Error's Code and Message methods to get detailed information about
16539// the error.
16540//
16541// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16542// API operation DescribeInstanceTypes for usage and error information.
16543// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes
16544func (c *EC2) DescribeInstanceTypes(input *DescribeInstanceTypesInput) (*DescribeInstanceTypesOutput, error) {
16545	req, out := c.DescribeInstanceTypesRequest(input)
16546	return out, req.Send()
16547}
16548
16549// DescribeInstanceTypesWithContext is the same as DescribeInstanceTypes with the addition of
16550// the ability to pass a context and additional request options.
16551//
16552// See DescribeInstanceTypes for details on how to use this API operation.
16553//
16554// The context must be non-nil and will be used for request cancellation. If
16555// the context is nil a panic will occur. In the future the SDK may create
16556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16557// for more information on using Contexts.
16558func (c *EC2) DescribeInstanceTypesWithContext(ctx aws.Context, input *DescribeInstanceTypesInput, opts ...request.Option) (*DescribeInstanceTypesOutput, error) {
16559	req, out := c.DescribeInstanceTypesRequest(input)
16560	req.SetContext(ctx)
16561	req.ApplyOptions(opts...)
16562	return out, req.Send()
16563}
16564
16565// DescribeInstanceTypesPages iterates over the pages of a DescribeInstanceTypes operation,
16566// calling the "fn" function with the response data for each page. To stop
16567// iterating, return false from the fn function.
16568//
16569// See DescribeInstanceTypes method for more information on how to use this operation.
16570//
16571// Note: This operation can generate multiple requests to a service.
16572//
16573//    // Example iterating over at most 3 pages of a DescribeInstanceTypes operation.
16574//    pageNum := 0
16575//    err := client.DescribeInstanceTypesPages(params,
16576//        func(page *ec2.DescribeInstanceTypesOutput, lastPage bool) bool {
16577//            pageNum++
16578//            fmt.Println(page)
16579//            return pageNum <= 3
16580//        })
16581//
16582func (c *EC2) DescribeInstanceTypesPages(input *DescribeInstanceTypesInput, fn func(*DescribeInstanceTypesOutput, bool) bool) error {
16583	return c.DescribeInstanceTypesPagesWithContext(aws.BackgroundContext(), input, fn)
16584}
16585
16586// DescribeInstanceTypesPagesWithContext same as DescribeInstanceTypesPages except
16587// it takes a Context and allows setting request options on the pages.
16588//
16589// The context must be non-nil and will be used for request cancellation. If
16590// the context is nil a panic will occur. In the future the SDK may create
16591// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16592// for more information on using Contexts.
16593func (c *EC2) DescribeInstanceTypesPagesWithContext(ctx aws.Context, input *DescribeInstanceTypesInput, fn func(*DescribeInstanceTypesOutput, bool) bool, opts ...request.Option) error {
16594	p := request.Pagination{
16595		NewRequest: func() (*request.Request, error) {
16596			var inCpy *DescribeInstanceTypesInput
16597			if input != nil {
16598				tmp := *input
16599				inCpy = &tmp
16600			}
16601			req, _ := c.DescribeInstanceTypesRequest(inCpy)
16602			req.SetContext(ctx)
16603			req.ApplyOptions(opts...)
16604			return req, nil
16605		},
16606	}
16607
16608	for p.Next() {
16609		if !fn(p.Page().(*DescribeInstanceTypesOutput), !p.HasNextPage()) {
16610			break
16611		}
16612	}
16613
16614	return p.Err()
16615}
16616
16617const opDescribeInstances = "DescribeInstances"
16618
16619// DescribeInstancesRequest generates a "aws/request.Request" representing the
16620// client's request for the DescribeInstances operation. The "output" return
16621// value will be populated with the request's response once the request completes
16622// successfully.
16623//
16624// Use "Send" method on the returned Request to send the API call to the service.
16625// the "output" return value is not valid until after Send returns without error.
16626//
16627// See DescribeInstances for more information on using the DescribeInstances
16628// API call, and error handling.
16629//
16630// This method is useful when you want to inject custom logic or configuration
16631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16632//
16633//
16634//    // Example sending a request using the DescribeInstancesRequest method.
16635//    req, resp := client.DescribeInstancesRequest(params)
16636//
16637//    err := req.Send()
16638//    if err == nil { // resp is now filled
16639//        fmt.Println(resp)
16640//    }
16641//
16642// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
16643func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
16644	op := &request.Operation{
16645		Name:       opDescribeInstances,
16646		HTTPMethod: "POST",
16647		HTTPPath:   "/",
16648		Paginator: &request.Paginator{
16649			InputTokens:     []string{"NextToken"},
16650			OutputTokens:    []string{"NextToken"},
16651			LimitToken:      "MaxResults",
16652			TruncationToken: "",
16653		},
16654	}
16655
16656	if input == nil {
16657		input = &DescribeInstancesInput{}
16658	}
16659
16660	output = &DescribeInstancesOutput{}
16661	req = c.newRequest(op, input, output)
16662	return
16663}
16664
16665// DescribeInstances API operation for Amazon Elastic Compute Cloud.
16666//
16667// Describes the specified instances or all of AWS account's instances.
16668//
16669// If you specify one or more instance IDs, Amazon EC2 returns information for
16670// those instances. If you do not specify instance IDs, Amazon EC2 returns information
16671// for all relevant instances. If you specify an instance ID that is not valid,
16672// an error is returned. If you specify an instance that you do not own, it
16673// is not included in the returned results.
16674//
16675// Recently terminated instances might appear in the returned results. This
16676// interval is usually less than one hour.
16677//
16678// If you describe instances in the rare case where an Availability Zone is
16679// experiencing a service disruption and you specify instance IDs that are in
16680// the affected zone, or do not specify any instance IDs at all, the call fails.
16681// If you describe instances and specify only instance IDs that are in an unaffected
16682// zone, the call works normally.
16683//
16684// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16685// with awserr.Error's Code and Message methods to get detailed information about
16686// the error.
16687//
16688// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16689// API operation DescribeInstances for usage and error information.
16690// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
16691func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
16692	req, out := c.DescribeInstancesRequest(input)
16693	return out, req.Send()
16694}
16695
16696// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
16697// the ability to pass a context and additional request options.
16698//
16699// See DescribeInstances for details on how to use this API operation.
16700//
16701// The context must be non-nil and will be used for request cancellation. If
16702// the context is nil a panic will occur. In the future the SDK may create
16703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16704// for more information on using Contexts.
16705func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
16706	req, out := c.DescribeInstancesRequest(input)
16707	req.SetContext(ctx)
16708	req.ApplyOptions(opts...)
16709	return out, req.Send()
16710}
16711
16712// DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
16713// calling the "fn" function with the response data for each page. To stop
16714// iterating, return false from the fn function.
16715//
16716// See DescribeInstances method for more information on how to use this operation.
16717//
16718// Note: This operation can generate multiple requests to a service.
16719//
16720//    // Example iterating over at most 3 pages of a DescribeInstances operation.
16721//    pageNum := 0
16722//    err := client.DescribeInstancesPages(params,
16723//        func(page *ec2.DescribeInstancesOutput, lastPage bool) bool {
16724//            pageNum++
16725//            fmt.Println(page)
16726//            return pageNum <= 3
16727//        })
16728//
16729func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
16730	return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
16731}
16732
16733// DescribeInstancesPagesWithContext same as DescribeInstancesPages except
16734// it takes a Context and allows setting request options on the pages.
16735//
16736// The context must be non-nil and will be used for request cancellation. If
16737// the context is nil a panic will occur. In the future the SDK may create
16738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16739// for more information on using Contexts.
16740func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
16741	p := request.Pagination{
16742		NewRequest: func() (*request.Request, error) {
16743			var inCpy *DescribeInstancesInput
16744			if input != nil {
16745				tmp := *input
16746				inCpy = &tmp
16747			}
16748			req, _ := c.DescribeInstancesRequest(inCpy)
16749			req.SetContext(ctx)
16750			req.ApplyOptions(opts...)
16751			return req, nil
16752		},
16753	}
16754
16755	for p.Next() {
16756		if !fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage()) {
16757			break
16758		}
16759	}
16760
16761	return p.Err()
16762}
16763
16764const opDescribeInternetGateways = "DescribeInternetGateways"
16765
16766// DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
16767// client's request for the DescribeInternetGateways operation. The "output" return
16768// value will be populated with the request's response once the request completes
16769// successfully.
16770//
16771// Use "Send" method on the returned Request to send the API call to the service.
16772// the "output" return value is not valid until after Send returns without error.
16773//
16774// See DescribeInternetGateways for more information on using the DescribeInternetGateways
16775// API call, and error handling.
16776//
16777// This method is useful when you want to inject custom logic or configuration
16778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16779//
16780//
16781//    // Example sending a request using the DescribeInternetGatewaysRequest method.
16782//    req, resp := client.DescribeInternetGatewaysRequest(params)
16783//
16784//    err := req.Send()
16785//    if err == nil { // resp is now filled
16786//        fmt.Println(resp)
16787//    }
16788//
16789// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
16790func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
16791	op := &request.Operation{
16792		Name:       opDescribeInternetGateways,
16793		HTTPMethod: "POST",
16794		HTTPPath:   "/",
16795		Paginator: &request.Paginator{
16796			InputTokens:     []string{"NextToken"},
16797			OutputTokens:    []string{"NextToken"},
16798			LimitToken:      "MaxResults",
16799			TruncationToken: "",
16800		},
16801	}
16802
16803	if input == nil {
16804		input = &DescribeInternetGatewaysInput{}
16805	}
16806
16807	output = &DescribeInternetGatewaysOutput{}
16808	req = c.newRequest(op, input, output)
16809	return
16810}
16811
16812// DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
16813//
16814// Describes one or more of your internet gateways.
16815//
16816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16817// with awserr.Error's Code and Message methods to get detailed information about
16818// the error.
16819//
16820// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16821// API operation DescribeInternetGateways for usage and error information.
16822// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
16823func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
16824	req, out := c.DescribeInternetGatewaysRequest(input)
16825	return out, req.Send()
16826}
16827
16828// DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
16829// the ability to pass a context and additional request options.
16830//
16831// See DescribeInternetGateways for details on how to use this API operation.
16832//
16833// The context must be non-nil and will be used for request cancellation. If
16834// the context is nil a panic will occur. In the future the SDK may create
16835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16836// for more information on using Contexts.
16837func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
16838	req, out := c.DescribeInternetGatewaysRequest(input)
16839	req.SetContext(ctx)
16840	req.ApplyOptions(opts...)
16841	return out, req.Send()
16842}
16843
16844// DescribeInternetGatewaysPages iterates over the pages of a DescribeInternetGateways operation,
16845// calling the "fn" function with the response data for each page. To stop
16846// iterating, return false from the fn function.
16847//
16848// See DescribeInternetGateways method for more information on how to use this operation.
16849//
16850// Note: This operation can generate multiple requests to a service.
16851//
16852//    // Example iterating over at most 3 pages of a DescribeInternetGateways operation.
16853//    pageNum := 0
16854//    err := client.DescribeInternetGatewaysPages(params,
16855//        func(page *ec2.DescribeInternetGatewaysOutput, lastPage bool) bool {
16856//            pageNum++
16857//            fmt.Println(page)
16858//            return pageNum <= 3
16859//        })
16860//
16861func (c *EC2) DescribeInternetGatewaysPages(input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool) error {
16862	return c.DescribeInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
16863}
16864
16865// DescribeInternetGatewaysPagesWithContext same as DescribeInternetGatewaysPages except
16866// it takes a Context and allows setting request options on the pages.
16867//
16868// The context must be non-nil and will be used for request cancellation. If
16869// the context is nil a panic will occur. In the future the SDK may create
16870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16871// for more information on using Contexts.
16872func (c *EC2) DescribeInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
16873	p := request.Pagination{
16874		NewRequest: func() (*request.Request, error) {
16875			var inCpy *DescribeInternetGatewaysInput
16876			if input != nil {
16877				tmp := *input
16878				inCpy = &tmp
16879			}
16880			req, _ := c.DescribeInternetGatewaysRequest(inCpy)
16881			req.SetContext(ctx)
16882			req.ApplyOptions(opts...)
16883			return req, nil
16884		},
16885	}
16886
16887	for p.Next() {
16888		if !fn(p.Page().(*DescribeInternetGatewaysOutput), !p.HasNextPage()) {
16889			break
16890		}
16891	}
16892
16893	return p.Err()
16894}
16895
16896const opDescribeIpv6Pools = "DescribeIpv6Pools"
16897
16898// DescribeIpv6PoolsRequest generates a "aws/request.Request" representing the
16899// client's request for the DescribeIpv6Pools operation. The "output" return
16900// value will be populated with the request's response once the request completes
16901// successfully.
16902//
16903// Use "Send" method on the returned Request to send the API call to the service.
16904// the "output" return value is not valid until after Send returns without error.
16905//
16906// See DescribeIpv6Pools for more information on using the DescribeIpv6Pools
16907// API call, and error handling.
16908//
16909// This method is useful when you want to inject custom logic or configuration
16910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16911//
16912//
16913//    // Example sending a request using the DescribeIpv6PoolsRequest method.
16914//    req, resp := client.DescribeIpv6PoolsRequest(params)
16915//
16916//    err := req.Send()
16917//    if err == nil { // resp is now filled
16918//        fmt.Println(resp)
16919//    }
16920//
16921// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpv6Pools
16922func (c *EC2) DescribeIpv6PoolsRequest(input *DescribeIpv6PoolsInput) (req *request.Request, output *DescribeIpv6PoolsOutput) {
16923	op := &request.Operation{
16924		Name:       opDescribeIpv6Pools,
16925		HTTPMethod: "POST",
16926		HTTPPath:   "/",
16927		Paginator: &request.Paginator{
16928			InputTokens:     []string{"NextToken"},
16929			OutputTokens:    []string{"NextToken"},
16930			LimitToken:      "MaxResults",
16931			TruncationToken: "",
16932		},
16933	}
16934
16935	if input == nil {
16936		input = &DescribeIpv6PoolsInput{}
16937	}
16938
16939	output = &DescribeIpv6PoolsOutput{}
16940	req = c.newRequest(op, input, output)
16941	return
16942}
16943
16944// DescribeIpv6Pools API operation for Amazon Elastic Compute Cloud.
16945//
16946// Describes your IPv6 address pools.
16947//
16948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16949// with awserr.Error's Code and Message methods to get detailed information about
16950// the error.
16951//
16952// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16953// API operation DescribeIpv6Pools for usage and error information.
16954// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIpv6Pools
16955func (c *EC2) DescribeIpv6Pools(input *DescribeIpv6PoolsInput) (*DescribeIpv6PoolsOutput, error) {
16956	req, out := c.DescribeIpv6PoolsRequest(input)
16957	return out, req.Send()
16958}
16959
16960// DescribeIpv6PoolsWithContext is the same as DescribeIpv6Pools with the addition of
16961// the ability to pass a context and additional request options.
16962//
16963// See DescribeIpv6Pools for details on how to use this API operation.
16964//
16965// The context must be non-nil and will be used for request cancellation. If
16966// the context is nil a panic will occur. In the future the SDK may create
16967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16968// for more information on using Contexts.
16969func (c *EC2) DescribeIpv6PoolsWithContext(ctx aws.Context, input *DescribeIpv6PoolsInput, opts ...request.Option) (*DescribeIpv6PoolsOutput, error) {
16970	req, out := c.DescribeIpv6PoolsRequest(input)
16971	req.SetContext(ctx)
16972	req.ApplyOptions(opts...)
16973	return out, req.Send()
16974}
16975
16976// DescribeIpv6PoolsPages iterates over the pages of a DescribeIpv6Pools operation,
16977// calling the "fn" function with the response data for each page. To stop
16978// iterating, return false from the fn function.
16979//
16980// See DescribeIpv6Pools method for more information on how to use this operation.
16981//
16982// Note: This operation can generate multiple requests to a service.
16983//
16984//    // Example iterating over at most 3 pages of a DescribeIpv6Pools operation.
16985//    pageNum := 0
16986//    err := client.DescribeIpv6PoolsPages(params,
16987//        func(page *ec2.DescribeIpv6PoolsOutput, lastPage bool) bool {
16988//            pageNum++
16989//            fmt.Println(page)
16990//            return pageNum <= 3
16991//        })
16992//
16993func (c *EC2) DescribeIpv6PoolsPages(input *DescribeIpv6PoolsInput, fn func(*DescribeIpv6PoolsOutput, bool) bool) error {
16994	return c.DescribeIpv6PoolsPagesWithContext(aws.BackgroundContext(), input, fn)
16995}
16996
16997// DescribeIpv6PoolsPagesWithContext same as DescribeIpv6PoolsPages except
16998// it takes a Context and allows setting request options on the pages.
16999//
17000// The context must be non-nil and will be used for request cancellation. If
17001// the context is nil a panic will occur. In the future the SDK may create
17002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17003// for more information on using Contexts.
17004func (c *EC2) DescribeIpv6PoolsPagesWithContext(ctx aws.Context, input *DescribeIpv6PoolsInput, fn func(*DescribeIpv6PoolsOutput, bool) bool, opts ...request.Option) error {
17005	p := request.Pagination{
17006		NewRequest: func() (*request.Request, error) {
17007			var inCpy *DescribeIpv6PoolsInput
17008			if input != nil {
17009				tmp := *input
17010				inCpy = &tmp
17011			}
17012			req, _ := c.DescribeIpv6PoolsRequest(inCpy)
17013			req.SetContext(ctx)
17014			req.ApplyOptions(opts...)
17015			return req, nil
17016		},
17017	}
17018
17019	for p.Next() {
17020		if !fn(p.Page().(*DescribeIpv6PoolsOutput), !p.HasNextPage()) {
17021			break
17022		}
17023	}
17024
17025	return p.Err()
17026}
17027
17028const opDescribeKeyPairs = "DescribeKeyPairs"
17029
17030// DescribeKeyPairsRequest generates a "aws/request.Request" representing the
17031// client's request for the DescribeKeyPairs operation. The "output" return
17032// value will be populated with the request's response once the request completes
17033// successfully.
17034//
17035// Use "Send" method on the returned Request to send the API call to the service.
17036// the "output" return value is not valid until after Send returns without error.
17037//
17038// See DescribeKeyPairs for more information on using the DescribeKeyPairs
17039// API call, and error handling.
17040//
17041// This method is useful when you want to inject custom logic or configuration
17042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17043//
17044//
17045//    // Example sending a request using the DescribeKeyPairsRequest method.
17046//    req, resp := client.DescribeKeyPairsRequest(params)
17047//
17048//    err := req.Send()
17049//    if err == nil { // resp is now filled
17050//        fmt.Println(resp)
17051//    }
17052//
17053// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
17054func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
17055	op := &request.Operation{
17056		Name:       opDescribeKeyPairs,
17057		HTTPMethod: "POST",
17058		HTTPPath:   "/",
17059	}
17060
17061	if input == nil {
17062		input = &DescribeKeyPairsInput{}
17063	}
17064
17065	output = &DescribeKeyPairsOutput{}
17066	req = c.newRequest(op, input, output)
17067	return
17068}
17069
17070// DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
17071//
17072// Describes the specified key pairs or all of your key pairs.
17073//
17074// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
17075// in the Amazon Elastic Compute Cloud User Guide.
17076//
17077// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17078// with awserr.Error's Code and Message methods to get detailed information about
17079// the error.
17080//
17081// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17082// API operation DescribeKeyPairs for usage and error information.
17083// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
17084func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
17085	req, out := c.DescribeKeyPairsRequest(input)
17086	return out, req.Send()
17087}
17088
17089// DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
17090// the ability to pass a context and additional request options.
17091//
17092// See DescribeKeyPairs for details on how to use this API operation.
17093//
17094// The context must be non-nil and will be used for request cancellation. If
17095// the context is nil a panic will occur. In the future the SDK may create
17096// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17097// for more information on using Contexts.
17098func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
17099	req, out := c.DescribeKeyPairsRequest(input)
17100	req.SetContext(ctx)
17101	req.ApplyOptions(opts...)
17102	return out, req.Send()
17103}
17104
17105const opDescribeLaunchTemplateVersions = "DescribeLaunchTemplateVersions"
17106
17107// DescribeLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
17108// client's request for the DescribeLaunchTemplateVersions operation. The "output" return
17109// value will be populated with the request's response once the request completes
17110// successfully.
17111//
17112// Use "Send" method on the returned Request to send the API call to the service.
17113// the "output" return value is not valid until after Send returns without error.
17114//
17115// See DescribeLaunchTemplateVersions for more information on using the DescribeLaunchTemplateVersions
17116// API call, and error handling.
17117//
17118// This method is useful when you want to inject custom logic or configuration
17119// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17120//
17121//
17122//    // Example sending a request using the DescribeLaunchTemplateVersionsRequest method.
17123//    req, resp := client.DescribeLaunchTemplateVersionsRequest(params)
17124//
17125//    err := req.Send()
17126//    if err == nil { // resp is now filled
17127//        fmt.Println(resp)
17128//    }
17129//
17130// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
17131func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplateVersionsInput) (req *request.Request, output *DescribeLaunchTemplateVersionsOutput) {
17132	op := &request.Operation{
17133		Name:       opDescribeLaunchTemplateVersions,
17134		HTTPMethod: "POST",
17135		HTTPPath:   "/",
17136		Paginator: &request.Paginator{
17137			InputTokens:     []string{"NextToken"},
17138			OutputTokens:    []string{"NextToken"},
17139			LimitToken:      "MaxResults",
17140			TruncationToken: "",
17141		},
17142	}
17143
17144	if input == nil {
17145		input = &DescribeLaunchTemplateVersionsInput{}
17146	}
17147
17148	output = &DescribeLaunchTemplateVersionsOutput{}
17149	req = c.newRequest(op, input, output)
17150	return
17151}
17152
17153// DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
17154//
17155// Describes one or more versions of a specified launch template. You can describe
17156// all versions, individual versions, or a range of versions.
17157//
17158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17159// with awserr.Error's Code and Message methods to get detailed information about
17160// the error.
17161//
17162// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17163// API operation DescribeLaunchTemplateVersions for usage and error information.
17164// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
17165func (c *EC2) DescribeLaunchTemplateVersions(input *DescribeLaunchTemplateVersionsInput) (*DescribeLaunchTemplateVersionsOutput, error) {
17166	req, out := c.DescribeLaunchTemplateVersionsRequest(input)
17167	return out, req.Send()
17168}
17169
17170// DescribeLaunchTemplateVersionsWithContext is the same as DescribeLaunchTemplateVersions with the addition of
17171// the ability to pass a context and additional request options.
17172//
17173// See DescribeLaunchTemplateVersions for details on how to use this API operation.
17174//
17175// The context must be non-nil and will be used for request cancellation. If
17176// the context is nil a panic will occur. In the future the SDK may create
17177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17178// for more information on using Contexts.
17179func (c *EC2) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, opts ...request.Option) (*DescribeLaunchTemplateVersionsOutput, error) {
17180	req, out := c.DescribeLaunchTemplateVersionsRequest(input)
17181	req.SetContext(ctx)
17182	req.ApplyOptions(opts...)
17183	return out, req.Send()
17184}
17185
17186// DescribeLaunchTemplateVersionsPages iterates over the pages of a DescribeLaunchTemplateVersions operation,
17187// calling the "fn" function with the response data for each page. To stop
17188// iterating, return false from the fn function.
17189//
17190// See DescribeLaunchTemplateVersions method for more information on how to use this operation.
17191//
17192// Note: This operation can generate multiple requests to a service.
17193//
17194//    // Example iterating over at most 3 pages of a DescribeLaunchTemplateVersions operation.
17195//    pageNum := 0
17196//    err := client.DescribeLaunchTemplateVersionsPages(params,
17197//        func(page *ec2.DescribeLaunchTemplateVersionsOutput, lastPage bool) bool {
17198//            pageNum++
17199//            fmt.Println(page)
17200//            return pageNum <= 3
17201//        })
17202//
17203func (c *EC2) DescribeLaunchTemplateVersionsPages(input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool) error {
17204	return c.DescribeLaunchTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
17205}
17206
17207// DescribeLaunchTemplateVersionsPagesWithContext same as DescribeLaunchTemplateVersionsPages except
17208// it takes a Context and allows setting request options on the pages.
17209//
17210// The context must be non-nil and will be used for request cancellation. If
17211// the context is nil a panic will occur. In the future the SDK may create
17212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17213// for more information on using Contexts.
17214func (c *EC2) DescribeLaunchTemplateVersionsPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool, opts ...request.Option) error {
17215	p := request.Pagination{
17216		NewRequest: func() (*request.Request, error) {
17217			var inCpy *DescribeLaunchTemplateVersionsInput
17218			if input != nil {
17219				tmp := *input
17220				inCpy = &tmp
17221			}
17222			req, _ := c.DescribeLaunchTemplateVersionsRequest(inCpy)
17223			req.SetContext(ctx)
17224			req.ApplyOptions(opts...)
17225			return req, nil
17226		},
17227	}
17228
17229	for p.Next() {
17230		if !fn(p.Page().(*DescribeLaunchTemplateVersionsOutput), !p.HasNextPage()) {
17231			break
17232		}
17233	}
17234
17235	return p.Err()
17236}
17237
17238const opDescribeLaunchTemplates = "DescribeLaunchTemplates"
17239
17240// DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the
17241// client's request for the DescribeLaunchTemplates operation. The "output" return
17242// value will be populated with the request's response once the request completes
17243// successfully.
17244//
17245// Use "Send" method on the returned Request to send the API call to the service.
17246// the "output" return value is not valid until after Send returns without error.
17247//
17248// See DescribeLaunchTemplates for more information on using the DescribeLaunchTemplates
17249// API call, and error handling.
17250//
17251// This method is useful when you want to inject custom logic or configuration
17252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17253//
17254//
17255//    // Example sending a request using the DescribeLaunchTemplatesRequest method.
17256//    req, resp := client.DescribeLaunchTemplatesRequest(params)
17257//
17258//    err := req.Send()
17259//    if err == nil { // resp is now filled
17260//        fmt.Println(resp)
17261//    }
17262//
17263// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
17264func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput) (req *request.Request, output *DescribeLaunchTemplatesOutput) {
17265	op := &request.Operation{
17266		Name:       opDescribeLaunchTemplates,
17267		HTTPMethod: "POST",
17268		HTTPPath:   "/",
17269		Paginator: &request.Paginator{
17270			InputTokens:     []string{"NextToken"},
17271			OutputTokens:    []string{"NextToken"},
17272			LimitToken:      "MaxResults",
17273			TruncationToken: "",
17274		},
17275	}
17276
17277	if input == nil {
17278		input = &DescribeLaunchTemplatesInput{}
17279	}
17280
17281	output = &DescribeLaunchTemplatesOutput{}
17282	req = c.newRequest(op, input, output)
17283	return
17284}
17285
17286// DescribeLaunchTemplates API operation for Amazon Elastic Compute Cloud.
17287//
17288// Describes one or more launch templates.
17289//
17290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17291// with awserr.Error's Code and Message methods to get detailed information about
17292// the error.
17293//
17294// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17295// API operation DescribeLaunchTemplates for usage and error information.
17296// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
17297func (c *EC2) DescribeLaunchTemplates(input *DescribeLaunchTemplatesInput) (*DescribeLaunchTemplatesOutput, error) {
17298	req, out := c.DescribeLaunchTemplatesRequest(input)
17299	return out, req.Send()
17300}
17301
17302// DescribeLaunchTemplatesWithContext is the same as DescribeLaunchTemplates with the addition of
17303// the ability to pass a context and additional request options.
17304//
17305// See DescribeLaunchTemplates for details on how to use this API operation.
17306//
17307// The context must be non-nil and will be used for request cancellation. If
17308// the context is nil a panic will occur. In the future the SDK may create
17309// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17310// for more information on using Contexts.
17311func (c *EC2) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, opts ...request.Option) (*DescribeLaunchTemplatesOutput, error) {
17312	req, out := c.DescribeLaunchTemplatesRequest(input)
17313	req.SetContext(ctx)
17314	req.ApplyOptions(opts...)
17315	return out, req.Send()
17316}
17317
17318// DescribeLaunchTemplatesPages iterates over the pages of a DescribeLaunchTemplates operation,
17319// calling the "fn" function with the response data for each page. To stop
17320// iterating, return false from the fn function.
17321//
17322// See DescribeLaunchTemplates method for more information on how to use this operation.
17323//
17324// Note: This operation can generate multiple requests to a service.
17325//
17326//    // Example iterating over at most 3 pages of a DescribeLaunchTemplates operation.
17327//    pageNum := 0
17328//    err := client.DescribeLaunchTemplatesPages(params,
17329//        func(page *ec2.DescribeLaunchTemplatesOutput, lastPage bool) bool {
17330//            pageNum++
17331//            fmt.Println(page)
17332//            return pageNum <= 3
17333//        })
17334//
17335func (c *EC2) DescribeLaunchTemplatesPages(input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool) error {
17336	return c.DescribeLaunchTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
17337}
17338
17339// DescribeLaunchTemplatesPagesWithContext same as DescribeLaunchTemplatesPages except
17340// it takes a Context and allows setting request options on the pages.
17341//
17342// The context must be non-nil and will be used for request cancellation. If
17343// the context is nil a panic will occur. In the future the SDK may create
17344// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17345// for more information on using Contexts.
17346func (c *EC2) DescribeLaunchTemplatesPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool, opts ...request.Option) error {
17347	p := request.Pagination{
17348		NewRequest: func() (*request.Request, error) {
17349			var inCpy *DescribeLaunchTemplatesInput
17350			if input != nil {
17351				tmp := *input
17352				inCpy = &tmp
17353			}
17354			req, _ := c.DescribeLaunchTemplatesRequest(inCpy)
17355			req.SetContext(ctx)
17356			req.ApplyOptions(opts...)
17357			return req, nil
17358		},
17359	}
17360
17361	for p.Next() {
17362		if !fn(p.Page().(*DescribeLaunchTemplatesOutput), !p.HasNextPage()) {
17363			break
17364		}
17365	}
17366
17367	return p.Err()
17368}
17369
17370const opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations = "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations"
17371
17372// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest generates a "aws/request.Request" representing the
17373// client's request for the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation. The "output" return
17374// value will be populated with the request's response once the request completes
17375// successfully.
17376//
17377// Use "Send" method on the returned Request to send the API call to the service.
17378// the "output" return value is not valid until after Send returns without error.
17379//
17380// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for more information on using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
17381// API call, and error handling.
17382//
17383// This method is useful when you want to inject custom logic or configuration
17384// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17385//
17386//
17387//    // Example sending a request using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest method.
17388//    req, resp := client.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(params)
17389//
17390//    err := req.Send()
17391//    if err == nil { // resp is now filled
17392//        fmt.Println(resp)
17393//    }
17394//
17395// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
17396func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) {
17397	op := &request.Operation{
17398		Name:       opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations,
17399		HTTPMethod: "POST",
17400		HTTPPath:   "/",
17401		Paginator: &request.Paginator{
17402			InputTokens:     []string{"NextToken"},
17403			OutputTokens:    []string{"NextToken"},
17404			LimitToken:      "MaxResults",
17405			TruncationToken: "",
17406		},
17407	}
17408
17409	if input == nil {
17410		input = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput{}
17411	}
17412
17413	output = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput{}
17414	req = c.newRequest(op, input, output)
17415	return
17416}
17417
17418// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations API operation for Amazon Elastic Compute Cloud.
17419//
17420// Describes the associations between virtual interface groups and local gateway
17421// route tables.
17422//
17423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17424// with awserr.Error's Code and Message methods to get detailed information about
17425// the error.
17426//
17427// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17428// API operation DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for usage and error information.
17429// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
17430func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
17431	req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
17432	return out, req.Send()
17433}
17434
17435// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations with the addition of
17436// the ability to pass a context and additional request options.
17437//
17438// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for details on how to use this API operation.
17439//
17440// The context must be non-nil and will be used for request cancellation. If
17441// the context is nil a panic will occur. In the future the SDK may create
17442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17443// for more information on using Contexts.
17444func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
17445	req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
17446	req.SetContext(ctx)
17447	req.ApplyOptions(opts...)
17448	return out, req.Send()
17449}
17450
17451// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages iterates over the pages of a DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation,
17452// calling the "fn" function with the response data for each page. To stop
17453// iterating, return false from the fn function.
17454//
17455// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations method for more information on how to use this operation.
17456//
17457// Note: This operation can generate multiple requests to a service.
17458//
17459//    // Example iterating over at most 3 pages of a DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation.
17460//    pageNum := 0
17461//    err := client.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages(params,
17462//        func(page *ec2.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, lastPage bool) bool {
17463//            pageNum++
17464//            fmt.Println(page)
17465//            return pageNum <= 3
17466//        })
17467//
17468func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, bool) bool) error {
17469	return c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
17470}
17471
17472// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPagesWithContext same as DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPages except
17473// it takes a Context and allows setting request options on the pages.
17474//
17475// The context must be non-nil and will be used for request cancellation. If
17476// the context is nil a panic will occur. In the future the SDK may create
17477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17478// for more information on using Contexts.
17479func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, bool) bool, opts ...request.Option) error {
17480	p := request.Pagination{
17481		NewRequest: func() (*request.Request, error) {
17482			var inCpy *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput
17483			if input != nil {
17484				tmp := *input
17485				inCpy = &tmp
17486			}
17487			req, _ := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(inCpy)
17488			req.SetContext(ctx)
17489			req.ApplyOptions(opts...)
17490			return req, nil
17491		},
17492	}
17493
17494	for p.Next() {
17495		if !fn(p.Page().(*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput), !p.HasNextPage()) {
17496			break
17497		}
17498	}
17499
17500	return p.Err()
17501}
17502
17503const opDescribeLocalGatewayRouteTableVpcAssociations = "DescribeLocalGatewayRouteTableVpcAssociations"
17504
17505// DescribeLocalGatewayRouteTableVpcAssociationsRequest generates a "aws/request.Request" representing the
17506// client's request for the DescribeLocalGatewayRouteTableVpcAssociations operation. The "output" return
17507// value will be populated with the request's response once the request completes
17508// successfully.
17509//
17510// Use "Send" method on the returned Request to send the API call to the service.
17511// the "output" return value is not valid until after Send returns without error.
17512//
17513// See DescribeLocalGatewayRouteTableVpcAssociations for more information on using the DescribeLocalGatewayRouteTableVpcAssociations
17514// API call, and error handling.
17515//
17516// This method is useful when you want to inject custom logic or configuration
17517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17518//
17519//
17520//    // Example sending a request using the DescribeLocalGatewayRouteTableVpcAssociationsRequest method.
17521//    req, resp := client.DescribeLocalGatewayRouteTableVpcAssociationsRequest(params)
17522//
17523//    err := req.Send()
17524//    if err == nil { // resp is now filled
17525//        fmt.Println(resp)
17526//    }
17527//
17528// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
17529func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsRequest(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVpcAssociationsOutput) {
17530	op := &request.Operation{
17531		Name:       opDescribeLocalGatewayRouteTableVpcAssociations,
17532		HTTPMethod: "POST",
17533		HTTPPath:   "/",
17534		Paginator: &request.Paginator{
17535			InputTokens:     []string{"NextToken"},
17536			OutputTokens:    []string{"NextToken"},
17537			LimitToken:      "MaxResults",
17538			TruncationToken: "",
17539		},
17540	}
17541
17542	if input == nil {
17543		input = &DescribeLocalGatewayRouteTableVpcAssociationsInput{}
17544	}
17545
17546	output = &DescribeLocalGatewayRouteTableVpcAssociationsOutput{}
17547	req = c.newRequest(op, input, output)
17548	return
17549}
17550
17551// DescribeLocalGatewayRouteTableVpcAssociations API operation for Amazon Elastic Compute Cloud.
17552//
17553// Describes the specified associations between VPCs and local gateway route
17554// tables.
17555//
17556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17557// with awserr.Error's Code and Message methods to get detailed information about
17558// the error.
17559//
17560// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17561// API operation DescribeLocalGatewayRouteTableVpcAssociations for usage and error information.
17562// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
17563func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociations(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
17564	req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
17565	return out, req.Send()
17566}
17567
17568// DescribeLocalGatewayRouteTableVpcAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVpcAssociations with the addition of
17569// the ability to pass a context and additional request options.
17570//
17571// See DescribeLocalGatewayRouteTableVpcAssociations for details on how to use this API operation.
17572//
17573// The context must be non-nil and will be used for request cancellation. If
17574// the context is nil a panic will occur. In the future the SDK may create
17575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17576// for more information on using Contexts.
17577func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVpcAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
17578	req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
17579	req.SetContext(ctx)
17580	req.ApplyOptions(opts...)
17581	return out, req.Send()
17582}
17583
17584// DescribeLocalGatewayRouteTableVpcAssociationsPages iterates over the pages of a DescribeLocalGatewayRouteTableVpcAssociations operation,
17585// calling the "fn" function with the response data for each page. To stop
17586// iterating, return false from the fn function.
17587//
17588// See DescribeLocalGatewayRouteTableVpcAssociations method for more information on how to use this operation.
17589//
17590// Note: This operation can generate multiple requests to a service.
17591//
17592//    // Example iterating over at most 3 pages of a DescribeLocalGatewayRouteTableVpcAssociations operation.
17593//    pageNum := 0
17594//    err := client.DescribeLocalGatewayRouteTableVpcAssociationsPages(params,
17595//        func(page *ec2.DescribeLocalGatewayRouteTableVpcAssociationsOutput, lastPage bool) bool {
17596//            pageNum++
17597//            fmt.Println(page)
17598//            return pageNum <= 3
17599//        })
17600//
17601func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsPages(input *DescribeLocalGatewayRouteTableVpcAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVpcAssociationsOutput, bool) bool) error {
17602	return c.DescribeLocalGatewayRouteTableVpcAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
17603}
17604
17605// DescribeLocalGatewayRouteTableVpcAssociationsPagesWithContext same as DescribeLocalGatewayRouteTableVpcAssociationsPages except
17606// it takes a Context and allows setting request options on the pages.
17607//
17608// The context must be non-nil and will be used for request cancellation. If
17609// the context is nil a panic will occur. In the future the SDK may create
17610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17611// for more information on using Contexts.
17612func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVpcAssociationsInput, fn func(*DescribeLocalGatewayRouteTableVpcAssociationsOutput, bool) bool, opts ...request.Option) error {
17613	p := request.Pagination{
17614		NewRequest: func() (*request.Request, error) {
17615			var inCpy *DescribeLocalGatewayRouteTableVpcAssociationsInput
17616			if input != nil {
17617				tmp := *input
17618				inCpy = &tmp
17619			}
17620			req, _ := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(inCpy)
17621			req.SetContext(ctx)
17622			req.ApplyOptions(opts...)
17623			return req, nil
17624		},
17625	}
17626
17627	for p.Next() {
17628		if !fn(p.Page().(*DescribeLocalGatewayRouteTableVpcAssociationsOutput), !p.HasNextPage()) {
17629			break
17630		}
17631	}
17632
17633	return p.Err()
17634}
17635
17636const opDescribeLocalGatewayRouteTables = "DescribeLocalGatewayRouteTables"
17637
17638// DescribeLocalGatewayRouteTablesRequest generates a "aws/request.Request" representing the
17639// client's request for the DescribeLocalGatewayRouteTables operation. The "output" return
17640// value will be populated with the request's response once the request completes
17641// successfully.
17642//
17643// Use "Send" method on the returned Request to send the API call to the service.
17644// the "output" return value is not valid until after Send returns without error.
17645//
17646// See DescribeLocalGatewayRouteTables for more information on using the DescribeLocalGatewayRouteTables
17647// API call, and error handling.
17648//
17649// This method is useful when you want to inject custom logic or configuration
17650// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17651//
17652//
17653//    // Example sending a request using the DescribeLocalGatewayRouteTablesRequest method.
17654//    req, resp := client.DescribeLocalGatewayRouteTablesRequest(params)
17655//
17656//    err := req.Send()
17657//    if err == nil { // resp is now filled
17658//        fmt.Println(resp)
17659//    }
17660//
17661// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
17662func (c *EC2) DescribeLocalGatewayRouteTablesRequest(input *DescribeLocalGatewayRouteTablesInput) (req *request.Request, output *DescribeLocalGatewayRouteTablesOutput) {
17663	op := &request.Operation{
17664		Name:       opDescribeLocalGatewayRouteTables,
17665		HTTPMethod: "POST",
17666		HTTPPath:   "/",
17667		Paginator: &request.Paginator{
17668			InputTokens:     []string{"NextToken"},
17669			OutputTokens:    []string{"NextToken"},
17670			LimitToken:      "MaxResults",
17671			TruncationToken: "",
17672		},
17673	}
17674
17675	if input == nil {
17676		input = &DescribeLocalGatewayRouteTablesInput{}
17677	}
17678
17679	output = &DescribeLocalGatewayRouteTablesOutput{}
17680	req = c.newRequest(op, input, output)
17681	return
17682}
17683
17684// DescribeLocalGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
17685//
17686// Describes one or more local gateway route tables. By default, all local gateway
17687// route tables are described. Alternatively, you can filter the results.
17688//
17689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17690// with awserr.Error's Code and Message methods to get detailed information about
17691// the error.
17692//
17693// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17694// API operation DescribeLocalGatewayRouteTables for usage and error information.
17695// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
17696func (c *EC2) DescribeLocalGatewayRouteTables(input *DescribeLocalGatewayRouteTablesInput) (*DescribeLocalGatewayRouteTablesOutput, error) {
17697	req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
17698	return out, req.Send()
17699}
17700
17701// DescribeLocalGatewayRouteTablesWithContext is the same as DescribeLocalGatewayRouteTables with the addition of
17702// the ability to pass a context and additional request options.
17703//
17704// See DescribeLocalGatewayRouteTables for details on how to use this API operation.
17705//
17706// The context must be non-nil and will be used for request cancellation. If
17707// the context is nil a panic will occur. In the future the SDK may create
17708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17709// for more information on using Contexts.
17710func (c *EC2) DescribeLocalGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTablesInput, opts ...request.Option) (*DescribeLocalGatewayRouteTablesOutput, error) {
17711	req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
17712	req.SetContext(ctx)
17713	req.ApplyOptions(opts...)
17714	return out, req.Send()
17715}
17716
17717// DescribeLocalGatewayRouteTablesPages iterates over the pages of a DescribeLocalGatewayRouteTables operation,
17718// calling the "fn" function with the response data for each page. To stop
17719// iterating, return false from the fn function.
17720//
17721// See DescribeLocalGatewayRouteTables method for more information on how to use this operation.
17722//
17723// Note: This operation can generate multiple requests to a service.
17724//
17725//    // Example iterating over at most 3 pages of a DescribeLocalGatewayRouteTables operation.
17726//    pageNum := 0
17727//    err := client.DescribeLocalGatewayRouteTablesPages(params,
17728//        func(page *ec2.DescribeLocalGatewayRouteTablesOutput, lastPage bool) bool {
17729//            pageNum++
17730//            fmt.Println(page)
17731//            return pageNum <= 3
17732//        })
17733//
17734func (c *EC2) DescribeLocalGatewayRouteTablesPages(input *DescribeLocalGatewayRouteTablesInput, fn func(*DescribeLocalGatewayRouteTablesOutput, bool) bool) error {
17735	return c.DescribeLocalGatewayRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
17736}
17737
17738// DescribeLocalGatewayRouteTablesPagesWithContext same as DescribeLocalGatewayRouteTablesPages except
17739// it takes a Context and allows setting request options on the pages.
17740//
17741// The context must be non-nil and will be used for request cancellation. If
17742// the context is nil a panic will occur. In the future the SDK may create
17743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17744// for more information on using Contexts.
17745func (c *EC2) DescribeLocalGatewayRouteTablesPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTablesInput, fn func(*DescribeLocalGatewayRouteTablesOutput, bool) bool, opts ...request.Option) error {
17746	p := request.Pagination{
17747		NewRequest: func() (*request.Request, error) {
17748			var inCpy *DescribeLocalGatewayRouteTablesInput
17749			if input != nil {
17750				tmp := *input
17751				inCpy = &tmp
17752			}
17753			req, _ := c.DescribeLocalGatewayRouteTablesRequest(inCpy)
17754			req.SetContext(ctx)
17755			req.ApplyOptions(opts...)
17756			return req, nil
17757		},
17758	}
17759
17760	for p.Next() {
17761		if !fn(p.Page().(*DescribeLocalGatewayRouteTablesOutput), !p.HasNextPage()) {
17762			break
17763		}
17764	}
17765
17766	return p.Err()
17767}
17768
17769const opDescribeLocalGatewayVirtualInterfaceGroups = "DescribeLocalGatewayVirtualInterfaceGroups"
17770
17771// DescribeLocalGatewayVirtualInterfaceGroupsRequest generates a "aws/request.Request" representing the
17772// client's request for the DescribeLocalGatewayVirtualInterfaceGroups operation. The "output" return
17773// value will be populated with the request's response once the request completes
17774// successfully.
17775//
17776// Use "Send" method on the returned Request to send the API call to the service.
17777// the "output" return value is not valid until after Send returns without error.
17778//
17779// See DescribeLocalGatewayVirtualInterfaceGroups for more information on using the DescribeLocalGatewayVirtualInterfaceGroups
17780// API call, and error handling.
17781//
17782// This method is useful when you want to inject custom logic or configuration
17783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17784//
17785//
17786//    // Example sending a request using the DescribeLocalGatewayVirtualInterfaceGroupsRequest method.
17787//    req, resp := client.DescribeLocalGatewayVirtualInterfaceGroupsRequest(params)
17788//
17789//    err := req.Send()
17790//    if err == nil { // resp is now filled
17791//        fmt.Println(resp)
17792//    }
17793//
17794// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
17795func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsRequest(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfaceGroupsOutput) {
17796	op := &request.Operation{
17797		Name:       opDescribeLocalGatewayVirtualInterfaceGroups,
17798		HTTPMethod: "POST",
17799		HTTPPath:   "/",
17800		Paginator: &request.Paginator{
17801			InputTokens:     []string{"NextToken"},
17802			OutputTokens:    []string{"NextToken"},
17803			LimitToken:      "MaxResults",
17804			TruncationToken: "",
17805		},
17806	}
17807
17808	if input == nil {
17809		input = &DescribeLocalGatewayVirtualInterfaceGroupsInput{}
17810	}
17811
17812	output = &DescribeLocalGatewayVirtualInterfaceGroupsOutput{}
17813	req = c.newRequest(op, input, output)
17814	return
17815}
17816
17817// DescribeLocalGatewayVirtualInterfaceGroups API operation for Amazon Elastic Compute Cloud.
17818//
17819// Describes the specified local gateway virtual interface groups.
17820//
17821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17822// with awserr.Error's Code and Message methods to get detailed information about
17823// the error.
17824//
17825// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17826// API operation DescribeLocalGatewayVirtualInterfaceGroups for usage and error information.
17827// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
17828func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroups(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
17829	req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
17830	return out, req.Send()
17831}
17832
17833// DescribeLocalGatewayVirtualInterfaceGroupsWithContext is the same as DescribeLocalGatewayVirtualInterfaceGroups with the addition of
17834// the ability to pass a context and additional request options.
17835//
17836// See DescribeLocalGatewayVirtualInterfaceGroups for details on how to use this API operation.
17837//
17838// The context must be non-nil and will be used for request cancellation. If
17839// the context is nil a panic will occur. In the future the SDK may create
17840// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17841// for more information on using Contexts.
17842func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfaceGroupsInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
17843	req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
17844	req.SetContext(ctx)
17845	req.ApplyOptions(opts...)
17846	return out, req.Send()
17847}
17848
17849// DescribeLocalGatewayVirtualInterfaceGroupsPages iterates over the pages of a DescribeLocalGatewayVirtualInterfaceGroups operation,
17850// calling the "fn" function with the response data for each page. To stop
17851// iterating, return false from the fn function.
17852//
17853// See DescribeLocalGatewayVirtualInterfaceGroups method for more information on how to use this operation.
17854//
17855// Note: This operation can generate multiple requests to a service.
17856//
17857//    // Example iterating over at most 3 pages of a DescribeLocalGatewayVirtualInterfaceGroups operation.
17858//    pageNum := 0
17859//    err := client.DescribeLocalGatewayVirtualInterfaceGroupsPages(params,
17860//        func(page *ec2.DescribeLocalGatewayVirtualInterfaceGroupsOutput, lastPage bool) bool {
17861//            pageNum++
17862//            fmt.Println(page)
17863//            return pageNum <= 3
17864//        })
17865//
17866func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsPages(input *DescribeLocalGatewayVirtualInterfaceGroupsInput, fn func(*DescribeLocalGatewayVirtualInterfaceGroupsOutput, bool) bool) error {
17867	return c.DescribeLocalGatewayVirtualInterfaceGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
17868}
17869
17870// DescribeLocalGatewayVirtualInterfaceGroupsPagesWithContext same as DescribeLocalGatewayVirtualInterfaceGroupsPages except
17871// it takes a Context and allows setting request options on the pages.
17872//
17873// The context must be non-nil and will be used for request cancellation. If
17874// the context is nil a panic will occur. In the future the SDK may create
17875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17876// for more information on using Contexts.
17877func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfaceGroupsInput, fn func(*DescribeLocalGatewayVirtualInterfaceGroupsOutput, bool) bool, opts ...request.Option) error {
17878	p := request.Pagination{
17879		NewRequest: func() (*request.Request, error) {
17880			var inCpy *DescribeLocalGatewayVirtualInterfaceGroupsInput
17881			if input != nil {
17882				tmp := *input
17883				inCpy = &tmp
17884			}
17885			req, _ := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(inCpy)
17886			req.SetContext(ctx)
17887			req.ApplyOptions(opts...)
17888			return req, nil
17889		},
17890	}
17891
17892	for p.Next() {
17893		if !fn(p.Page().(*DescribeLocalGatewayVirtualInterfaceGroupsOutput), !p.HasNextPage()) {
17894			break
17895		}
17896	}
17897
17898	return p.Err()
17899}
17900
17901const opDescribeLocalGatewayVirtualInterfaces = "DescribeLocalGatewayVirtualInterfaces"
17902
17903// DescribeLocalGatewayVirtualInterfacesRequest generates a "aws/request.Request" representing the
17904// client's request for the DescribeLocalGatewayVirtualInterfaces operation. The "output" return
17905// value will be populated with the request's response once the request completes
17906// successfully.
17907//
17908// Use "Send" method on the returned Request to send the API call to the service.
17909// the "output" return value is not valid until after Send returns without error.
17910//
17911// See DescribeLocalGatewayVirtualInterfaces for more information on using the DescribeLocalGatewayVirtualInterfaces
17912// API call, and error handling.
17913//
17914// This method is useful when you want to inject custom logic or configuration
17915// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17916//
17917//
17918//    // Example sending a request using the DescribeLocalGatewayVirtualInterfacesRequest method.
17919//    req, resp := client.DescribeLocalGatewayVirtualInterfacesRequest(params)
17920//
17921//    err := req.Send()
17922//    if err == nil { // resp is now filled
17923//        fmt.Println(resp)
17924//    }
17925//
17926// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
17927func (c *EC2) DescribeLocalGatewayVirtualInterfacesRequest(input *DescribeLocalGatewayVirtualInterfacesInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfacesOutput) {
17928	op := &request.Operation{
17929		Name:       opDescribeLocalGatewayVirtualInterfaces,
17930		HTTPMethod: "POST",
17931		HTTPPath:   "/",
17932		Paginator: &request.Paginator{
17933			InputTokens:     []string{"NextToken"},
17934			OutputTokens:    []string{"NextToken"},
17935			LimitToken:      "MaxResults",
17936			TruncationToken: "",
17937		},
17938	}
17939
17940	if input == nil {
17941		input = &DescribeLocalGatewayVirtualInterfacesInput{}
17942	}
17943
17944	output = &DescribeLocalGatewayVirtualInterfacesOutput{}
17945	req = c.newRequest(op, input, output)
17946	return
17947}
17948
17949// DescribeLocalGatewayVirtualInterfaces API operation for Amazon Elastic Compute Cloud.
17950//
17951// Describes the specified local gateway virtual interfaces.
17952//
17953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17954// with awserr.Error's Code and Message methods to get detailed information about
17955// the error.
17956//
17957// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17958// API operation DescribeLocalGatewayVirtualInterfaces for usage and error information.
17959// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
17960func (c *EC2) DescribeLocalGatewayVirtualInterfaces(input *DescribeLocalGatewayVirtualInterfacesInput) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
17961	req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
17962	return out, req.Send()
17963}
17964
17965// DescribeLocalGatewayVirtualInterfacesWithContext is the same as DescribeLocalGatewayVirtualInterfaces with the addition of
17966// the ability to pass a context and additional request options.
17967//
17968// See DescribeLocalGatewayVirtualInterfaces for details on how to use this API operation.
17969//
17970// The context must be non-nil and will be used for request cancellation. If
17971// the context is nil a panic will occur. In the future the SDK may create
17972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17973// for more information on using Contexts.
17974func (c *EC2) DescribeLocalGatewayVirtualInterfacesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfacesInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
17975	req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
17976	req.SetContext(ctx)
17977	req.ApplyOptions(opts...)
17978	return out, req.Send()
17979}
17980
17981// DescribeLocalGatewayVirtualInterfacesPages iterates over the pages of a DescribeLocalGatewayVirtualInterfaces operation,
17982// calling the "fn" function with the response data for each page. To stop
17983// iterating, return false from the fn function.
17984//
17985// See DescribeLocalGatewayVirtualInterfaces method for more information on how to use this operation.
17986//
17987// Note: This operation can generate multiple requests to a service.
17988//
17989//    // Example iterating over at most 3 pages of a DescribeLocalGatewayVirtualInterfaces operation.
17990//    pageNum := 0
17991//    err := client.DescribeLocalGatewayVirtualInterfacesPages(params,
17992//        func(page *ec2.DescribeLocalGatewayVirtualInterfacesOutput, lastPage bool) bool {
17993//            pageNum++
17994//            fmt.Println(page)
17995//            return pageNum <= 3
17996//        })
17997//
17998func (c *EC2) DescribeLocalGatewayVirtualInterfacesPages(input *DescribeLocalGatewayVirtualInterfacesInput, fn func(*DescribeLocalGatewayVirtualInterfacesOutput, bool) bool) error {
17999	return c.DescribeLocalGatewayVirtualInterfacesPagesWithContext(aws.BackgroundContext(), input, fn)
18000}
18001
18002// DescribeLocalGatewayVirtualInterfacesPagesWithContext same as DescribeLocalGatewayVirtualInterfacesPages except
18003// it takes a Context and allows setting request options on the pages.
18004//
18005// The context must be non-nil and will be used for request cancellation. If
18006// the context is nil a panic will occur. In the future the SDK may create
18007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18008// for more information on using Contexts.
18009func (c *EC2) DescribeLocalGatewayVirtualInterfacesPagesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfacesInput, fn func(*DescribeLocalGatewayVirtualInterfacesOutput, bool) bool, opts ...request.Option) error {
18010	p := request.Pagination{
18011		NewRequest: func() (*request.Request, error) {
18012			var inCpy *DescribeLocalGatewayVirtualInterfacesInput
18013			if input != nil {
18014				tmp := *input
18015				inCpy = &tmp
18016			}
18017			req, _ := c.DescribeLocalGatewayVirtualInterfacesRequest(inCpy)
18018			req.SetContext(ctx)
18019			req.ApplyOptions(opts...)
18020			return req, nil
18021		},
18022	}
18023
18024	for p.Next() {
18025		if !fn(p.Page().(*DescribeLocalGatewayVirtualInterfacesOutput), !p.HasNextPage()) {
18026			break
18027		}
18028	}
18029
18030	return p.Err()
18031}
18032
18033const opDescribeLocalGateways = "DescribeLocalGateways"
18034
18035// DescribeLocalGatewaysRequest generates a "aws/request.Request" representing the
18036// client's request for the DescribeLocalGateways operation. The "output" return
18037// value will be populated with the request's response once the request completes
18038// successfully.
18039//
18040// Use "Send" method on the returned Request to send the API call to the service.
18041// the "output" return value is not valid until after Send returns without error.
18042//
18043// See DescribeLocalGateways for more information on using the DescribeLocalGateways
18044// API call, and error handling.
18045//
18046// This method is useful when you want to inject custom logic or configuration
18047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18048//
18049//
18050//    // Example sending a request using the DescribeLocalGatewaysRequest method.
18051//    req, resp := client.DescribeLocalGatewaysRequest(params)
18052//
18053//    err := req.Send()
18054//    if err == nil { // resp is now filled
18055//        fmt.Println(resp)
18056//    }
18057//
18058// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
18059func (c *EC2) DescribeLocalGatewaysRequest(input *DescribeLocalGatewaysInput) (req *request.Request, output *DescribeLocalGatewaysOutput) {
18060	op := &request.Operation{
18061		Name:       opDescribeLocalGateways,
18062		HTTPMethod: "POST",
18063		HTTPPath:   "/",
18064		Paginator: &request.Paginator{
18065			InputTokens:     []string{"NextToken"},
18066			OutputTokens:    []string{"NextToken"},
18067			LimitToken:      "MaxResults",
18068			TruncationToken: "",
18069		},
18070	}
18071
18072	if input == nil {
18073		input = &DescribeLocalGatewaysInput{}
18074	}
18075
18076	output = &DescribeLocalGatewaysOutput{}
18077	req = c.newRequest(op, input, output)
18078	return
18079}
18080
18081// DescribeLocalGateways API operation for Amazon Elastic Compute Cloud.
18082//
18083// Describes one or more local gateways. By default, all local gateways are
18084// described. Alternatively, you can filter the results.
18085//
18086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18087// with awserr.Error's Code and Message methods to get detailed information about
18088// the error.
18089//
18090// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18091// API operation DescribeLocalGateways for usage and error information.
18092// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
18093func (c *EC2) DescribeLocalGateways(input *DescribeLocalGatewaysInput) (*DescribeLocalGatewaysOutput, error) {
18094	req, out := c.DescribeLocalGatewaysRequest(input)
18095	return out, req.Send()
18096}
18097
18098// DescribeLocalGatewaysWithContext is the same as DescribeLocalGateways with the addition of
18099// the ability to pass a context and additional request options.
18100//
18101// See DescribeLocalGateways for details on how to use this API operation.
18102//
18103// The context must be non-nil and will be used for request cancellation. If
18104// the context is nil a panic will occur. In the future the SDK may create
18105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18106// for more information on using Contexts.
18107func (c *EC2) DescribeLocalGatewaysWithContext(ctx aws.Context, input *DescribeLocalGatewaysInput, opts ...request.Option) (*DescribeLocalGatewaysOutput, error) {
18108	req, out := c.DescribeLocalGatewaysRequest(input)
18109	req.SetContext(ctx)
18110	req.ApplyOptions(opts...)
18111	return out, req.Send()
18112}
18113
18114// DescribeLocalGatewaysPages iterates over the pages of a DescribeLocalGateways operation,
18115// calling the "fn" function with the response data for each page. To stop
18116// iterating, return false from the fn function.
18117//
18118// See DescribeLocalGateways method for more information on how to use this operation.
18119//
18120// Note: This operation can generate multiple requests to a service.
18121//
18122//    // Example iterating over at most 3 pages of a DescribeLocalGateways operation.
18123//    pageNum := 0
18124//    err := client.DescribeLocalGatewaysPages(params,
18125//        func(page *ec2.DescribeLocalGatewaysOutput, lastPage bool) bool {
18126//            pageNum++
18127//            fmt.Println(page)
18128//            return pageNum <= 3
18129//        })
18130//
18131func (c *EC2) DescribeLocalGatewaysPages(input *DescribeLocalGatewaysInput, fn func(*DescribeLocalGatewaysOutput, bool) bool) error {
18132	return c.DescribeLocalGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
18133}
18134
18135// DescribeLocalGatewaysPagesWithContext same as DescribeLocalGatewaysPages except
18136// it takes a Context and allows setting request options on the pages.
18137//
18138// The context must be non-nil and will be used for request cancellation. If
18139// the context is nil a panic will occur. In the future the SDK may create
18140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18141// for more information on using Contexts.
18142func (c *EC2) DescribeLocalGatewaysPagesWithContext(ctx aws.Context, input *DescribeLocalGatewaysInput, fn func(*DescribeLocalGatewaysOutput, bool) bool, opts ...request.Option) error {
18143	p := request.Pagination{
18144		NewRequest: func() (*request.Request, error) {
18145			var inCpy *DescribeLocalGatewaysInput
18146			if input != nil {
18147				tmp := *input
18148				inCpy = &tmp
18149			}
18150			req, _ := c.DescribeLocalGatewaysRequest(inCpy)
18151			req.SetContext(ctx)
18152			req.ApplyOptions(opts...)
18153			return req, nil
18154		},
18155	}
18156
18157	for p.Next() {
18158		if !fn(p.Page().(*DescribeLocalGatewaysOutput), !p.HasNextPage()) {
18159			break
18160		}
18161	}
18162
18163	return p.Err()
18164}
18165
18166const opDescribeMovingAddresses = "DescribeMovingAddresses"
18167
18168// DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
18169// client's request for the DescribeMovingAddresses operation. The "output" return
18170// value will be populated with the request's response once the request completes
18171// successfully.
18172//
18173// Use "Send" method on the returned Request to send the API call to the service.
18174// the "output" return value is not valid until after Send returns without error.
18175//
18176// See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
18177// API call, and error handling.
18178//
18179// This method is useful when you want to inject custom logic or configuration
18180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18181//
18182//
18183//    // Example sending a request using the DescribeMovingAddressesRequest method.
18184//    req, resp := client.DescribeMovingAddressesRequest(params)
18185//
18186//    err := req.Send()
18187//    if err == nil { // resp is now filled
18188//        fmt.Println(resp)
18189//    }
18190//
18191// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
18192func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
18193	op := &request.Operation{
18194		Name:       opDescribeMovingAddresses,
18195		HTTPMethod: "POST",
18196		HTTPPath:   "/",
18197		Paginator: &request.Paginator{
18198			InputTokens:     []string{"NextToken"},
18199			OutputTokens:    []string{"NextToken"},
18200			LimitToken:      "MaxResults",
18201			TruncationToken: "",
18202		},
18203	}
18204
18205	if input == nil {
18206		input = &DescribeMovingAddressesInput{}
18207	}
18208
18209	output = &DescribeMovingAddressesOutput{}
18210	req = c.newRequest(op, input, output)
18211	return
18212}
18213
18214// DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
18215//
18216// Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
18217// or that are being restored to the EC2-Classic platform. This request does
18218// not return information about any other Elastic IP addresses in your account.
18219//
18220// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18221// with awserr.Error's Code and Message methods to get detailed information about
18222// the error.
18223//
18224// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18225// API operation DescribeMovingAddresses for usage and error information.
18226// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
18227func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
18228	req, out := c.DescribeMovingAddressesRequest(input)
18229	return out, req.Send()
18230}
18231
18232// DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
18233// the ability to pass a context and additional request options.
18234//
18235// See DescribeMovingAddresses for details on how to use this API operation.
18236//
18237// The context must be non-nil and will be used for request cancellation. If
18238// the context is nil a panic will occur. In the future the SDK may create
18239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18240// for more information on using Contexts.
18241func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
18242	req, out := c.DescribeMovingAddressesRequest(input)
18243	req.SetContext(ctx)
18244	req.ApplyOptions(opts...)
18245	return out, req.Send()
18246}
18247
18248// DescribeMovingAddressesPages iterates over the pages of a DescribeMovingAddresses operation,
18249// calling the "fn" function with the response data for each page. To stop
18250// iterating, return false from the fn function.
18251//
18252// See DescribeMovingAddresses method for more information on how to use this operation.
18253//
18254// Note: This operation can generate multiple requests to a service.
18255//
18256//    // Example iterating over at most 3 pages of a DescribeMovingAddresses operation.
18257//    pageNum := 0
18258//    err := client.DescribeMovingAddressesPages(params,
18259//        func(page *ec2.DescribeMovingAddressesOutput, lastPage bool) bool {
18260//            pageNum++
18261//            fmt.Println(page)
18262//            return pageNum <= 3
18263//        })
18264//
18265func (c *EC2) DescribeMovingAddressesPages(input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool) error {
18266	return c.DescribeMovingAddressesPagesWithContext(aws.BackgroundContext(), input, fn)
18267}
18268
18269// DescribeMovingAddressesPagesWithContext same as DescribeMovingAddressesPages except
18270// it takes a Context and allows setting request options on the pages.
18271//
18272// The context must be non-nil and will be used for request cancellation. If
18273// the context is nil a panic will occur. In the future the SDK may create
18274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18275// for more information on using Contexts.
18276func (c *EC2) DescribeMovingAddressesPagesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool, opts ...request.Option) error {
18277	p := request.Pagination{
18278		NewRequest: func() (*request.Request, error) {
18279			var inCpy *DescribeMovingAddressesInput
18280			if input != nil {
18281				tmp := *input
18282				inCpy = &tmp
18283			}
18284			req, _ := c.DescribeMovingAddressesRequest(inCpy)
18285			req.SetContext(ctx)
18286			req.ApplyOptions(opts...)
18287			return req, nil
18288		},
18289	}
18290
18291	for p.Next() {
18292		if !fn(p.Page().(*DescribeMovingAddressesOutput), !p.HasNextPage()) {
18293			break
18294		}
18295	}
18296
18297	return p.Err()
18298}
18299
18300const opDescribeNatGateways = "DescribeNatGateways"
18301
18302// DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
18303// client's request for the DescribeNatGateways operation. The "output" return
18304// value will be populated with the request's response once the request completes
18305// successfully.
18306//
18307// Use "Send" method on the returned Request to send the API call to the service.
18308// the "output" return value is not valid until after Send returns without error.
18309//
18310// See DescribeNatGateways for more information on using the DescribeNatGateways
18311// API call, and error handling.
18312//
18313// This method is useful when you want to inject custom logic or configuration
18314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18315//
18316//
18317//    // Example sending a request using the DescribeNatGatewaysRequest method.
18318//    req, resp := client.DescribeNatGatewaysRequest(params)
18319//
18320//    err := req.Send()
18321//    if err == nil { // resp is now filled
18322//        fmt.Println(resp)
18323//    }
18324//
18325// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
18326func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
18327	op := &request.Operation{
18328		Name:       opDescribeNatGateways,
18329		HTTPMethod: "POST",
18330		HTTPPath:   "/",
18331		Paginator: &request.Paginator{
18332			InputTokens:     []string{"NextToken"},
18333			OutputTokens:    []string{"NextToken"},
18334			LimitToken:      "MaxResults",
18335			TruncationToken: "",
18336		},
18337	}
18338
18339	if input == nil {
18340		input = &DescribeNatGatewaysInput{}
18341	}
18342
18343	output = &DescribeNatGatewaysOutput{}
18344	req = c.newRequest(op, input, output)
18345	return
18346}
18347
18348// DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
18349//
18350// Describes one or more of your NAT gateways.
18351//
18352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18353// with awserr.Error's Code and Message methods to get detailed information about
18354// the error.
18355//
18356// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18357// API operation DescribeNatGateways for usage and error information.
18358// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
18359func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
18360	req, out := c.DescribeNatGatewaysRequest(input)
18361	return out, req.Send()
18362}
18363
18364// DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
18365// the ability to pass a context and additional request options.
18366//
18367// See DescribeNatGateways for details on how to use this API operation.
18368//
18369// The context must be non-nil and will be used for request cancellation. If
18370// the context is nil a panic will occur. In the future the SDK may create
18371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18372// for more information on using Contexts.
18373func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
18374	req, out := c.DescribeNatGatewaysRequest(input)
18375	req.SetContext(ctx)
18376	req.ApplyOptions(opts...)
18377	return out, req.Send()
18378}
18379
18380// DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
18381// calling the "fn" function with the response data for each page. To stop
18382// iterating, return false from the fn function.
18383//
18384// See DescribeNatGateways method for more information on how to use this operation.
18385//
18386// Note: This operation can generate multiple requests to a service.
18387//
18388//    // Example iterating over at most 3 pages of a DescribeNatGateways operation.
18389//    pageNum := 0
18390//    err := client.DescribeNatGatewaysPages(params,
18391//        func(page *ec2.DescribeNatGatewaysOutput, lastPage bool) bool {
18392//            pageNum++
18393//            fmt.Println(page)
18394//            return pageNum <= 3
18395//        })
18396//
18397func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
18398	return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
18399}
18400
18401// DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
18402// it takes a Context and allows setting request options on the pages.
18403//
18404// The context must be non-nil and will be used for request cancellation. If
18405// the context is nil a panic will occur. In the future the SDK may create
18406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18407// for more information on using Contexts.
18408func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
18409	p := request.Pagination{
18410		NewRequest: func() (*request.Request, error) {
18411			var inCpy *DescribeNatGatewaysInput
18412			if input != nil {
18413				tmp := *input
18414				inCpy = &tmp
18415			}
18416			req, _ := c.DescribeNatGatewaysRequest(inCpy)
18417			req.SetContext(ctx)
18418			req.ApplyOptions(opts...)
18419			return req, nil
18420		},
18421	}
18422
18423	for p.Next() {
18424		if !fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage()) {
18425			break
18426		}
18427	}
18428
18429	return p.Err()
18430}
18431
18432const opDescribeNetworkAcls = "DescribeNetworkAcls"
18433
18434// DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
18435// client's request for the DescribeNetworkAcls operation. The "output" return
18436// value will be populated with the request's response once the request completes
18437// successfully.
18438//
18439// Use "Send" method on the returned Request to send the API call to the service.
18440// the "output" return value is not valid until after Send returns without error.
18441//
18442// See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
18443// API call, and error handling.
18444//
18445// This method is useful when you want to inject custom logic or configuration
18446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18447//
18448//
18449//    // Example sending a request using the DescribeNetworkAclsRequest method.
18450//    req, resp := client.DescribeNetworkAclsRequest(params)
18451//
18452//    err := req.Send()
18453//    if err == nil { // resp is now filled
18454//        fmt.Println(resp)
18455//    }
18456//
18457// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
18458func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
18459	op := &request.Operation{
18460		Name:       opDescribeNetworkAcls,
18461		HTTPMethod: "POST",
18462		HTTPPath:   "/",
18463		Paginator: &request.Paginator{
18464			InputTokens:     []string{"NextToken"},
18465			OutputTokens:    []string{"NextToken"},
18466			LimitToken:      "MaxResults",
18467			TruncationToken: "",
18468		},
18469	}
18470
18471	if input == nil {
18472		input = &DescribeNetworkAclsInput{}
18473	}
18474
18475	output = &DescribeNetworkAclsOutput{}
18476	req = c.newRequest(op, input, output)
18477	return
18478}
18479
18480// DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
18481//
18482// Describes one or more of your network ACLs.
18483//
18484// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
18485// in the Amazon Virtual Private Cloud User Guide.
18486//
18487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18488// with awserr.Error's Code and Message methods to get detailed information about
18489// the error.
18490//
18491// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18492// API operation DescribeNetworkAcls for usage and error information.
18493// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
18494func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
18495	req, out := c.DescribeNetworkAclsRequest(input)
18496	return out, req.Send()
18497}
18498
18499// DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
18500// the ability to pass a context and additional request options.
18501//
18502// See DescribeNetworkAcls for details on how to use this API operation.
18503//
18504// The context must be non-nil and will be used for request cancellation. If
18505// the context is nil a panic will occur. In the future the SDK may create
18506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18507// for more information on using Contexts.
18508func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
18509	req, out := c.DescribeNetworkAclsRequest(input)
18510	req.SetContext(ctx)
18511	req.ApplyOptions(opts...)
18512	return out, req.Send()
18513}
18514
18515// DescribeNetworkAclsPages iterates over the pages of a DescribeNetworkAcls operation,
18516// calling the "fn" function with the response data for each page. To stop
18517// iterating, return false from the fn function.
18518//
18519// See DescribeNetworkAcls method for more information on how to use this operation.
18520//
18521// Note: This operation can generate multiple requests to a service.
18522//
18523//    // Example iterating over at most 3 pages of a DescribeNetworkAcls operation.
18524//    pageNum := 0
18525//    err := client.DescribeNetworkAclsPages(params,
18526//        func(page *ec2.DescribeNetworkAclsOutput, lastPage bool) bool {
18527//            pageNum++
18528//            fmt.Println(page)
18529//            return pageNum <= 3
18530//        })
18531//
18532func (c *EC2) DescribeNetworkAclsPages(input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool) error {
18533	return c.DescribeNetworkAclsPagesWithContext(aws.BackgroundContext(), input, fn)
18534}
18535
18536// DescribeNetworkAclsPagesWithContext same as DescribeNetworkAclsPages except
18537// it takes a Context and allows setting request options on the pages.
18538//
18539// The context must be non-nil and will be used for request cancellation. If
18540// the context is nil a panic will occur. In the future the SDK may create
18541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18542// for more information on using Contexts.
18543func (c *EC2) DescribeNetworkAclsPagesWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool, opts ...request.Option) error {
18544	p := request.Pagination{
18545		NewRequest: func() (*request.Request, error) {
18546			var inCpy *DescribeNetworkAclsInput
18547			if input != nil {
18548				tmp := *input
18549				inCpy = &tmp
18550			}
18551			req, _ := c.DescribeNetworkAclsRequest(inCpy)
18552			req.SetContext(ctx)
18553			req.ApplyOptions(opts...)
18554			return req, nil
18555		},
18556	}
18557
18558	for p.Next() {
18559		if !fn(p.Page().(*DescribeNetworkAclsOutput), !p.HasNextPage()) {
18560			break
18561		}
18562	}
18563
18564	return p.Err()
18565}
18566
18567const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
18568
18569// DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
18570// client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
18571// value will be populated with the request's response once the request completes
18572// successfully.
18573//
18574// Use "Send" method on the returned Request to send the API call to the service.
18575// the "output" return value is not valid until after Send returns without error.
18576//
18577// See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
18578// API call, and error handling.
18579//
18580// This method is useful when you want to inject custom logic or configuration
18581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18582//
18583//
18584//    // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
18585//    req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
18586//
18587//    err := req.Send()
18588//    if err == nil { // resp is now filled
18589//        fmt.Println(resp)
18590//    }
18591//
18592// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
18593func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
18594	op := &request.Operation{
18595		Name:       opDescribeNetworkInterfaceAttribute,
18596		HTTPMethod: "POST",
18597		HTTPPath:   "/",
18598	}
18599
18600	if input == nil {
18601		input = &DescribeNetworkInterfaceAttributeInput{}
18602	}
18603
18604	output = &DescribeNetworkInterfaceAttributeOutput{}
18605	req = c.newRequest(op, input, output)
18606	return
18607}
18608
18609// DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
18610//
18611// Describes a network interface attribute. You can specify only one attribute
18612// at a time.
18613//
18614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18615// with awserr.Error's Code and Message methods to get detailed information about
18616// the error.
18617//
18618// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18619// API operation DescribeNetworkInterfaceAttribute for usage and error information.
18620// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
18621func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
18622	req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
18623	return out, req.Send()
18624}
18625
18626// DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
18627// the ability to pass a context and additional request options.
18628//
18629// See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
18630//
18631// The context must be non-nil and will be used for request cancellation. If
18632// the context is nil a panic will occur. In the future the SDK may create
18633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18634// for more information on using Contexts.
18635func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
18636	req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
18637	req.SetContext(ctx)
18638	req.ApplyOptions(opts...)
18639	return out, req.Send()
18640}
18641
18642const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
18643
18644// DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
18645// client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
18646// value will be populated with the request's response once the request completes
18647// successfully.
18648//
18649// Use "Send" method on the returned Request to send the API call to the service.
18650// the "output" return value is not valid until after Send returns without error.
18651//
18652// See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
18653// API call, and error handling.
18654//
18655// This method is useful when you want to inject custom logic or configuration
18656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18657//
18658//
18659//    // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
18660//    req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
18661//
18662//    err := req.Send()
18663//    if err == nil { // resp is now filled
18664//        fmt.Println(resp)
18665//    }
18666//
18667// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
18668func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
18669	op := &request.Operation{
18670		Name:       opDescribeNetworkInterfacePermissions,
18671		HTTPMethod: "POST",
18672		HTTPPath:   "/",
18673		Paginator: &request.Paginator{
18674			InputTokens:     []string{"NextToken"},
18675			OutputTokens:    []string{"NextToken"},
18676			LimitToken:      "MaxResults",
18677			TruncationToken: "",
18678		},
18679	}
18680
18681	if input == nil {
18682		input = &DescribeNetworkInterfacePermissionsInput{}
18683	}
18684
18685	output = &DescribeNetworkInterfacePermissionsOutput{}
18686	req = c.newRequest(op, input, output)
18687	return
18688}
18689
18690// DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
18691//
18692// Describes the permissions for your network interfaces.
18693//
18694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18695// with awserr.Error's Code and Message methods to get detailed information about
18696// the error.
18697//
18698// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18699// API operation DescribeNetworkInterfacePermissions for usage and error information.
18700// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
18701func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
18702	req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
18703	return out, req.Send()
18704}
18705
18706// DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
18707// the ability to pass a context and additional request options.
18708//
18709// See DescribeNetworkInterfacePermissions for details on how to use this API operation.
18710//
18711// The context must be non-nil and will be used for request cancellation. If
18712// the context is nil a panic will occur. In the future the SDK may create
18713// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18714// for more information on using Contexts.
18715func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
18716	req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
18717	req.SetContext(ctx)
18718	req.ApplyOptions(opts...)
18719	return out, req.Send()
18720}
18721
18722// DescribeNetworkInterfacePermissionsPages iterates over the pages of a DescribeNetworkInterfacePermissions operation,
18723// calling the "fn" function with the response data for each page. To stop
18724// iterating, return false from the fn function.
18725//
18726// See DescribeNetworkInterfacePermissions method for more information on how to use this operation.
18727//
18728// Note: This operation can generate multiple requests to a service.
18729//
18730//    // Example iterating over at most 3 pages of a DescribeNetworkInterfacePermissions operation.
18731//    pageNum := 0
18732//    err := client.DescribeNetworkInterfacePermissionsPages(params,
18733//        func(page *ec2.DescribeNetworkInterfacePermissionsOutput, lastPage bool) bool {
18734//            pageNum++
18735//            fmt.Println(page)
18736//            return pageNum <= 3
18737//        })
18738//
18739func (c *EC2) DescribeNetworkInterfacePermissionsPages(input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool) error {
18740	return c.DescribeNetworkInterfacePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
18741}
18742
18743// DescribeNetworkInterfacePermissionsPagesWithContext same as DescribeNetworkInterfacePermissionsPages except
18744// it takes a Context and allows setting request options on the pages.
18745//
18746// The context must be non-nil and will be used for request cancellation. If
18747// the context is nil a panic will occur. In the future the SDK may create
18748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18749// for more information on using Contexts.
18750func (c *EC2) DescribeNetworkInterfacePermissionsPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool, opts ...request.Option) error {
18751	p := request.Pagination{
18752		NewRequest: func() (*request.Request, error) {
18753			var inCpy *DescribeNetworkInterfacePermissionsInput
18754			if input != nil {
18755				tmp := *input
18756				inCpy = &tmp
18757			}
18758			req, _ := c.DescribeNetworkInterfacePermissionsRequest(inCpy)
18759			req.SetContext(ctx)
18760			req.ApplyOptions(opts...)
18761			return req, nil
18762		},
18763	}
18764
18765	for p.Next() {
18766		if !fn(p.Page().(*DescribeNetworkInterfacePermissionsOutput), !p.HasNextPage()) {
18767			break
18768		}
18769	}
18770
18771	return p.Err()
18772}
18773
18774const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
18775
18776// DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
18777// client's request for the DescribeNetworkInterfaces operation. The "output" return
18778// value will be populated with the request's response once the request completes
18779// successfully.
18780//
18781// Use "Send" method on the returned Request to send the API call to the service.
18782// the "output" return value is not valid until after Send returns without error.
18783//
18784// See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
18785// API call, and error handling.
18786//
18787// This method is useful when you want to inject custom logic or configuration
18788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18789//
18790//
18791//    // Example sending a request using the DescribeNetworkInterfacesRequest method.
18792//    req, resp := client.DescribeNetworkInterfacesRequest(params)
18793//
18794//    err := req.Send()
18795//    if err == nil { // resp is now filled
18796//        fmt.Println(resp)
18797//    }
18798//
18799// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
18800func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
18801	op := &request.Operation{
18802		Name:       opDescribeNetworkInterfaces,
18803		HTTPMethod: "POST",
18804		HTTPPath:   "/",
18805		Paginator: &request.Paginator{
18806			InputTokens:     []string{"NextToken"},
18807			OutputTokens:    []string{"NextToken"},
18808			LimitToken:      "MaxResults",
18809			TruncationToken: "",
18810		},
18811	}
18812
18813	if input == nil {
18814		input = &DescribeNetworkInterfacesInput{}
18815	}
18816
18817	output = &DescribeNetworkInterfacesOutput{}
18818	req = c.newRequest(op, input, output)
18819	return
18820}
18821
18822// DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
18823//
18824// Describes one or more of your network interfaces.
18825//
18826// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18827// with awserr.Error's Code and Message methods to get detailed information about
18828// the error.
18829//
18830// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18831// API operation DescribeNetworkInterfaces for usage and error information.
18832// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
18833func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
18834	req, out := c.DescribeNetworkInterfacesRequest(input)
18835	return out, req.Send()
18836}
18837
18838// DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
18839// the ability to pass a context and additional request options.
18840//
18841// See DescribeNetworkInterfaces for details on how to use this API operation.
18842//
18843// The context must be non-nil and will be used for request cancellation. If
18844// the context is nil a panic will occur. In the future the SDK may create
18845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18846// for more information on using Contexts.
18847func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
18848	req, out := c.DescribeNetworkInterfacesRequest(input)
18849	req.SetContext(ctx)
18850	req.ApplyOptions(opts...)
18851	return out, req.Send()
18852}
18853
18854// DescribeNetworkInterfacesPages iterates over the pages of a DescribeNetworkInterfaces operation,
18855// calling the "fn" function with the response data for each page. To stop
18856// iterating, return false from the fn function.
18857//
18858// See DescribeNetworkInterfaces method for more information on how to use this operation.
18859//
18860// Note: This operation can generate multiple requests to a service.
18861//
18862//    // Example iterating over at most 3 pages of a DescribeNetworkInterfaces operation.
18863//    pageNum := 0
18864//    err := client.DescribeNetworkInterfacesPages(params,
18865//        func(page *ec2.DescribeNetworkInterfacesOutput, lastPage bool) bool {
18866//            pageNum++
18867//            fmt.Println(page)
18868//            return pageNum <= 3
18869//        })
18870//
18871func (c *EC2) DescribeNetworkInterfacesPages(input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool) error {
18872	return c.DescribeNetworkInterfacesPagesWithContext(aws.BackgroundContext(), input, fn)
18873}
18874
18875// DescribeNetworkInterfacesPagesWithContext same as DescribeNetworkInterfacesPages except
18876// it takes a Context and allows setting request options on the pages.
18877//
18878// The context must be non-nil and will be used for request cancellation. If
18879// the context is nil a panic will occur. In the future the SDK may create
18880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18881// for more information on using Contexts.
18882func (c *EC2) DescribeNetworkInterfacesPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool, opts ...request.Option) error {
18883	p := request.Pagination{
18884		NewRequest: func() (*request.Request, error) {
18885			var inCpy *DescribeNetworkInterfacesInput
18886			if input != nil {
18887				tmp := *input
18888				inCpy = &tmp
18889			}
18890			req, _ := c.DescribeNetworkInterfacesRequest(inCpy)
18891			req.SetContext(ctx)
18892			req.ApplyOptions(opts...)
18893			return req, nil
18894		},
18895	}
18896
18897	for p.Next() {
18898		if !fn(p.Page().(*DescribeNetworkInterfacesOutput), !p.HasNextPage()) {
18899			break
18900		}
18901	}
18902
18903	return p.Err()
18904}
18905
18906const opDescribePlacementGroups = "DescribePlacementGroups"
18907
18908// DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
18909// client's request for the DescribePlacementGroups operation. The "output" return
18910// value will be populated with the request's response once the request completes
18911// successfully.
18912//
18913// Use "Send" method on the returned Request to send the API call to the service.
18914// the "output" return value is not valid until after Send returns without error.
18915//
18916// See DescribePlacementGroups for more information on using the DescribePlacementGroups
18917// API call, and error handling.
18918//
18919// This method is useful when you want to inject custom logic or configuration
18920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18921//
18922//
18923//    // Example sending a request using the DescribePlacementGroupsRequest method.
18924//    req, resp := client.DescribePlacementGroupsRequest(params)
18925//
18926//    err := req.Send()
18927//    if err == nil { // resp is now filled
18928//        fmt.Println(resp)
18929//    }
18930//
18931// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
18932func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
18933	op := &request.Operation{
18934		Name:       opDescribePlacementGroups,
18935		HTTPMethod: "POST",
18936		HTTPPath:   "/",
18937	}
18938
18939	if input == nil {
18940		input = &DescribePlacementGroupsInput{}
18941	}
18942
18943	output = &DescribePlacementGroupsOutput{}
18944	req = c.newRequest(op, input, output)
18945	return
18946}
18947
18948// DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
18949//
18950// Describes the specified placement groups or all of your placement groups.
18951// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
18952// in the Amazon Elastic Compute Cloud User Guide.
18953//
18954// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18955// with awserr.Error's Code and Message methods to get detailed information about
18956// the error.
18957//
18958// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18959// API operation DescribePlacementGroups for usage and error information.
18960// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
18961func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
18962	req, out := c.DescribePlacementGroupsRequest(input)
18963	return out, req.Send()
18964}
18965
18966// DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
18967// the ability to pass a context and additional request options.
18968//
18969// See DescribePlacementGroups for details on how to use this API operation.
18970//
18971// The context must be non-nil and will be used for request cancellation. If
18972// the context is nil a panic will occur. In the future the SDK may create
18973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18974// for more information on using Contexts.
18975func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
18976	req, out := c.DescribePlacementGroupsRequest(input)
18977	req.SetContext(ctx)
18978	req.ApplyOptions(opts...)
18979	return out, req.Send()
18980}
18981
18982const opDescribePrefixLists = "DescribePrefixLists"
18983
18984// DescribePrefixListsRequest generates a "aws/request.Request" representing the
18985// client's request for the DescribePrefixLists operation. The "output" return
18986// value will be populated with the request's response once the request completes
18987// successfully.
18988//
18989// Use "Send" method on the returned Request to send the API call to the service.
18990// the "output" return value is not valid until after Send returns without error.
18991//
18992// See DescribePrefixLists for more information on using the DescribePrefixLists
18993// API call, and error handling.
18994//
18995// This method is useful when you want to inject custom logic or configuration
18996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18997//
18998//
18999//    // Example sending a request using the DescribePrefixListsRequest method.
19000//    req, resp := client.DescribePrefixListsRequest(params)
19001//
19002//    err := req.Send()
19003//    if err == nil { // resp is now filled
19004//        fmt.Println(resp)
19005//    }
19006//
19007// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
19008func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
19009	op := &request.Operation{
19010		Name:       opDescribePrefixLists,
19011		HTTPMethod: "POST",
19012		HTTPPath:   "/",
19013		Paginator: &request.Paginator{
19014			InputTokens:     []string{"NextToken"},
19015			OutputTokens:    []string{"NextToken"},
19016			LimitToken:      "MaxResults",
19017			TruncationToken: "",
19018		},
19019	}
19020
19021	if input == nil {
19022		input = &DescribePrefixListsInput{}
19023	}
19024
19025	output = &DescribePrefixListsOutput{}
19026	req = c.newRequest(op, input, output)
19027	return
19028}
19029
19030// DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
19031//
19032// Describes available AWS services in a prefix list format, which includes
19033// the prefix list name and prefix list ID of the service and the IP address
19034// range for the service. A prefix list ID is required for creating an outbound
19035// security group rule that allows traffic from a VPC to access an AWS service
19036// through a gateway VPC endpoint. Currently, the services that support this
19037// action are Amazon S3 and Amazon DynamoDB.
19038//
19039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19040// with awserr.Error's Code and Message methods to get detailed information about
19041// the error.
19042//
19043// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19044// API operation DescribePrefixLists for usage and error information.
19045// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
19046func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
19047	req, out := c.DescribePrefixListsRequest(input)
19048	return out, req.Send()
19049}
19050
19051// DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
19052// the ability to pass a context and additional request options.
19053//
19054// See DescribePrefixLists for details on how to use this API operation.
19055//
19056// The context must be non-nil and will be used for request cancellation. If
19057// the context is nil a panic will occur. In the future the SDK may create
19058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19059// for more information on using Contexts.
19060func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
19061	req, out := c.DescribePrefixListsRequest(input)
19062	req.SetContext(ctx)
19063	req.ApplyOptions(opts...)
19064	return out, req.Send()
19065}
19066
19067// DescribePrefixListsPages iterates over the pages of a DescribePrefixLists operation,
19068// calling the "fn" function with the response data for each page. To stop
19069// iterating, return false from the fn function.
19070//
19071// See DescribePrefixLists method for more information on how to use this operation.
19072//
19073// Note: This operation can generate multiple requests to a service.
19074//
19075//    // Example iterating over at most 3 pages of a DescribePrefixLists operation.
19076//    pageNum := 0
19077//    err := client.DescribePrefixListsPages(params,
19078//        func(page *ec2.DescribePrefixListsOutput, lastPage bool) bool {
19079//            pageNum++
19080//            fmt.Println(page)
19081//            return pageNum <= 3
19082//        })
19083//
19084func (c *EC2) DescribePrefixListsPages(input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool) error {
19085	return c.DescribePrefixListsPagesWithContext(aws.BackgroundContext(), input, fn)
19086}
19087
19088// DescribePrefixListsPagesWithContext same as DescribePrefixListsPages except
19089// it takes a Context and allows setting request options on the pages.
19090//
19091// The context must be non-nil and will be used for request cancellation. If
19092// the context is nil a panic will occur. In the future the SDK may create
19093// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19094// for more information on using Contexts.
19095func (c *EC2) DescribePrefixListsPagesWithContext(ctx aws.Context, input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool, opts ...request.Option) error {
19096	p := request.Pagination{
19097		NewRequest: func() (*request.Request, error) {
19098			var inCpy *DescribePrefixListsInput
19099			if input != nil {
19100				tmp := *input
19101				inCpy = &tmp
19102			}
19103			req, _ := c.DescribePrefixListsRequest(inCpy)
19104			req.SetContext(ctx)
19105			req.ApplyOptions(opts...)
19106			return req, nil
19107		},
19108	}
19109
19110	for p.Next() {
19111		if !fn(p.Page().(*DescribePrefixListsOutput), !p.HasNextPage()) {
19112			break
19113		}
19114	}
19115
19116	return p.Err()
19117}
19118
19119const opDescribePrincipalIdFormat = "DescribePrincipalIdFormat"
19120
19121// DescribePrincipalIdFormatRequest generates a "aws/request.Request" representing the
19122// client's request for the DescribePrincipalIdFormat operation. The "output" return
19123// value will be populated with the request's response once the request completes
19124// successfully.
19125//
19126// Use "Send" method on the returned Request to send the API call to the service.
19127// the "output" return value is not valid until after Send returns without error.
19128//
19129// See DescribePrincipalIdFormat for more information on using the DescribePrincipalIdFormat
19130// API call, and error handling.
19131//
19132// This method is useful when you want to inject custom logic or configuration
19133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19134//
19135//
19136//    // Example sending a request using the DescribePrincipalIdFormatRequest method.
19137//    req, resp := client.DescribePrincipalIdFormatRequest(params)
19138//
19139//    err := req.Send()
19140//    if err == nil { // resp is now filled
19141//        fmt.Println(resp)
19142//    }
19143//
19144// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
19145func (c *EC2) DescribePrincipalIdFormatRequest(input *DescribePrincipalIdFormatInput) (req *request.Request, output *DescribePrincipalIdFormatOutput) {
19146	op := &request.Operation{
19147		Name:       opDescribePrincipalIdFormat,
19148		HTTPMethod: "POST",
19149		HTTPPath:   "/",
19150		Paginator: &request.Paginator{
19151			InputTokens:     []string{"NextToken"},
19152			OutputTokens:    []string{"NextToken"},
19153			LimitToken:      "MaxResults",
19154			TruncationToken: "",
19155		},
19156	}
19157
19158	if input == nil {
19159		input = &DescribePrincipalIdFormatInput{}
19160	}
19161
19162	output = &DescribePrincipalIdFormatOutput{}
19163	req = c.newRequest(op, input, output)
19164	return
19165}
19166
19167// DescribePrincipalIdFormat API operation for Amazon Elastic Compute Cloud.
19168//
19169// Describes the ID format settings for the root user and all IAM roles and
19170// IAM users that have explicitly specified a longer ID (17-character ID) preference.
19171//
19172// By default, all IAM roles and IAM users default to the same ID settings as
19173// the root user, unless they explicitly override the settings. This request
19174// is useful for identifying those IAM users and IAM roles that have overridden
19175// the default ID settings.
19176//
19177// The following resource types support longer IDs: bundle | conversion-task
19178// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
19179// | export-task | flow-log | image | import-task | instance | internet-gateway
19180// | network-acl | network-acl-association | network-interface | network-interface-attachment
19181// | prefix-list | reservation | route-table | route-table-association | security-group
19182// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
19183// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
19184//
19185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19186// with awserr.Error's Code and Message methods to get detailed information about
19187// the error.
19188//
19189// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19190// API operation DescribePrincipalIdFormat for usage and error information.
19191// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
19192func (c *EC2) DescribePrincipalIdFormat(input *DescribePrincipalIdFormatInput) (*DescribePrincipalIdFormatOutput, error) {
19193	req, out := c.DescribePrincipalIdFormatRequest(input)
19194	return out, req.Send()
19195}
19196
19197// DescribePrincipalIdFormatWithContext is the same as DescribePrincipalIdFormat with the addition of
19198// the ability to pass a context and additional request options.
19199//
19200// See DescribePrincipalIdFormat for details on how to use this API operation.
19201//
19202// The context must be non-nil and will be used for request cancellation. If
19203// the context is nil a panic will occur. In the future the SDK may create
19204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19205// for more information on using Contexts.
19206func (c *EC2) DescribePrincipalIdFormatWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, opts ...request.Option) (*DescribePrincipalIdFormatOutput, error) {
19207	req, out := c.DescribePrincipalIdFormatRequest(input)
19208	req.SetContext(ctx)
19209	req.ApplyOptions(opts...)
19210	return out, req.Send()
19211}
19212
19213// DescribePrincipalIdFormatPages iterates over the pages of a DescribePrincipalIdFormat operation,
19214// calling the "fn" function with the response data for each page. To stop
19215// iterating, return false from the fn function.
19216//
19217// See DescribePrincipalIdFormat method for more information on how to use this operation.
19218//
19219// Note: This operation can generate multiple requests to a service.
19220//
19221//    // Example iterating over at most 3 pages of a DescribePrincipalIdFormat operation.
19222//    pageNum := 0
19223//    err := client.DescribePrincipalIdFormatPages(params,
19224//        func(page *ec2.DescribePrincipalIdFormatOutput, lastPage bool) bool {
19225//            pageNum++
19226//            fmt.Println(page)
19227//            return pageNum <= 3
19228//        })
19229//
19230func (c *EC2) DescribePrincipalIdFormatPages(input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool) error {
19231	return c.DescribePrincipalIdFormatPagesWithContext(aws.BackgroundContext(), input, fn)
19232}
19233
19234// DescribePrincipalIdFormatPagesWithContext same as DescribePrincipalIdFormatPages except
19235// it takes a Context and allows setting request options on the pages.
19236//
19237// The context must be non-nil and will be used for request cancellation. If
19238// the context is nil a panic will occur. In the future the SDK may create
19239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19240// for more information on using Contexts.
19241func (c *EC2) DescribePrincipalIdFormatPagesWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool, opts ...request.Option) error {
19242	p := request.Pagination{
19243		NewRequest: func() (*request.Request, error) {
19244			var inCpy *DescribePrincipalIdFormatInput
19245			if input != nil {
19246				tmp := *input
19247				inCpy = &tmp
19248			}
19249			req, _ := c.DescribePrincipalIdFormatRequest(inCpy)
19250			req.SetContext(ctx)
19251			req.ApplyOptions(opts...)
19252			return req, nil
19253		},
19254	}
19255
19256	for p.Next() {
19257		if !fn(p.Page().(*DescribePrincipalIdFormatOutput), !p.HasNextPage()) {
19258			break
19259		}
19260	}
19261
19262	return p.Err()
19263}
19264
19265const opDescribePublicIpv4Pools = "DescribePublicIpv4Pools"
19266
19267// DescribePublicIpv4PoolsRequest generates a "aws/request.Request" representing the
19268// client's request for the DescribePublicIpv4Pools operation. The "output" return
19269// value will be populated with the request's response once the request completes
19270// successfully.
19271//
19272// Use "Send" method on the returned Request to send the API call to the service.
19273// the "output" return value is not valid until after Send returns without error.
19274//
19275// See DescribePublicIpv4Pools for more information on using the DescribePublicIpv4Pools
19276// API call, and error handling.
19277//
19278// This method is useful when you want to inject custom logic or configuration
19279// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19280//
19281//
19282//    // Example sending a request using the DescribePublicIpv4PoolsRequest method.
19283//    req, resp := client.DescribePublicIpv4PoolsRequest(params)
19284//
19285//    err := req.Send()
19286//    if err == nil { // resp is now filled
19287//        fmt.Println(resp)
19288//    }
19289//
19290// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
19291func (c *EC2) DescribePublicIpv4PoolsRequest(input *DescribePublicIpv4PoolsInput) (req *request.Request, output *DescribePublicIpv4PoolsOutput) {
19292	op := &request.Operation{
19293		Name:       opDescribePublicIpv4Pools,
19294		HTTPMethod: "POST",
19295		HTTPPath:   "/",
19296		Paginator: &request.Paginator{
19297			InputTokens:     []string{"NextToken"},
19298			OutputTokens:    []string{"NextToken"},
19299			LimitToken:      "MaxResults",
19300			TruncationToken: "",
19301		},
19302	}
19303
19304	if input == nil {
19305		input = &DescribePublicIpv4PoolsInput{}
19306	}
19307
19308	output = &DescribePublicIpv4PoolsOutput{}
19309	req = c.newRequest(op, input, output)
19310	return
19311}
19312
19313// DescribePublicIpv4Pools API operation for Amazon Elastic Compute Cloud.
19314//
19315// Describes the specified IPv4 address pools.
19316//
19317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19318// with awserr.Error's Code and Message methods to get detailed information about
19319// the error.
19320//
19321// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19322// API operation DescribePublicIpv4Pools for usage and error information.
19323// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
19324func (c *EC2) DescribePublicIpv4Pools(input *DescribePublicIpv4PoolsInput) (*DescribePublicIpv4PoolsOutput, error) {
19325	req, out := c.DescribePublicIpv4PoolsRequest(input)
19326	return out, req.Send()
19327}
19328
19329// DescribePublicIpv4PoolsWithContext is the same as DescribePublicIpv4Pools with the addition of
19330// the ability to pass a context and additional request options.
19331//
19332// See DescribePublicIpv4Pools for details on how to use this API operation.
19333//
19334// The context must be non-nil and will be used for request cancellation. If
19335// the context is nil a panic will occur. In the future the SDK may create
19336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19337// for more information on using Contexts.
19338func (c *EC2) DescribePublicIpv4PoolsWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, opts ...request.Option) (*DescribePublicIpv4PoolsOutput, error) {
19339	req, out := c.DescribePublicIpv4PoolsRequest(input)
19340	req.SetContext(ctx)
19341	req.ApplyOptions(opts...)
19342	return out, req.Send()
19343}
19344
19345// DescribePublicIpv4PoolsPages iterates over the pages of a DescribePublicIpv4Pools operation,
19346// calling the "fn" function with the response data for each page. To stop
19347// iterating, return false from the fn function.
19348//
19349// See DescribePublicIpv4Pools method for more information on how to use this operation.
19350//
19351// Note: This operation can generate multiple requests to a service.
19352//
19353//    // Example iterating over at most 3 pages of a DescribePublicIpv4Pools operation.
19354//    pageNum := 0
19355//    err := client.DescribePublicIpv4PoolsPages(params,
19356//        func(page *ec2.DescribePublicIpv4PoolsOutput, lastPage bool) bool {
19357//            pageNum++
19358//            fmt.Println(page)
19359//            return pageNum <= 3
19360//        })
19361//
19362func (c *EC2) DescribePublicIpv4PoolsPages(input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool) error {
19363	return c.DescribePublicIpv4PoolsPagesWithContext(aws.BackgroundContext(), input, fn)
19364}
19365
19366// DescribePublicIpv4PoolsPagesWithContext same as DescribePublicIpv4PoolsPages except
19367// it takes a Context and allows setting request options on the pages.
19368//
19369// The context must be non-nil and will be used for request cancellation. If
19370// the context is nil a panic will occur. In the future the SDK may create
19371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19372// for more information on using Contexts.
19373func (c *EC2) DescribePublicIpv4PoolsPagesWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool, opts ...request.Option) error {
19374	p := request.Pagination{
19375		NewRequest: func() (*request.Request, error) {
19376			var inCpy *DescribePublicIpv4PoolsInput
19377			if input != nil {
19378				tmp := *input
19379				inCpy = &tmp
19380			}
19381			req, _ := c.DescribePublicIpv4PoolsRequest(inCpy)
19382			req.SetContext(ctx)
19383			req.ApplyOptions(opts...)
19384			return req, nil
19385		},
19386	}
19387
19388	for p.Next() {
19389		if !fn(p.Page().(*DescribePublicIpv4PoolsOutput), !p.HasNextPage()) {
19390			break
19391		}
19392	}
19393
19394	return p.Err()
19395}
19396
19397const opDescribeRegions = "DescribeRegions"
19398
19399// DescribeRegionsRequest generates a "aws/request.Request" representing the
19400// client's request for the DescribeRegions operation. The "output" return
19401// value will be populated with the request's response once the request completes
19402// successfully.
19403//
19404// Use "Send" method on the returned Request to send the API call to the service.
19405// the "output" return value is not valid until after Send returns without error.
19406//
19407// See DescribeRegions for more information on using the DescribeRegions
19408// API call, and error handling.
19409//
19410// This method is useful when you want to inject custom logic or configuration
19411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19412//
19413//
19414//    // Example sending a request using the DescribeRegionsRequest method.
19415//    req, resp := client.DescribeRegionsRequest(params)
19416//
19417//    err := req.Send()
19418//    if err == nil { // resp is now filled
19419//        fmt.Println(resp)
19420//    }
19421//
19422// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
19423func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
19424	op := &request.Operation{
19425		Name:       opDescribeRegions,
19426		HTTPMethod: "POST",
19427		HTTPPath:   "/",
19428	}
19429
19430	if input == nil {
19431		input = &DescribeRegionsInput{}
19432	}
19433
19434	output = &DescribeRegionsOutput{}
19435	req = c.newRequest(op, input, output)
19436	return
19437}
19438
19439// DescribeRegions API operation for Amazon Elastic Compute Cloud.
19440//
19441// Describes the Regions that are enabled for your account, or all Regions.
19442//
19443// For a list of the Regions supported by Amazon EC2, see Regions and Endpoints
19444// (https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
19445//
19446// For information about enabling and disabling Regions for your account, see
19447// Managing AWS Regions (https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)
19448// in the AWS General Reference.
19449//
19450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19451// with awserr.Error's Code and Message methods to get detailed information about
19452// the error.
19453//
19454// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19455// API operation DescribeRegions for usage and error information.
19456// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
19457func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
19458	req, out := c.DescribeRegionsRequest(input)
19459	return out, req.Send()
19460}
19461
19462// DescribeRegionsWithContext is the same as DescribeRegions with the addition of
19463// the ability to pass a context and additional request options.
19464//
19465// See DescribeRegions for details on how to use this API operation.
19466//
19467// The context must be non-nil and will be used for request cancellation. If
19468// the context is nil a panic will occur. In the future the SDK may create
19469// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19470// for more information on using Contexts.
19471func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
19472	req, out := c.DescribeRegionsRequest(input)
19473	req.SetContext(ctx)
19474	req.ApplyOptions(opts...)
19475	return out, req.Send()
19476}
19477
19478const opDescribeReservedInstances = "DescribeReservedInstances"
19479
19480// DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
19481// client's request for the DescribeReservedInstances operation. The "output" return
19482// value will be populated with the request's response once the request completes
19483// successfully.
19484//
19485// Use "Send" method on the returned Request to send the API call to the service.
19486// the "output" return value is not valid until after Send returns without error.
19487//
19488// See DescribeReservedInstances for more information on using the DescribeReservedInstances
19489// API call, and error handling.
19490//
19491// This method is useful when you want to inject custom logic or configuration
19492// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19493//
19494//
19495//    // Example sending a request using the DescribeReservedInstancesRequest method.
19496//    req, resp := client.DescribeReservedInstancesRequest(params)
19497//
19498//    err := req.Send()
19499//    if err == nil { // resp is now filled
19500//        fmt.Println(resp)
19501//    }
19502//
19503// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
19504func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
19505	op := &request.Operation{
19506		Name:       opDescribeReservedInstances,
19507		HTTPMethod: "POST",
19508		HTTPPath:   "/",
19509	}
19510
19511	if input == nil {
19512		input = &DescribeReservedInstancesInput{}
19513	}
19514
19515	output = &DescribeReservedInstancesOutput{}
19516	req = c.newRequest(op, input, output)
19517	return
19518}
19519
19520// DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
19521//
19522// Describes one or more of the Reserved Instances that you purchased.
19523//
19524// For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
19525// in the Amazon Elastic Compute Cloud User Guide.
19526//
19527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19528// with awserr.Error's Code and Message methods to get detailed information about
19529// the error.
19530//
19531// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19532// API operation DescribeReservedInstances for usage and error information.
19533// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
19534func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
19535	req, out := c.DescribeReservedInstancesRequest(input)
19536	return out, req.Send()
19537}
19538
19539// DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
19540// the ability to pass a context and additional request options.
19541//
19542// See DescribeReservedInstances for details on how to use this API operation.
19543//
19544// The context must be non-nil and will be used for request cancellation. If
19545// the context is nil a panic will occur. In the future the SDK may create
19546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19547// for more information on using Contexts.
19548func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
19549	req, out := c.DescribeReservedInstancesRequest(input)
19550	req.SetContext(ctx)
19551	req.ApplyOptions(opts...)
19552	return out, req.Send()
19553}
19554
19555const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
19556
19557// DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
19558// client's request for the DescribeReservedInstancesListings operation. The "output" return
19559// value will be populated with the request's response once the request completes
19560// successfully.
19561//
19562// Use "Send" method on the returned Request to send the API call to the service.
19563// the "output" return value is not valid until after Send returns without error.
19564//
19565// See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
19566// API call, and error handling.
19567//
19568// This method is useful when you want to inject custom logic or configuration
19569// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19570//
19571//
19572//    // Example sending a request using the DescribeReservedInstancesListingsRequest method.
19573//    req, resp := client.DescribeReservedInstancesListingsRequest(params)
19574//
19575//    err := req.Send()
19576//    if err == nil { // resp is now filled
19577//        fmt.Println(resp)
19578//    }
19579//
19580// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
19581func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
19582	op := &request.Operation{
19583		Name:       opDescribeReservedInstancesListings,
19584		HTTPMethod: "POST",
19585		HTTPPath:   "/",
19586	}
19587
19588	if input == nil {
19589		input = &DescribeReservedInstancesListingsInput{}
19590	}
19591
19592	output = &DescribeReservedInstancesListingsOutput{}
19593	req = c.newRequest(op, input, output)
19594	return
19595}
19596
19597// DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
19598//
19599// Describes your account's Reserved Instance listings in the Reserved Instance
19600// Marketplace.
19601//
19602// The Reserved Instance Marketplace matches sellers who want to resell Reserved
19603// Instance capacity that they no longer need with buyers who want to purchase
19604// additional capacity. Reserved Instances bought and sold through the Reserved
19605// Instance Marketplace work like any other Reserved Instances.
19606//
19607// As a seller, you choose to list some or all of your Reserved Instances, and
19608// you specify the upfront price to receive for them. Your Reserved Instances
19609// are then listed in the Reserved Instance Marketplace and are available for
19610// purchase.
19611//
19612// As a buyer, you specify the configuration of the Reserved Instance to purchase,
19613// and the Marketplace matches what you're searching for with what's available.
19614// The Marketplace first sells the lowest priced Reserved Instances to you,
19615// and continues to sell available Reserved Instance listings to you until your
19616// demand is met. You are charged based on the total price of all of the listings
19617// that you purchase.
19618//
19619// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
19620// in the Amazon Elastic Compute Cloud User Guide.
19621//
19622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19623// with awserr.Error's Code and Message methods to get detailed information about
19624// the error.
19625//
19626// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19627// API operation DescribeReservedInstancesListings for usage and error information.
19628// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
19629func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
19630	req, out := c.DescribeReservedInstancesListingsRequest(input)
19631	return out, req.Send()
19632}
19633
19634// DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
19635// the ability to pass a context and additional request options.
19636//
19637// See DescribeReservedInstancesListings for details on how to use this API operation.
19638//
19639// The context must be non-nil and will be used for request cancellation. If
19640// the context is nil a panic will occur. In the future the SDK may create
19641// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19642// for more information on using Contexts.
19643func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
19644	req, out := c.DescribeReservedInstancesListingsRequest(input)
19645	req.SetContext(ctx)
19646	req.ApplyOptions(opts...)
19647	return out, req.Send()
19648}
19649
19650const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
19651
19652// DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
19653// client's request for the DescribeReservedInstancesModifications operation. The "output" return
19654// value will be populated with the request's response once the request completes
19655// successfully.
19656//
19657// Use "Send" method on the returned Request to send the API call to the service.
19658// the "output" return value is not valid until after Send returns without error.
19659//
19660// See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
19661// API call, and error handling.
19662//
19663// This method is useful when you want to inject custom logic or configuration
19664// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19665//
19666//
19667//    // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
19668//    req, resp := client.DescribeReservedInstancesModificationsRequest(params)
19669//
19670//    err := req.Send()
19671//    if err == nil { // resp is now filled
19672//        fmt.Println(resp)
19673//    }
19674//
19675// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
19676func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
19677	op := &request.Operation{
19678		Name:       opDescribeReservedInstancesModifications,
19679		HTTPMethod: "POST",
19680		HTTPPath:   "/",
19681		Paginator: &request.Paginator{
19682			InputTokens:     []string{"NextToken"},
19683			OutputTokens:    []string{"NextToken"},
19684			LimitToken:      "",
19685			TruncationToken: "",
19686		},
19687	}
19688
19689	if input == nil {
19690		input = &DescribeReservedInstancesModificationsInput{}
19691	}
19692
19693	output = &DescribeReservedInstancesModificationsOutput{}
19694	req = c.newRequest(op, input, output)
19695	return
19696}
19697
19698// DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
19699//
19700// Describes the modifications made to your Reserved Instances. If no parameter
19701// is specified, information about all your Reserved Instances modification
19702// requests is returned. If a modification ID is specified, only information
19703// about the specific modification is returned.
19704//
19705// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
19706// in the Amazon Elastic Compute Cloud User Guide.
19707//
19708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19709// with awserr.Error's Code and Message methods to get detailed information about
19710// the error.
19711//
19712// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19713// API operation DescribeReservedInstancesModifications for usage and error information.
19714// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
19715func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
19716	req, out := c.DescribeReservedInstancesModificationsRequest(input)
19717	return out, req.Send()
19718}
19719
19720// DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
19721// the ability to pass a context and additional request options.
19722//
19723// See DescribeReservedInstancesModifications for details on how to use this API operation.
19724//
19725// The context must be non-nil and will be used for request cancellation. If
19726// the context is nil a panic will occur. In the future the SDK may create
19727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19728// for more information on using Contexts.
19729func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
19730	req, out := c.DescribeReservedInstancesModificationsRequest(input)
19731	req.SetContext(ctx)
19732	req.ApplyOptions(opts...)
19733	return out, req.Send()
19734}
19735
19736// DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
19737// calling the "fn" function with the response data for each page. To stop
19738// iterating, return false from the fn function.
19739//
19740// See DescribeReservedInstancesModifications method for more information on how to use this operation.
19741//
19742// Note: This operation can generate multiple requests to a service.
19743//
19744//    // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
19745//    pageNum := 0
19746//    err := client.DescribeReservedInstancesModificationsPages(params,
19747//        func(page *ec2.DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
19748//            pageNum++
19749//            fmt.Println(page)
19750//            return pageNum <= 3
19751//        })
19752//
19753func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
19754	return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
19755}
19756
19757// DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
19758// it takes a Context and allows setting request options on the pages.
19759//
19760// The context must be non-nil and will be used for request cancellation. If
19761// the context is nil a panic will occur. In the future the SDK may create
19762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19763// for more information on using Contexts.
19764func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
19765	p := request.Pagination{
19766		NewRequest: func() (*request.Request, error) {
19767			var inCpy *DescribeReservedInstancesModificationsInput
19768			if input != nil {
19769				tmp := *input
19770				inCpy = &tmp
19771			}
19772			req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
19773			req.SetContext(ctx)
19774			req.ApplyOptions(opts...)
19775			return req, nil
19776		},
19777	}
19778
19779	for p.Next() {
19780		if !fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage()) {
19781			break
19782		}
19783	}
19784
19785	return p.Err()
19786}
19787
19788const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
19789
19790// DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
19791// client's request for the DescribeReservedInstancesOfferings operation. The "output" return
19792// value will be populated with the request's response once the request completes
19793// successfully.
19794//
19795// Use "Send" method on the returned Request to send the API call to the service.
19796// the "output" return value is not valid until after Send returns without error.
19797//
19798// See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
19799// API call, and error handling.
19800//
19801// This method is useful when you want to inject custom logic or configuration
19802// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19803//
19804//
19805//    // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
19806//    req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
19807//
19808//    err := req.Send()
19809//    if err == nil { // resp is now filled
19810//        fmt.Println(resp)
19811//    }
19812//
19813// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
19814func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
19815	op := &request.Operation{
19816		Name:       opDescribeReservedInstancesOfferings,
19817		HTTPMethod: "POST",
19818		HTTPPath:   "/",
19819		Paginator: &request.Paginator{
19820			InputTokens:     []string{"NextToken"},
19821			OutputTokens:    []string{"NextToken"},
19822			LimitToken:      "MaxResults",
19823			TruncationToken: "",
19824		},
19825	}
19826
19827	if input == nil {
19828		input = &DescribeReservedInstancesOfferingsInput{}
19829	}
19830
19831	output = &DescribeReservedInstancesOfferingsOutput{}
19832	req = c.newRequest(op, input, output)
19833	return
19834}
19835
19836// DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
19837//
19838// Describes Reserved Instance offerings that are available for purchase. With
19839// Reserved Instances, you purchase the right to launch instances for a period
19840// of time. During that time period, you do not receive insufficient capacity
19841// errors, and you pay a lower usage rate than the rate charged for On-Demand
19842// instances for the actual time used.
19843//
19844// If you have listed your own Reserved Instances for sale in the Reserved Instance
19845// Marketplace, they will be excluded from these results. This is to ensure
19846// that you do not purchase your own Reserved Instances.
19847//
19848// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
19849// in the Amazon Elastic Compute Cloud User Guide.
19850//
19851// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19852// with awserr.Error's Code and Message methods to get detailed information about
19853// the error.
19854//
19855// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19856// API operation DescribeReservedInstancesOfferings for usage and error information.
19857// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
19858func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
19859	req, out := c.DescribeReservedInstancesOfferingsRequest(input)
19860	return out, req.Send()
19861}
19862
19863// DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
19864// the ability to pass a context and additional request options.
19865//
19866// See DescribeReservedInstancesOfferings for details on how to use this API operation.
19867//
19868// The context must be non-nil and will be used for request cancellation. If
19869// the context is nil a panic will occur. In the future the SDK may create
19870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19871// for more information on using Contexts.
19872func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
19873	req, out := c.DescribeReservedInstancesOfferingsRequest(input)
19874	req.SetContext(ctx)
19875	req.ApplyOptions(opts...)
19876	return out, req.Send()
19877}
19878
19879// DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
19880// calling the "fn" function with the response data for each page. To stop
19881// iterating, return false from the fn function.
19882//
19883// See DescribeReservedInstancesOfferings method for more information on how to use this operation.
19884//
19885// Note: This operation can generate multiple requests to a service.
19886//
19887//    // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
19888//    pageNum := 0
19889//    err := client.DescribeReservedInstancesOfferingsPages(params,
19890//        func(page *ec2.DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
19891//            pageNum++
19892//            fmt.Println(page)
19893//            return pageNum <= 3
19894//        })
19895//
19896func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
19897	return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
19898}
19899
19900// DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
19901// it takes a Context and allows setting request options on the pages.
19902//
19903// The context must be non-nil and will be used for request cancellation. If
19904// the context is nil a panic will occur. In the future the SDK may create
19905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19906// for more information on using Contexts.
19907func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
19908	p := request.Pagination{
19909		NewRequest: func() (*request.Request, error) {
19910			var inCpy *DescribeReservedInstancesOfferingsInput
19911			if input != nil {
19912				tmp := *input
19913				inCpy = &tmp
19914			}
19915			req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
19916			req.SetContext(ctx)
19917			req.ApplyOptions(opts...)
19918			return req, nil
19919		},
19920	}
19921
19922	for p.Next() {
19923		if !fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage()) {
19924			break
19925		}
19926	}
19927
19928	return p.Err()
19929}
19930
19931const opDescribeRouteTables = "DescribeRouteTables"
19932
19933// DescribeRouteTablesRequest generates a "aws/request.Request" representing the
19934// client's request for the DescribeRouteTables operation. The "output" return
19935// value will be populated with the request's response once the request completes
19936// successfully.
19937//
19938// Use "Send" method on the returned Request to send the API call to the service.
19939// the "output" return value is not valid until after Send returns without error.
19940//
19941// See DescribeRouteTables for more information on using the DescribeRouteTables
19942// API call, and error handling.
19943//
19944// This method is useful when you want to inject custom logic or configuration
19945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19946//
19947//
19948//    // Example sending a request using the DescribeRouteTablesRequest method.
19949//    req, resp := client.DescribeRouteTablesRequest(params)
19950//
19951//    err := req.Send()
19952//    if err == nil { // resp is now filled
19953//        fmt.Println(resp)
19954//    }
19955//
19956// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
19957func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
19958	op := &request.Operation{
19959		Name:       opDescribeRouteTables,
19960		HTTPMethod: "POST",
19961		HTTPPath:   "/",
19962		Paginator: &request.Paginator{
19963			InputTokens:     []string{"NextToken"},
19964			OutputTokens:    []string{"NextToken"},
19965			LimitToken:      "MaxResults",
19966			TruncationToken: "",
19967		},
19968	}
19969
19970	if input == nil {
19971		input = &DescribeRouteTablesInput{}
19972	}
19973
19974	output = &DescribeRouteTablesOutput{}
19975	req = c.newRequest(op, input, output)
19976	return
19977}
19978
19979// DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
19980//
19981// Describes one or more of your route tables.
19982//
19983// Each subnet in your VPC must be associated with a route table. If a subnet
19984// is not explicitly associated with any route table, it is implicitly associated
19985// with the main route table. This command does not return the subnet ID for
19986// implicit associations.
19987//
19988// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
19989// in the Amazon Virtual Private Cloud User Guide.
19990//
19991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19992// with awserr.Error's Code and Message methods to get detailed information about
19993// the error.
19994//
19995// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19996// API operation DescribeRouteTables for usage and error information.
19997// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
19998func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
19999	req, out := c.DescribeRouteTablesRequest(input)
20000	return out, req.Send()
20001}
20002
20003// DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
20004// the ability to pass a context and additional request options.
20005//
20006// See DescribeRouteTables for details on how to use this API operation.
20007//
20008// The context must be non-nil and will be used for request cancellation. If
20009// the context is nil a panic will occur. In the future the SDK may create
20010// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20011// for more information on using Contexts.
20012func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
20013	req, out := c.DescribeRouteTablesRequest(input)
20014	req.SetContext(ctx)
20015	req.ApplyOptions(opts...)
20016	return out, req.Send()
20017}
20018
20019// DescribeRouteTablesPages iterates over the pages of a DescribeRouteTables operation,
20020// calling the "fn" function with the response data for each page. To stop
20021// iterating, return false from the fn function.
20022//
20023// See DescribeRouteTables method for more information on how to use this operation.
20024//
20025// Note: This operation can generate multiple requests to a service.
20026//
20027//    // Example iterating over at most 3 pages of a DescribeRouteTables operation.
20028//    pageNum := 0
20029//    err := client.DescribeRouteTablesPages(params,
20030//        func(page *ec2.DescribeRouteTablesOutput, lastPage bool) bool {
20031//            pageNum++
20032//            fmt.Println(page)
20033//            return pageNum <= 3
20034//        })
20035//
20036func (c *EC2) DescribeRouteTablesPages(input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool) error {
20037	return c.DescribeRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
20038}
20039
20040// DescribeRouteTablesPagesWithContext same as DescribeRouteTablesPages except
20041// it takes a Context and allows setting request options on the pages.
20042//
20043// The context must be non-nil and will be used for request cancellation. If
20044// the context is nil a panic will occur. In the future the SDK may create
20045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20046// for more information on using Contexts.
20047func (c *EC2) DescribeRouteTablesPagesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool, opts ...request.Option) error {
20048	p := request.Pagination{
20049		NewRequest: func() (*request.Request, error) {
20050			var inCpy *DescribeRouteTablesInput
20051			if input != nil {
20052				tmp := *input
20053				inCpy = &tmp
20054			}
20055			req, _ := c.DescribeRouteTablesRequest(inCpy)
20056			req.SetContext(ctx)
20057			req.ApplyOptions(opts...)
20058			return req, nil
20059		},
20060	}
20061
20062	for p.Next() {
20063		if !fn(p.Page().(*DescribeRouteTablesOutput), !p.HasNextPage()) {
20064			break
20065		}
20066	}
20067
20068	return p.Err()
20069}
20070
20071const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
20072
20073// DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
20074// client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
20075// value will be populated with the request's response once the request completes
20076// successfully.
20077//
20078// Use "Send" method on the returned Request to send the API call to the service.
20079// the "output" return value is not valid until after Send returns without error.
20080//
20081// See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
20082// API call, and error handling.
20083//
20084// This method is useful when you want to inject custom logic or configuration
20085// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20086//
20087//
20088//    // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
20089//    req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
20090//
20091//    err := req.Send()
20092//    if err == nil { // resp is now filled
20093//        fmt.Println(resp)
20094//    }
20095//
20096// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
20097func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
20098	op := &request.Operation{
20099		Name:       opDescribeScheduledInstanceAvailability,
20100		HTTPMethod: "POST",
20101		HTTPPath:   "/",
20102		Paginator: &request.Paginator{
20103			InputTokens:     []string{"NextToken"},
20104			OutputTokens:    []string{"NextToken"},
20105			LimitToken:      "MaxResults",
20106			TruncationToken: "",
20107		},
20108	}
20109
20110	if input == nil {
20111		input = &DescribeScheduledInstanceAvailabilityInput{}
20112	}
20113
20114	output = &DescribeScheduledInstanceAvailabilityOutput{}
20115	req = c.newRequest(op, input, output)
20116	return
20117}
20118
20119// DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
20120//
20121// Finds available schedules that meet the specified criteria.
20122//
20123// You can search for an available schedule no more than 3 months in advance.
20124// You must meet the minimum required duration of 1,200 hours per year. For
20125// example, the minimum daily schedule is 4 hours, the minimum weekly schedule
20126// is 24 hours, and the minimum monthly schedule is 100 hours.
20127//
20128// After you find a schedule that meets your needs, call PurchaseScheduledInstances
20129// to purchase Scheduled Instances with that schedule.
20130//
20131// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20132// with awserr.Error's Code and Message methods to get detailed information about
20133// the error.
20134//
20135// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20136// API operation DescribeScheduledInstanceAvailability for usage and error information.
20137// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
20138func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
20139	req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
20140	return out, req.Send()
20141}
20142
20143// DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
20144// the ability to pass a context and additional request options.
20145//
20146// See DescribeScheduledInstanceAvailability for details on how to use this API operation.
20147//
20148// The context must be non-nil and will be used for request cancellation. If
20149// the context is nil a panic will occur. In the future the SDK may create
20150// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20151// for more information on using Contexts.
20152func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
20153	req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
20154	req.SetContext(ctx)
20155	req.ApplyOptions(opts...)
20156	return out, req.Send()
20157}
20158
20159// DescribeScheduledInstanceAvailabilityPages iterates over the pages of a DescribeScheduledInstanceAvailability operation,
20160// calling the "fn" function with the response data for each page. To stop
20161// iterating, return false from the fn function.
20162//
20163// See DescribeScheduledInstanceAvailability method for more information on how to use this operation.
20164//
20165// Note: This operation can generate multiple requests to a service.
20166//
20167//    // Example iterating over at most 3 pages of a DescribeScheduledInstanceAvailability operation.
20168//    pageNum := 0
20169//    err := client.DescribeScheduledInstanceAvailabilityPages(params,
20170//        func(page *ec2.DescribeScheduledInstanceAvailabilityOutput, lastPage bool) bool {
20171//            pageNum++
20172//            fmt.Println(page)
20173//            return pageNum <= 3
20174//        })
20175//
20176func (c *EC2) DescribeScheduledInstanceAvailabilityPages(input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool) error {
20177	return c.DescribeScheduledInstanceAvailabilityPagesWithContext(aws.BackgroundContext(), input, fn)
20178}
20179
20180// DescribeScheduledInstanceAvailabilityPagesWithContext same as DescribeScheduledInstanceAvailabilityPages except
20181// it takes a Context and allows setting request options on the pages.
20182//
20183// The context must be non-nil and will be used for request cancellation. If
20184// the context is nil a panic will occur. In the future the SDK may create
20185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20186// for more information on using Contexts.
20187func (c *EC2) DescribeScheduledInstanceAvailabilityPagesWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool, opts ...request.Option) error {
20188	p := request.Pagination{
20189		NewRequest: func() (*request.Request, error) {
20190			var inCpy *DescribeScheduledInstanceAvailabilityInput
20191			if input != nil {
20192				tmp := *input
20193				inCpy = &tmp
20194			}
20195			req, _ := c.DescribeScheduledInstanceAvailabilityRequest(inCpy)
20196			req.SetContext(ctx)
20197			req.ApplyOptions(opts...)
20198			return req, nil
20199		},
20200	}
20201
20202	for p.Next() {
20203		if !fn(p.Page().(*DescribeScheduledInstanceAvailabilityOutput), !p.HasNextPage()) {
20204			break
20205		}
20206	}
20207
20208	return p.Err()
20209}
20210
20211const opDescribeScheduledInstances = "DescribeScheduledInstances"
20212
20213// DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
20214// client's request for the DescribeScheduledInstances operation. The "output" return
20215// value will be populated with the request's response once the request completes
20216// successfully.
20217//
20218// Use "Send" method on the returned Request to send the API call to the service.
20219// the "output" return value is not valid until after Send returns without error.
20220//
20221// See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
20222// API call, and error handling.
20223//
20224// This method is useful when you want to inject custom logic or configuration
20225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20226//
20227//
20228//    // Example sending a request using the DescribeScheduledInstancesRequest method.
20229//    req, resp := client.DescribeScheduledInstancesRequest(params)
20230//
20231//    err := req.Send()
20232//    if err == nil { // resp is now filled
20233//        fmt.Println(resp)
20234//    }
20235//
20236// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
20237func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
20238	op := &request.Operation{
20239		Name:       opDescribeScheduledInstances,
20240		HTTPMethod: "POST",
20241		HTTPPath:   "/",
20242		Paginator: &request.Paginator{
20243			InputTokens:     []string{"NextToken"},
20244			OutputTokens:    []string{"NextToken"},
20245			LimitToken:      "MaxResults",
20246			TruncationToken: "",
20247		},
20248	}
20249
20250	if input == nil {
20251		input = &DescribeScheduledInstancesInput{}
20252	}
20253
20254	output = &DescribeScheduledInstancesOutput{}
20255	req = c.newRequest(op, input, output)
20256	return
20257}
20258
20259// DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
20260//
20261// Describes the specified Scheduled Instances or all your Scheduled Instances.
20262//
20263// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20264// with awserr.Error's Code and Message methods to get detailed information about
20265// the error.
20266//
20267// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20268// API operation DescribeScheduledInstances for usage and error information.
20269// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
20270func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
20271	req, out := c.DescribeScheduledInstancesRequest(input)
20272	return out, req.Send()
20273}
20274
20275// DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
20276// the ability to pass a context and additional request options.
20277//
20278// See DescribeScheduledInstances for details on how to use this API operation.
20279//
20280// The context must be non-nil and will be used for request cancellation. If
20281// the context is nil a panic will occur. In the future the SDK may create
20282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20283// for more information on using Contexts.
20284func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
20285	req, out := c.DescribeScheduledInstancesRequest(input)
20286	req.SetContext(ctx)
20287	req.ApplyOptions(opts...)
20288	return out, req.Send()
20289}
20290
20291// DescribeScheduledInstancesPages iterates over the pages of a DescribeScheduledInstances operation,
20292// calling the "fn" function with the response data for each page. To stop
20293// iterating, return false from the fn function.
20294//
20295// See DescribeScheduledInstances method for more information on how to use this operation.
20296//
20297// Note: This operation can generate multiple requests to a service.
20298//
20299//    // Example iterating over at most 3 pages of a DescribeScheduledInstances operation.
20300//    pageNum := 0
20301//    err := client.DescribeScheduledInstancesPages(params,
20302//        func(page *ec2.DescribeScheduledInstancesOutput, lastPage bool) bool {
20303//            pageNum++
20304//            fmt.Println(page)
20305//            return pageNum <= 3
20306//        })
20307//
20308func (c *EC2) DescribeScheduledInstancesPages(input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool) error {
20309	return c.DescribeScheduledInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
20310}
20311
20312// DescribeScheduledInstancesPagesWithContext same as DescribeScheduledInstancesPages except
20313// it takes a Context and allows setting request options on the pages.
20314//
20315// The context must be non-nil and will be used for request cancellation. If
20316// the context is nil a panic will occur. In the future the SDK may create
20317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20318// for more information on using Contexts.
20319func (c *EC2) DescribeScheduledInstancesPagesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool, opts ...request.Option) error {
20320	p := request.Pagination{
20321		NewRequest: func() (*request.Request, error) {
20322			var inCpy *DescribeScheduledInstancesInput
20323			if input != nil {
20324				tmp := *input
20325				inCpy = &tmp
20326			}
20327			req, _ := c.DescribeScheduledInstancesRequest(inCpy)
20328			req.SetContext(ctx)
20329			req.ApplyOptions(opts...)
20330			return req, nil
20331		},
20332	}
20333
20334	for p.Next() {
20335		if !fn(p.Page().(*DescribeScheduledInstancesOutput), !p.HasNextPage()) {
20336			break
20337		}
20338	}
20339
20340	return p.Err()
20341}
20342
20343const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
20344
20345// DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
20346// client's request for the DescribeSecurityGroupReferences operation. The "output" return
20347// value will be populated with the request's response once the request completes
20348// successfully.
20349//
20350// Use "Send" method on the returned Request to send the API call to the service.
20351// the "output" return value is not valid until after Send returns without error.
20352//
20353// See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
20354// API call, and error handling.
20355//
20356// This method is useful when you want to inject custom logic or configuration
20357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20358//
20359//
20360//    // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
20361//    req, resp := client.DescribeSecurityGroupReferencesRequest(params)
20362//
20363//    err := req.Send()
20364//    if err == nil { // resp is now filled
20365//        fmt.Println(resp)
20366//    }
20367//
20368// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
20369func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
20370	op := &request.Operation{
20371		Name:       opDescribeSecurityGroupReferences,
20372		HTTPMethod: "POST",
20373		HTTPPath:   "/",
20374	}
20375
20376	if input == nil {
20377		input = &DescribeSecurityGroupReferencesInput{}
20378	}
20379
20380	output = &DescribeSecurityGroupReferencesOutput{}
20381	req = c.newRequest(op, input, output)
20382	return
20383}
20384
20385// DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
20386//
20387// [VPC only] Describes the VPCs on the other side of a VPC peering connection
20388// that are referencing the security groups you've specified in this request.
20389//
20390// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20391// with awserr.Error's Code and Message methods to get detailed information about
20392// the error.
20393//
20394// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20395// API operation DescribeSecurityGroupReferences for usage and error information.
20396// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
20397func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
20398	req, out := c.DescribeSecurityGroupReferencesRequest(input)
20399	return out, req.Send()
20400}
20401
20402// DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
20403// the ability to pass a context and additional request options.
20404//
20405// See DescribeSecurityGroupReferences for details on how to use this API operation.
20406//
20407// The context must be non-nil and will be used for request cancellation. If
20408// the context is nil a panic will occur. In the future the SDK may create
20409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20410// for more information on using Contexts.
20411func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
20412	req, out := c.DescribeSecurityGroupReferencesRequest(input)
20413	req.SetContext(ctx)
20414	req.ApplyOptions(opts...)
20415	return out, req.Send()
20416}
20417
20418const opDescribeSecurityGroups = "DescribeSecurityGroups"
20419
20420// DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
20421// client's request for the DescribeSecurityGroups operation. The "output" return
20422// value will be populated with the request's response once the request completes
20423// successfully.
20424//
20425// Use "Send" method on the returned Request to send the API call to the service.
20426// the "output" return value is not valid until after Send returns without error.
20427//
20428// See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
20429// API call, and error handling.
20430//
20431// This method is useful when you want to inject custom logic or configuration
20432// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20433//
20434//
20435//    // Example sending a request using the DescribeSecurityGroupsRequest method.
20436//    req, resp := client.DescribeSecurityGroupsRequest(params)
20437//
20438//    err := req.Send()
20439//    if err == nil { // resp is now filled
20440//        fmt.Println(resp)
20441//    }
20442//
20443// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
20444func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
20445	op := &request.Operation{
20446		Name:       opDescribeSecurityGroups,
20447		HTTPMethod: "POST",
20448		HTTPPath:   "/",
20449		Paginator: &request.Paginator{
20450			InputTokens:     []string{"NextToken"},
20451			OutputTokens:    []string{"NextToken"},
20452			LimitToken:      "MaxResults",
20453			TruncationToken: "",
20454		},
20455	}
20456
20457	if input == nil {
20458		input = &DescribeSecurityGroupsInput{}
20459	}
20460
20461	output = &DescribeSecurityGroupsOutput{}
20462	req = c.newRequest(op, input, output)
20463	return
20464}
20465
20466// DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
20467//
20468// Describes the specified security groups or all of your security groups.
20469//
20470// A security group is for use with instances either in the EC2-Classic platform
20471// or in a specific VPC. For more information, see Amazon EC2 Security Groups
20472// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
20473// in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
20474// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
20475// in the Amazon Virtual Private Cloud User Guide.
20476//
20477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20478// with awserr.Error's Code and Message methods to get detailed information about
20479// the error.
20480//
20481// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20482// API operation DescribeSecurityGroups for usage and error information.
20483// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
20484func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
20485	req, out := c.DescribeSecurityGroupsRequest(input)
20486	return out, req.Send()
20487}
20488
20489// DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
20490// the ability to pass a context and additional request options.
20491//
20492// See DescribeSecurityGroups for details on how to use this API operation.
20493//
20494// The context must be non-nil and will be used for request cancellation. If
20495// the context is nil a panic will occur. In the future the SDK may create
20496// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20497// for more information on using Contexts.
20498func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
20499	req, out := c.DescribeSecurityGroupsRequest(input)
20500	req.SetContext(ctx)
20501	req.ApplyOptions(opts...)
20502	return out, req.Send()
20503}
20504
20505// DescribeSecurityGroupsPages iterates over the pages of a DescribeSecurityGroups operation,
20506// calling the "fn" function with the response data for each page. To stop
20507// iterating, return false from the fn function.
20508//
20509// See DescribeSecurityGroups method for more information on how to use this operation.
20510//
20511// Note: This operation can generate multiple requests to a service.
20512//
20513//    // Example iterating over at most 3 pages of a DescribeSecurityGroups operation.
20514//    pageNum := 0
20515//    err := client.DescribeSecurityGroupsPages(params,
20516//        func(page *ec2.DescribeSecurityGroupsOutput, lastPage bool) bool {
20517//            pageNum++
20518//            fmt.Println(page)
20519//            return pageNum <= 3
20520//        })
20521//
20522func (c *EC2) DescribeSecurityGroupsPages(input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool) error {
20523	return c.DescribeSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
20524}
20525
20526// DescribeSecurityGroupsPagesWithContext same as DescribeSecurityGroupsPages except
20527// it takes a Context and allows setting request options on the pages.
20528//
20529// The context must be non-nil and will be used for request cancellation. If
20530// the context is nil a panic will occur. In the future the SDK may create
20531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20532// for more information on using Contexts.
20533func (c *EC2) DescribeSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
20534	p := request.Pagination{
20535		NewRequest: func() (*request.Request, error) {
20536			var inCpy *DescribeSecurityGroupsInput
20537			if input != nil {
20538				tmp := *input
20539				inCpy = &tmp
20540			}
20541			req, _ := c.DescribeSecurityGroupsRequest(inCpy)
20542			req.SetContext(ctx)
20543			req.ApplyOptions(opts...)
20544			return req, nil
20545		},
20546	}
20547
20548	for p.Next() {
20549		if !fn(p.Page().(*DescribeSecurityGroupsOutput), !p.HasNextPage()) {
20550			break
20551		}
20552	}
20553
20554	return p.Err()
20555}
20556
20557const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
20558
20559// DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
20560// client's request for the DescribeSnapshotAttribute operation. The "output" return
20561// value will be populated with the request's response once the request completes
20562// successfully.
20563//
20564// Use "Send" method on the returned Request to send the API call to the service.
20565// the "output" return value is not valid until after Send returns without error.
20566//
20567// See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
20568// API call, and error handling.
20569//
20570// This method is useful when you want to inject custom logic or configuration
20571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20572//
20573//
20574//    // Example sending a request using the DescribeSnapshotAttributeRequest method.
20575//    req, resp := client.DescribeSnapshotAttributeRequest(params)
20576//
20577//    err := req.Send()
20578//    if err == nil { // resp is now filled
20579//        fmt.Println(resp)
20580//    }
20581//
20582// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
20583func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
20584	op := &request.Operation{
20585		Name:       opDescribeSnapshotAttribute,
20586		HTTPMethod: "POST",
20587		HTTPPath:   "/",
20588	}
20589
20590	if input == nil {
20591		input = &DescribeSnapshotAttributeInput{}
20592	}
20593
20594	output = &DescribeSnapshotAttributeOutput{}
20595	req = c.newRequest(op, input, output)
20596	return
20597}
20598
20599// DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
20600//
20601// Describes the specified attribute of the specified snapshot. You can specify
20602// only one attribute at a time.
20603//
20604// For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
20605// in the Amazon Elastic Compute Cloud User Guide.
20606//
20607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20608// with awserr.Error's Code and Message methods to get detailed information about
20609// the error.
20610//
20611// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20612// API operation DescribeSnapshotAttribute for usage and error information.
20613// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
20614func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
20615	req, out := c.DescribeSnapshotAttributeRequest(input)
20616	return out, req.Send()
20617}
20618
20619// DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
20620// the ability to pass a context and additional request options.
20621//
20622// See DescribeSnapshotAttribute for details on how to use this API operation.
20623//
20624// The context must be non-nil and will be used for request cancellation. If
20625// the context is nil a panic will occur. In the future the SDK may create
20626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20627// for more information on using Contexts.
20628func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
20629	req, out := c.DescribeSnapshotAttributeRequest(input)
20630	req.SetContext(ctx)
20631	req.ApplyOptions(opts...)
20632	return out, req.Send()
20633}
20634
20635const opDescribeSnapshots = "DescribeSnapshots"
20636
20637// DescribeSnapshotsRequest generates a "aws/request.Request" representing the
20638// client's request for the DescribeSnapshots operation. The "output" return
20639// value will be populated with the request's response once the request completes
20640// successfully.
20641//
20642// Use "Send" method on the returned Request to send the API call to the service.
20643// the "output" return value is not valid until after Send returns without error.
20644//
20645// See DescribeSnapshots for more information on using the DescribeSnapshots
20646// API call, and error handling.
20647//
20648// This method is useful when you want to inject custom logic or configuration
20649// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20650//
20651//
20652//    // Example sending a request using the DescribeSnapshotsRequest method.
20653//    req, resp := client.DescribeSnapshotsRequest(params)
20654//
20655//    err := req.Send()
20656//    if err == nil { // resp is now filled
20657//        fmt.Println(resp)
20658//    }
20659//
20660// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
20661func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
20662	op := &request.Operation{
20663		Name:       opDescribeSnapshots,
20664		HTTPMethod: "POST",
20665		HTTPPath:   "/",
20666		Paginator: &request.Paginator{
20667			InputTokens:     []string{"NextToken"},
20668			OutputTokens:    []string{"NextToken"},
20669			LimitToken:      "MaxResults",
20670			TruncationToken: "",
20671		},
20672	}
20673
20674	if input == nil {
20675		input = &DescribeSnapshotsInput{}
20676	}
20677
20678	output = &DescribeSnapshotsOutput{}
20679	req = c.newRequest(op, input, output)
20680	return
20681}
20682
20683// DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
20684//
20685// Describes the specified EBS snapshots available to you or all of the EBS
20686// snapshots available to you.
20687//
20688// The snapshots available to you include public snapshots, private snapshots
20689// that you own, and private snapshots owned by other AWS accounts for which
20690// you have explicit create volume permissions.
20691//
20692// The create volume permissions fall into the following categories:
20693//
20694//    * public: The owner of the snapshot granted create volume permissions
20695//    for the snapshot to the all group. All AWS accounts have create volume
20696//    permissions for these snapshots.
20697//
20698//    * explicit: The owner of the snapshot granted create volume permissions
20699//    to a specific AWS account.
20700//
20701//    * implicit: An AWS account has implicit create volume permissions for
20702//    all snapshots it owns.
20703//
20704// The list of snapshots returned can be filtered by specifying snapshot IDs,
20705// snapshot owners, or AWS accounts with create volume permissions. If no options
20706// are specified, Amazon EC2 returns all snapshots for which you have create
20707// volume permissions.
20708//
20709// If you specify one or more snapshot IDs, only snapshots that have the specified
20710// IDs are returned. If you specify an invalid snapshot ID, an error is returned.
20711// If you specify a snapshot ID for which you do not have access, it is not
20712// included in the returned results.
20713//
20714// If you specify one or more snapshot owners using the OwnerIds option, only
20715// snapshots from the specified owners and for which you have access are returned.
20716// The results can include the AWS account IDs of the specified owners, amazon
20717// for snapshots owned by Amazon, or self for snapshots that you own.
20718//
20719// If you specify a list of restorable users, only snapshots with create snapshot
20720// permissions for those users are returned. You can specify AWS account IDs
20721// (if you own the snapshots), self for snapshots for which you own or have
20722// explicit permissions, or all for public snapshots.
20723//
20724// If you are describing a long list of snapshots, you can paginate the output
20725// to make the list more manageable. The MaxResults parameter sets the maximum
20726// number of results returned in a single page. If the list of results exceeds
20727// your MaxResults value, then that number of results is returned along with
20728// a NextToken value that can be passed to a subsequent DescribeSnapshots request
20729// to retrieve the remaining results.
20730//
20731// To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.
20732//
20733// For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
20734// in the Amazon Elastic Compute Cloud User Guide.
20735//
20736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20737// with awserr.Error's Code and Message methods to get detailed information about
20738// the error.
20739//
20740// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20741// API operation DescribeSnapshots for usage and error information.
20742// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
20743func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
20744	req, out := c.DescribeSnapshotsRequest(input)
20745	return out, req.Send()
20746}
20747
20748// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
20749// the ability to pass a context and additional request options.
20750//
20751// See DescribeSnapshots for details on how to use this API operation.
20752//
20753// The context must be non-nil and will be used for request cancellation. If
20754// the context is nil a panic will occur. In the future the SDK may create
20755// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20756// for more information on using Contexts.
20757func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
20758	req, out := c.DescribeSnapshotsRequest(input)
20759	req.SetContext(ctx)
20760	req.ApplyOptions(opts...)
20761	return out, req.Send()
20762}
20763
20764// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
20765// calling the "fn" function with the response data for each page. To stop
20766// iterating, return false from the fn function.
20767//
20768// See DescribeSnapshots method for more information on how to use this operation.
20769//
20770// Note: This operation can generate multiple requests to a service.
20771//
20772//    // Example iterating over at most 3 pages of a DescribeSnapshots operation.
20773//    pageNum := 0
20774//    err := client.DescribeSnapshotsPages(params,
20775//        func(page *ec2.DescribeSnapshotsOutput, lastPage bool) bool {
20776//            pageNum++
20777//            fmt.Println(page)
20778//            return pageNum <= 3
20779//        })
20780//
20781func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
20782	return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
20783}
20784
20785// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
20786// it takes a Context and allows setting request options on the pages.
20787//
20788// The context must be non-nil and will be used for request cancellation. If
20789// the context is nil a panic will occur. In the future the SDK may create
20790// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20791// for more information on using Contexts.
20792func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
20793	p := request.Pagination{
20794		NewRequest: func() (*request.Request, error) {
20795			var inCpy *DescribeSnapshotsInput
20796			if input != nil {
20797				tmp := *input
20798				inCpy = &tmp
20799			}
20800			req, _ := c.DescribeSnapshotsRequest(inCpy)
20801			req.SetContext(ctx)
20802			req.ApplyOptions(opts...)
20803			return req, nil
20804		},
20805	}
20806
20807	for p.Next() {
20808		if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) {
20809			break
20810		}
20811	}
20812
20813	return p.Err()
20814}
20815
20816const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
20817
20818// DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
20819// client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
20820// value will be populated with the request's response once the request completes
20821// successfully.
20822//
20823// Use "Send" method on the returned Request to send the API call to the service.
20824// the "output" return value is not valid until after Send returns without error.
20825//
20826// See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
20827// API call, and error handling.
20828//
20829// This method is useful when you want to inject custom logic or configuration
20830// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20831//
20832//
20833//    // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
20834//    req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
20835//
20836//    err := req.Send()
20837//    if err == nil { // resp is now filled
20838//        fmt.Println(resp)
20839//    }
20840//
20841// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
20842func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
20843	op := &request.Operation{
20844		Name:       opDescribeSpotDatafeedSubscription,
20845		HTTPMethod: "POST",
20846		HTTPPath:   "/",
20847	}
20848
20849	if input == nil {
20850		input = &DescribeSpotDatafeedSubscriptionInput{}
20851	}
20852
20853	output = &DescribeSpotDatafeedSubscriptionOutput{}
20854	req = c.newRequest(op, input, output)
20855	return
20856}
20857
20858// DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
20859//
20860// Describes the data feed for Spot Instances. For more information, see Spot
20861// Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
20862// in the Amazon EC2 User Guide for Linux Instances.
20863//
20864// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20865// with awserr.Error's Code and Message methods to get detailed information about
20866// the error.
20867//
20868// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20869// API operation DescribeSpotDatafeedSubscription for usage and error information.
20870// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
20871func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
20872	req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
20873	return out, req.Send()
20874}
20875
20876// DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
20877// the ability to pass a context and additional request options.
20878//
20879// See DescribeSpotDatafeedSubscription for details on how to use this API operation.
20880//
20881// The context must be non-nil and will be used for request cancellation. If
20882// the context is nil a panic will occur. In the future the SDK may create
20883// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20884// for more information on using Contexts.
20885func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
20886	req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
20887	req.SetContext(ctx)
20888	req.ApplyOptions(opts...)
20889	return out, req.Send()
20890}
20891
20892const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
20893
20894// DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
20895// client's request for the DescribeSpotFleetInstances operation. The "output" return
20896// value will be populated with the request's response once the request completes
20897// successfully.
20898//
20899// Use "Send" method on the returned Request to send the API call to the service.
20900// the "output" return value is not valid until after Send returns without error.
20901//
20902// See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
20903// API call, and error handling.
20904//
20905// This method is useful when you want to inject custom logic or configuration
20906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20907//
20908//
20909//    // Example sending a request using the DescribeSpotFleetInstancesRequest method.
20910//    req, resp := client.DescribeSpotFleetInstancesRequest(params)
20911//
20912//    err := req.Send()
20913//    if err == nil { // resp is now filled
20914//        fmt.Println(resp)
20915//    }
20916//
20917// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
20918func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
20919	op := &request.Operation{
20920		Name:       opDescribeSpotFleetInstances,
20921		HTTPMethod: "POST",
20922		HTTPPath:   "/",
20923	}
20924
20925	if input == nil {
20926		input = &DescribeSpotFleetInstancesInput{}
20927	}
20928
20929	output = &DescribeSpotFleetInstancesOutput{}
20930	req = c.newRequest(op, input, output)
20931	return
20932}
20933
20934// DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
20935//
20936// Describes the running instances for the specified Spot Fleet.
20937//
20938// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20939// with awserr.Error's Code and Message methods to get detailed information about
20940// the error.
20941//
20942// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20943// API operation DescribeSpotFleetInstances for usage and error information.
20944// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
20945func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
20946	req, out := c.DescribeSpotFleetInstancesRequest(input)
20947	return out, req.Send()
20948}
20949
20950// DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
20951// the ability to pass a context and additional request options.
20952//
20953// See DescribeSpotFleetInstances for details on how to use this API operation.
20954//
20955// The context must be non-nil and will be used for request cancellation. If
20956// the context is nil a panic will occur. In the future the SDK may create
20957// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20958// for more information on using Contexts.
20959func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
20960	req, out := c.DescribeSpotFleetInstancesRequest(input)
20961	req.SetContext(ctx)
20962	req.ApplyOptions(opts...)
20963	return out, req.Send()
20964}
20965
20966const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
20967
20968// DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
20969// client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
20970// value will be populated with the request's response once the request completes
20971// successfully.
20972//
20973// Use "Send" method on the returned Request to send the API call to the service.
20974// the "output" return value is not valid until after Send returns without error.
20975//
20976// See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
20977// API call, and error handling.
20978//
20979// This method is useful when you want to inject custom logic or configuration
20980// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20981//
20982//
20983//    // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
20984//    req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
20985//
20986//    err := req.Send()
20987//    if err == nil { // resp is now filled
20988//        fmt.Println(resp)
20989//    }
20990//
20991// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
20992func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
20993	op := &request.Operation{
20994		Name:       opDescribeSpotFleetRequestHistory,
20995		HTTPMethod: "POST",
20996		HTTPPath:   "/",
20997	}
20998
20999	if input == nil {
21000		input = &DescribeSpotFleetRequestHistoryInput{}
21001	}
21002
21003	output = &DescribeSpotFleetRequestHistoryOutput{}
21004	req = c.newRequest(op, input, output)
21005	return
21006}
21007
21008// DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
21009//
21010// Describes the events for the specified Spot Fleet request during the specified
21011// time.
21012//
21013// Spot Fleet events are delayed by up to 30 seconds before they can be described.
21014// This ensures that you can query by the last evaluated time and not miss a
21015// recorded event. Spot Fleet events are available for 48 hours.
21016//
21017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21018// with awserr.Error's Code and Message methods to get detailed information about
21019// the error.
21020//
21021// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21022// API operation DescribeSpotFleetRequestHistory for usage and error information.
21023// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
21024func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
21025	req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
21026	return out, req.Send()
21027}
21028
21029// DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
21030// the ability to pass a context and additional request options.
21031//
21032// See DescribeSpotFleetRequestHistory for details on how to use this API operation.
21033//
21034// The context must be non-nil and will be used for request cancellation. If
21035// the context is nil a panic will occur. In the future the SDK may create
21036// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21037// for more information on using Contexts.
21038func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
21039	req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
21040	req.SetContext(ctx)
21041	req.ApplyOptions(opts...)
21042	return out, req.Send()
21043}
21044
21045const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
21046
21047// DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
21048// client's request for the DescribeSpotFleetRequests operation. The "output" return
21049// value will be populated with the request's response once the request completes
21050// successfully.
21051//
21052// Use "Send" method on the returned Request to send the API call to the service.
21053// the "output" return value is not valid until after Send returns without error.
21054//
21055// See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
21056// API call, and error handling.
21057//
21058// This method is useful when you want to inject custom logic or configuration
21059// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21060//
21061//
21062//    // Example sending a request using the DescribeSpotFleetRequestsRequest method.
21063//    req, resp := client.DescribeSpotFleetRequestsRequest(params)
21064//
21065//    err := req.Send()
21066//    if err == nil { // resp is now filled
21067//        fmt.Println(resp)
21068//    }
21069//
21070// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
21071func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
21072	op := &request.Operation{
21073		Name:       opDescribeSpotFleetRequests,
21074		HTTPMethod: "POST",
21075		HTTPPath:   "/",
21076		Paginator: &request.Paginator{
21077			InputTokens:     []string{"NextToken"},
21078			OutputTokens:    []string{"NextToken"},
21079			LimitToken:      "MaxResults",
21080			TruncationToken: "",
21081		},
21082	}
21083
21084	if input == nil {
21085		input = &DescribeSpotFleetRequestsInput{}
21086	}
21087
21088	output = &DescribeSpotFleetRequestsOutput{}
21089	req = c.newRequest(op, input, output)
21090	return
21091}
21092
21093// DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
21094//
21095// Describes your Spot Fleet requests.
21096//
21097// Spot Fleet requests are deleted 48 hours after they are canceled and their
21098// instances are terminated.
21099//
21100// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21101// with awserr.Error's Code and Message methods to get detailed information about
21102// the error.
21103//
21104// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21105// API operation DescribeSpotFleetRequests for usage and error information.
21106// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
21107func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
21108	req, out := c.DescribeSpotFleetRequestsRequest(input)
21109	return out, req.Send()
21110}
21111
21112// DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
21113// the ability to pass a context and additional request options.
21114//
21115// See DescribeSpotFleetRequests for details on how to use this API operation.
21116//
21117// The context must be non-nil and will be used for request cancellation. If
21118// the context is nil a panic will occur. In the future the SDK may create
21119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21120// for more information on using Contexts.
21121func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
21122	req, out := c.DescribeSpotFleetRequestsRequest(input)
21123	req.SetContext(ctx)
21124	req.ApplyOptions(opts...)
21125	return out, req.Send()
21126}
21127
21128// DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
21129// calling the "fn" function with the response data for each page. To stop
21130// iterating, return false from the fn function.
21131//
21132// See DescribeSpotFleetRequests method for more information on how to use this operation.
21133//
21134// Note: This operation can generate multiple requests to a service.
21135//
21136//    // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
21137//    pageNum := 0
21138//    err := client.DescribeSpotFleetRequestsPages(params,
21139//        func(page *ec2.DescribeSpotFleetRequestsOutput, lastPage bool) bool {
21140//            pageNum++
21141//            fmt.Println(page)
21142//            return pageNum <= 3
21143//        })
21144//
21145func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
21146	return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
21147}
21148
21149// DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
21150// it takes a Context and allows setting request options on the pages.
21151//
21152// The context must be non-nil and will be used for request cancellation. If
21153// the context is nil a panic will occur. In the future the SDK may create
21154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21155// for more information on using Contexts.
21156func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
21157	p := request.Pagination{
21158		NewRequest: func() (*request.Request, error) {
21159			var inCpy *DescribeSpotFleetRequestsInput
21160			if input != nil {
21161				tmp := *input
21162				inCpy = &tmp
21163			}
21164			req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
21165			req.SetContext(ctx)
21166			req.ApplyOptions(opts...)
21167			return req, nil
21168		},
21169	}
21170
21171	for p.Next() {
21172		if !fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage()) {
21173			break
21174		}
21175	}
21176
21177	return p.Err()
21178}
21179
21180const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
21181
21182// DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
21183// client's request for the DescribeSpotInstanceRequests operation. The "output" return
21184// value will be populated with the request's response once the request completes
21185// successfully.
21186//
21187// Use "Send" method on the returned Request to send the API call to the service.
21188// the "output" return value is not valid until after Send returns without error.
21189//
21190// See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
21191// API call, and error handling.
21192//
21193// This method is useful when you want to inject custom logic or configuration
21194// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21195//
21196//
21197//    // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
21198//    req, resp := client.DescribeSpotInstanceRequestsRequest(params)
21199//
21200//    err := req.Send()
21201//    if err == nil { // resp is now filled
21202//        fmt.Println(resp)
21203//    }
21204//
21205// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
21206func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
21207	op := &request.Operation{
21208		Name:       opDescribeSpotInstanceRequests,
21209		HTTPMethod: "POST",
21210		HTTPPath:   "/",
21211		Paginator: &request.Paginator{
21212			InputTokens:     []string{"NextToken"},
21213			OutputTokens:    []string{"NextToken"},
21214			LimitToken:      "MaxResults",
21215			TruncationToken: "",
21216		},
21217	}
21218
21219	if input == nil {
21220		input = &DescribeSpotInstanceRequestsInput{}
21221	}
21222
21223	output = &DescribeSpotInstanceRequestsOutput{}
21224	req = c.newRequest(op, input, output)
21225	return
21226}
21227
21228// DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
21229//
21230// Describes the specified Spot Instance requests.
21231//
21232// You can use DescribeSpotInstanceRequests to find a running Spot Instance
21233// by examining the response. If the status of the Spot Instance is fulfilled,
21234// the instance ID appears in the response and contains the identifier of the
21235// instance. Alternatively, you can use DescribeInstances with a filter to look
21236// for instances where the instance lifecycle is spot.
21237//
21238// We recommend that you set MaxResults to a value between 5 and 1000 to limit
21239// the number of results returned. This paginates the output, which makes the
21240// list more manageable and returns the results faster. If the list of results
21241// exceeds your MaxResults value, then that number of results is returned along
21242// with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests
21243// request to retrieve the remaining results.
21244//
21245// Spot Instance requests are deleted four hours after they are canceled and
21246// their instances are terminated.
21247//
21248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21249// with awserr.Error's Code and Message methods to get detailed information about
21250// the error.
21251//
21252// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21253// API operation DescribeSpotInstanceRequests for usage and error information.
21254// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
21255func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
21256	req, out := c.DescribeSpotInstanceRequestsRequest(input)
21257	return out, req.Send()
21258}
21259
21260// DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
21261// the ability to pass a context and additional request options.
21262//
21263// See DescribeSpotInstanceRequests for details on how to use this API operation.
21264//
21265// The context must be non-nil and will be used for request cancellation. If
21266// the context is nil a panic will occur. In the future the SDK may create
21267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21268// for more information on using Contexts.
21269func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
21270	req, out := c.DescribeSpotInstanceRequestsRequest(input)
21271	req.SetContext(ctx)
21272	req.ApplyOptions(opts...)
21273	return out, req.Send()
21274}
21275
21276// DescribeSpotInstanceRequestsPages iterates over the pages of a DescribeSpotInstanceRequests operation,
21277// calling the "fn" function with the response data for each page. To stop
21278// iterating, return false from the fn function.
21279//
21280// See DescribeSpotInstanceRequests method for more information on how to use this operation.
21281//
21282// Note: This operation can generate multiple requests to a service.
21283//
21284//    // Example iterating over at most 3 pages of a DescribeSpotInstanceRequests operation.
21285//    pageNum := 0
21286//    err := client.DescribeSpotInstanceRequestsPages(params,
21287//        func(page *ec2.DescribeSpotInstanceRequestsOutput, lastPage bool) bool {
21288//            pageNum++
21289//            fmt.Println(page)
21290//            return pageNum <= 3
21291//        })
21292//
21293func (c *EC2) DescribeSpotInstanceRequestsPages(input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool) error {
21294	return c.DescribeSpotInstanceRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
21295}
21296
21297// DescribeSpotInstanceRequestsPagesWithContext same as DescribeSpotInstanceRequestsPages except
21298// it takes a Context and allows setting request options on the pages.
21299//
21300// The context must be non-nil and will be used for request cancellation. If
21301// the context is nil a panic will occur. In the future the SDK may create
21302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21303// for more information on using Contexts.
21304func (c *EC2) DescribeSpotInstanceRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool, opts ...request.Option) error {
21305	p := request.Pagination{
21306		NewRequest: func() (*request.Request, error) {
21307			var inCpy *DescribeSpotInstanceRequestsInput
21308			if input != nil {
21309				tmp := *input
21310				inCpy = &tmp
21311			}
21312			req, _ := c.DescribeSpotInstanceRequestsRequest(inCpy)
21313			req.SetContext(ctx)
21314			req.ApplyOptions(opts...)
21315			return req, nil
21316		},
21317	}
21318
21319	for p.Next() {
21320		if !fn(p.Page().(*DescribeSpotInstanceRequestsOutput), !p.HasNextPage()) {
21321			break
21322		}
21323	}
21324
21325	return p.Err()
21326}
21327
21328const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
21329
21330// DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
21331// client's request for the DescribeSpotPriceHistory operation. The "output" return
21332// value will be populated with the request's response once the request completes
21333// successfully.
21334//
21335// Use "Send" method on the returned Request to send the API call to the service.
21336// the "output" return value is not valid until after Send returns without error.
21337//
21338// See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
21339// API call, and error handling.
21340//
21341// This method is useful when you want to inject custom logic or configuration
21342// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21343//
21344//
21345//    // Example sending a request using the DescribeSpotPriceHistoryRequest method.
21346//    req, resp := client.DescribeSpotPriceHistoryRequest(params)
21347//
21348//    err := req.Send()
21349//    if err == nil { // resp is now filled
21350//        fmt.Println(resp)
21351//    }
21352//
21353// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
21354func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
21355	op := &request.Operation{
21356		Name:       opDescribeSpotPriceHistory,
21357		HTTPMethod: "POST",
21358		HTTPPath:   "/",
21359		Paginator: &request.Paginator{
21360			InputTokens:     []string{"NextToken"},
21361			OutputTokens:    []string{"NextToken"},
21362			LimitToken:      "MaxResults",
21363			TruncationToken: "",
21364		},
21365	}
21366
21367	if input == nil {
21368		input = &DescribeSpotPriceHistoryInput{}
21369	}
21370
21371	output = &DescribeSpotPriceHistoryOutput{}
21372	req = c.newRequest(op, input, output)
21373	return
21374}
21375
21376// DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
21377//
21378// Describes the Spot price history. For more information, see Spot Instance
21379// Pricing History (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
21380// in the Amazon EC2 User Guide for Linux Instances.
21381//
21382// When you specify a start and end time, this operation returns the prices
21383// of the instance types within the time range that you specified and the time
21384// when the price changed. The price is valid within the time period that you
21385// specified; the response merely indicates the last time that the price changed.
21386//
21387// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21388// with awserr.Error's Code and Message methods to get detailed information about
21389// the error.
21390//
21391// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21392// API operation DescribeSpotPriceHistory for usage and error information.
21393// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
21394func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
21395	req, out := c.DescribeSpotPriceHistoryRequest(input)
21396	return out, req.Send()
21397}
21398
21399// DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
21400// the ability to pass a context and additional request options.
21401//
21402// See DescribeSpotPriceHistory for details on how to use this API operation.
21403//
21404// The context must be non-nil and will be used for request cancellation. If
21405// the context is nil a panic will occur. In the future the SDK may create
21406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21407// for more information on using Contexts.
21408func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
21409	req, out := c.DescribeSpotPriceHistoryRequest(input)
21410	req.SetContext(ctx)
21411	req.ApplyOptions(opts...)
21412	return out, req.Send()
21413}
21414
21415// DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
21416// calling the "fn" function with the response data for each page. To stop
21417// iterating, return false from the fn function.
21418//
21419// See DescribeSpotPriceHistory method for more information on how to use this operation.
21420//
21421// Note: This operation can generate multiple requests to a service.
21422//
21423//    // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
21424//    pageNum := 0
21425//    err := client.DescribeSpotPriceHistoryPages(params,
21426//        func(page *ec2.DescribeSpotPriceHistoryOutput, lastPage bool) bool {
21427//            pageNum++
21428//            fmt.Println(page)
21429//            return pageNum <= 3
21430//        })
21431//
21432func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
21433	return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
21434}
21435
21436// DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
21437// it takes a Context and allows setting request options on the pages.
21438//
21439// The context must be non-nil and will be used for request cancellation. If
21440// the context is nil a panic will occur. In the future the SDK may create
21441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21442// for more information on using Contexts.
21443func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
21444	p := request.Pagination{
21445		NewRequest: func() (*request.Request, error) {
21446			var inCpy *DescribeSpotPriceHistoryInput
21447			if input != nil {
21448				tmp := *input
21449				inCpy = &tmp
21450			}
21451			req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
21452			req.SetContext(ctx)
21453			req.ApplyOptions(opts...)
21454			return req, nil
21455		},
21456	}
21457
21458	for p.Next() {
21459		if !fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage()) {
21460			break
21461		}
21462	}
21463
21464	return p.Err()
21465}
21466
21467const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
21468
21469// DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
21470// client's request for the DescribeStaleSecurityGroups operation. The "output" return
21471// value will be populated with the request's response once the request completes
21472// successfully.
21473//
21474// Use "Send" method on the returned Request to send the API call to the service.
21475// the "output" return value is not valid until after Send returns without error.
21476//
21477// See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
21478// API call, and error handling.
21479//
21480// This method is useful when you want to inject custom logic or configuration
21481// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21482//
21483//
21484//    // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
21485//    req, resp := client.DescribeStaleSecurityGroupsRequest(params)
21486//
21487//    err := req.Send()
21488//    if err == nil { // resp is now filled
21489//        fmt.Println(resp)
21490//    }
21491//
21492// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
21493func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
21494	op := &request.Operation{
21495		Name:       opDescribeStaleSecurityGroups,
21496		HTTPMethod: "POST",
21497		HTTPPath:   "/",
21498		Paginator: &request.Paginator{
21499			InputTokens:     []string{"NextToken"},
21500			OutputTokens:    []string{"NextToken"},
21501			LimitToken:      "MaxResults",
21502			TruncationToken: "",
21503		},
21504	}
21505
21506	if input == nil {
21507		input = &DescribeStaleSecurityGroupsInput{}
21508	}
21509
21510	output = &DescribeStaleSecurityGroupsOutput{}
21511	req = c.newRequest(op, input, output)
21512	return
21513}
21514
21515// DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
21516//
21517// [VPC only] Describes the stale security group rules for security groups in
21518// a specified VPC. Rules are stale when they reference a deleted security group
21519// in a peer VPC, or a security group in a peer VPC for which the VPC peering
21520// connection has been deleted.
21521//
21522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21523// with awserr.Error's Code and Message methods to get detailed information about
21524// the error.
21525//
21526// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21527// API operation DescribeStaleSecurityGroups for usage and error information.
21528// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
21529func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
21530	req, out := c.DescribeStaleSecurityGroupsRequest(input)
21531	return out, req.Send()
21532}
21533
21534// DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
21535// the ability to pass a context and additional request options.
21536//
21537// See DescribeStaleSecurityGroups for details on how to use this API operation.
21538//
21539// The context must be non-nil and will be used for request cancellation. If
21540// the context is nil a panic will occur. In the future the SDK may create
21541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21542// for more information on using Contexts.
21543func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
21544	req, out := c.DescribeStaleSecurityGroupsRequest(input)
21545	req.SetContext(ctx)
21546	req.ApplyOptions(opts...)
21547	return out, req.Send()
21548}
21549
21550// DescribeStaleSecurityGroupsPages iterates over the pages of a DescribeStaleSecurityGroups operation,
21551// calling the "fn" function with the response data for each page. To stop
21552// iterating, return false from the fn function.
21553//
21554// See DescribeStaleSecurityGroups method for more information on how to use this operation.
21555//
21556// Note: This operation can generate multiple requests to a service.
21557//
21558//    // Example iterating over at most 3 pages of a DescribeStaleSecurityGroups operation.
21559//    pageNum := 0
21560//    err := client.DescribeStaleSecurityGroupsPages(params,
21561//        func(page *ec2.DescribeStaleSecurityGroupsOutput, lastPage bool) bool {
21562//            pageNum++
21563//            fmt.Println(page)
21564//            return pageNum <= 3
21565//        })
21566//
21567func (c *EC2) DescribeStaleSecurityGroupsPages(input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool) error {
21568	return c.DescribeStaleSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
21569}
21570
21571// DescribeStaleSecurityGroupsPagesWithContext same as DescribeStaleSecurityGroupsPages except
21572// it takes a Context and allows setting request options on the pages.
21573//
21574// The context must be non-nil and will be used for request cancellation. If
21575// the context is nil a panic will occur. In the future the SDK may create
21576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21577// for more information on using Contexts.
21578func (c *EC2) DescribeStaleSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
21579	p := request.Pagination{
21580		NewRequest: func() (*request.Request, error) {
21581			var inCpy *DescribeStaleSecurityGroupsInput
21582			if input != nil {
21583				tmp := *input
21584				inCpy = &tmp
21585			}
21586			req, _ := c.DescribeStaleSecurityGroupsRequest(inCpy)
21587			req.SetContext(ctx)
21588			req.ApplyOptions(opts...)
21589			return req, nil
21590		},
21591	}
21592
21593	for p.Next() {
21594		if !fn(p.Page().(*DescribeStaleSecurityGroupsOutput), !p.HasNextPage()) {
21595			break
21596		}
21597	}
21598
21599	return p.Err()
21600}
21601
21602const opDescribeSubnets = "DescribeSubnets"
21603
21604// DescribeSubnetsRequest generates a "aws/request.Request" representing the
21605// client's request for the DescribeSubnets operation. The "output" return
21606// value will be populated with the request's response once the request completes
21607// successfully.
21608//
21609// Use "Send" method on the returned Request to send the API call to the service.
21610// the "output" return value is not valid until after Send returns without error.
21611//
21612// See DescribeSubnets for more information on using the DescribeSubnets
21613// API call, and error handling.
21614//
21615// This method is useful when you want to inject custom logic or configuration
21616// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21617//
21618//
21619//    // Example sending a request using the DescribeSubnetsRequest method.
21620//    req, resp := client.DescribeSubnetsRequest(params)
21621//
21622//    err := req.Send()
21623//    if err == nil { // resp is now filled
21624//        fmt.Println(resp)
21625//    }
21626//
21627// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
21628func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
21629	op := &request.Operation{
21630		Name:       opDescribeSubnets,
21631		HTTPMethod: "POST",
21632		HTTPPath:   "/",
21633		Paginator: &request.Paginator{
21634			InputTokens:     []string{"NextToken"},
21635			OutputTokens:    []string{"NextToken"},
21636			LimitToken:      "MaxResults",
21637			TruncationToken: "",
21638		},
21639	}
21640
21641	if input == nil {
21642		input = &DescribeSubnetsInput{}
21643	}
21644
21645	output = &DescribeSubnetsOutput{}
21646	req = c.newRequest(op, input, output)
21647	return
21648}
21649
21650// DescribeSubnets API operation for Amazon Elastic Compute Cloud.
21651//
21652// Describes one or more of your subnets.
21653//
21654// For more information, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
21655// in the Amazon Virtual Private Cloud User Guide.
21656//
21657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21658// with awserr.Error's Code and Message methods to get detailed information about
21659// the error.
21660//
21661// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21662// API operation DescribeSubnets for usage and error information.
21663// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
21664func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
21665	req, out := c.DescribeSubnetsRequest(input)
21666	return out, req.Send()
21667}
21668
21669// DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
21670// the ability to pass a context and additional request options.
21671//
21672// See DescribeSubnets for details on how to use this API operation.
21673//
21674// The context must be non-nil and will be used for request cancellation. If
21675// the context is nil a panic will occur. In the future the SDK may create
21676// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21677// for more information on using Contexts.
21678func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
21679	req, out := c.DescribeSubnetsRequest(input)
21680	req.SetContext(ctx)
21681	req.ApplyOptions(opts...)
21682	return out, req.Send()
21683}
21684
21685// DescribeSubnetsPages iterates over the pages of a DescribeSubnets operation,
21686// calling the "fn" function with the response data for each page. To stop
21687// iterating, return false from the fn function.
21688//
21689// See DescribeSubnets method for more information on how to use this operation.
21690//
21691// Note: This operation can generate multiple requests to a service.
21692//
21693//    // Example iterating over at most 3 pages of a DescribeSubnets operation.
21694//    pageNum := 0
21695//    err := client.DescribeSubnetsPages(params,
21696//        func(page *ec2.DescribeSubnetsOutput, lastPage bool) bool {
21697//            pageNum++
21698//            fmt.Println(page)
21699//            return pageNum <= 3
21700//        })
21701//
21702func (c *EC2) DescribeSubnetsPages(input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool) error {
21703	return c.DescribeSubnetsPagesWithContext(aws.BackgroundContext(), input, fn)
21704}
21705
21706// DescribeSubnetsPagesWithContext same as DescribeSubnetsPages except
21707// it takes a Context and allows setting request options on the pages.
21708//
21709// The context must be non-nil and will be used for request cancellation. If
21710// the context is nil a panic will occur. In the future the SDK may create
21711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21712// for more information on using Contexts.
21713func (c *EC2) DescribeSubnetsPagesWithContext(ctx aws.Context, input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool, opts ...request.Option) error {
21714	p := request.Pagination{
21715		NewRequest: func() (*request.Request, error) {
21716			var inCpy *DescribeSubnetsInput
21717			if input != nil {
21718				tmp := *input
21719				inCpy = &tmp
21720			}
21721			req, _ := c.DescribeSubnetsRequest(inCpy)
21722			req.SetContext(ctx)
21723			req.ApplyOptions(opts...)
21724			return req, nil
21725		},
21726	}
21727
21728	for p.Next() {
21729		if !fn(p.Page().(*DescribeSubnetsOutput), !p.HasNextPage()) {
21730			break
21731		}
21732	}
21733
21734	return p.Err()
21735}
21736
21737const opDescribeTags = "DescribeTags"
21738
21739// DescribeTagsRequest generates a "aws/request.Request" representing the
21740// client's request for the DescribeTags operation. The "output" return
21741// value will be populated with the request's response once the request completes
21742// successfully.
21743//
21744// Use "Send" method on the returned Request to send the API call to the service.
21745// the "output" return value is not valid until after Send returns without error.
21746//
21747// See DescribeTags for more information on using the DescribeTags
21748// API call, and error handling.
21749//
21750// This method is useful when you want to inject custom logic or configuration
21751// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21752//
21753//
21754//    // Example sending a request using the DescribeTagsRequest method.
21755//    req, resp := client.DescribeTagsRequest(params)
21756//
21757//    err := req.Send()
21758//    if err == nil { // resp is now filled
21759//        fmt.Println(resp)
21760//    }
21761//
21762// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
21763func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
21764	op := &request.Operation{
21765		Name:       opDescribeTags,
21766		HTTPMethod: "POST",
21767		HTTPPath:   "/",
21768		Paginator: &request.Paginator{
21769			InputTokens:     []string{"NextToken"},
21770			OutputTokens:    []string{"NextToken"},
21771			LimitToken:      "MaxResults",
21772			TruncationToken: "",
21773		},
21774	}
21775
21776	if input == nil {
21777		input = &DescribeTagsInput{}
21778	}
21779
21780	output = &DescribeTagsOutput{}
21781	req = c.newRequest(op, input, output)
21782	return
21783}
21784
21785// DescribeTags API operation for Amazon Elastic Compute Cloud.
21786//
21787// Describes the specified tags for your EC2 resources.
21788//
21789// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
21790// in the Amazon Elastic Compute Cloud User Guide.
21791//
21792// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21793// with awserr.Error's Code and Message methods to get detailed information about
21794// the error.
21795//
21796// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21797// API operation DescribeTags for usage and error information.
21798// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
21799func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
21800	req, out := c.DescribeTagsRequest(input)
21801	return out, req.Send()
21802}
21803
21804// DescribeTagsWithContext is the same as DescribeTags with the addition of
21805// the ability to pass a context and additional request options.
21806//
21807// See DescribeTags for details on how to use this API operation.
21808//
21809// The context must be non-nil and will be used for request cancellation. If
21810// the context is nil a panic will occur. In the future the SDK may create
21811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21812// for more information on using Contexts.
21813func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
21814	req, out := c.DescribeTagsRequest(input)
21815	req.SetContext(ctx)
21816	req.ApplyOptions(opts...)
21817	return out, req.Send()
21818}
21819
21820// DescribeTagsPages iterates over the pages of a DescribeTags operation,
21821// calling the "fn" function with the response data for each page. To stop
21822// iterating, return false from the fn function.
21823//
21824// See DescribeTags method for more information on how to use this operation.
21825//
21826// Note: This operation can generate multiple requests to a service.
21827//
21828//    // Example iterating over at most 3 pages of a DescribeTags operation.
21829//    pageNum := 0
21830//    err := client.DescribeTagsPages(params,
21831//        func(page *ec2.DescribeTagsOutput, lastPage bool) bool {
21832//            pageNum++
21833//            fmt.Println(page)
21834//            return pageNum <= 3
21835//        })
21836//
21837func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
21838	return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
21839}
21840
21841// DescribeTagsPagesWithContext same as DescribeTagsPages except
21842// it takes a Context and allows setting request options on the pages.
21843//
21844// The context must be non-nil and will be used for request cancellation. If
21845// the context is nil a panic will occur. In the future the SDK may create
21846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21847// for more information on using Contexts.
21848func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
21849	p := request.Pagination{
21850		NewRequest: func() (*request.Request, error) {
21851			var inCpy *DescribeTagsInput
21852			if input != nil {
21853				tmp := *input
21854				inCpy = &tmp
21855			}
21856			req, _ := c.DescribeTagsRequest(inCpy)
21857			req.SetContext(ctx)
21858			req.ApplyOptions(opts...)
21859			return req, nil
21860		},
21861	}
21862
21863	for p.Next() {
21864		if !fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage()) {
21865			break
21866		}
21867	}
21868
21869	return p.Err()
21870}
21871
21872const opDescribeTrafficMirrorFilters = "DescribeTrafficMirrorFilters"
21873
21874// DescribeTrafficMirrorFiltersRequest generates a "aws/request.Request" representing the
21875// client's request for the DescribeTrafficMirrorFilters operation. The "output" return
21876// value will be populated with the request's response once the request completes
21877// successfully.
21878//
21879// Use "Send" method on the returned Request to send the API call to the service.
21880// the "output" return value is not valid until after Send returns without error.
21881//
21882// See DescribeTrafficMirrorFilters for more information on using the DescribeTrafficMirrorFilters
21883// API call, and error handling.
21884//
21885// This method is useful when you want to inject custom logic or configuration
21886// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21887//
21888//
21889//    // Example sending a request using the DescribeTrafficMirrorFiltersRequest method.
21890//    req, resp := client.DescribeTrafficMirrorFiltersRequest(params)
21891//
21892//    err := req.Send()
21893//    if err == nil { // resp is now filled
21894//        fmt.Println(resp)
21895//    }
21896//
21897// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters
21898func (c *EC2) DescribeTrafficMirrorFiltersRequest(input *DescribeTrafficMirrorFiltersInput) (req *request.Request, output *DescribeTrafficMirrorFiltersOutput) {
21899	op := &request.Operation{
21900		Name:       opDescribeTrafficMirrorFilters,
21901		HTTPMethod: "POST",
21902		HTTPPath:   "/",
21903		Paginator: &request.Paginator{
21904			InputTokens:     []string{"NextToken"},
21905			OutputTokens:    []string{"NextToken"},
21906			LimitToken:      "MaxResults",
21907			TruncationToken: "",
21908		},
21909	}
21910
21911	if input == nil {
21912		input = &DescribeTrafficMirrorFiltersInput{}
21913	}
21914
21915	output = &DescribeTrafficMirrorFiltersOutput{}
21916	req = c.newRequest(op, input, output)
21917	return
21918}
21919
21920// DescribeTrafficMirrorFilters API operation for Amazon Elastic Compute Cloud.
21921//
21922// Describes one or more Traffic Mirror filters.
21923//
21924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21925// with awserr.Error's Code and Message methods to get detailed information about
21926// the error.
21927//
21928// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21929// API operation DescribeTrafficMirrorFilters for usage and error information.
21930// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters
21931func (c *EC2) DescribeTrafficMirrorFilters(input *DescribeTrafficMirrorFiltersInput) (*DescribeTrafficMirrorFiltersOutput, error) {
21932	req, out := c.DescribeTrafficMirrorFiltersRequest(input)
21933	return out, req.Send()
21934}
21935
21936// DescribeTrafficMirrorFiltersWithContext is the same as DescribeTrafficMirrorFilters with the addition of
21937// the ability to pass a context and additional request options.
21938//
21939// See DescribeTrafficMirrorFilters for details on how to use this API operation.
21940//
21941// The context must be non-nil and will be used for request cancellation. If
21942// the context is nil a panic will occur. In the future the SDK may create
21943// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21944// for more information on using Contexts.
21945func (c *EC2) DescribeTrafficMirrorFiltersWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, opts ...request.Option) (*DescribeTrafficMirrorFiltersOutput, error) {
21946	req, out := c.DescribeTrafficMirrorFiltersRequest(input)
21947	req.SetContext(ctx)
21948	req.ApplyOptions(opts...)
21949	return out, req.Send()
21950}
21951
21952// DescribeTrafficMirrorFiltersPages iterates over the pages of a DescribeTrafficMirrorFilters operation,
21953// calling the "fn" function with the response data for each page. To stop
21954// iterating, return false from the fn function.
21955//
21956// See DescribeTrafficMirrorFilters method for more information on how to use this operation.
21957//
21958// Note: This operation can generate multiple requests to a service.
21959//
21960//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorFilters operation.
21961//    pageNum := 0
21962//    err := client.DescribeTrafficMirrorFiltersPages(params,
21963//        func(page *ec2.DescribeTrafficMirrorFiltersOutput, lastPage bool) bool {
21964//            pageNum++
21965//            fmt.Println(page)
21966//            return pageNum <= 3
21967//        })
21968//
21969func (c *EC2) DescribeTrafficMirrorFiltersPages(input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool) error {
21970	return c.DescribeTrafficMirrorFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
21971}
21972
21973// DescribeTrafficMirrorFiltersPagesWithContext same as DescribeTrafficMirrorFiltersPages except
21974// it takes a Context and allows setting request options on the pages.
21975//
21976// The context must be non-nil and will be used for request cancellation. If
21977// the context is nil a panic will occur. In the future the SDK may create
21978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21979// for more information on using Contexts.
21980func (c *EC2) DescribeTrafficMirrorFiltersPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool, opts ...request.Option) error {
21981	p := request.Pagination{
21982		NewRequest: func() (*request.Request, error) {
21983			var inCpy *DescribeTrafficMirrorFiltersInput
21984			if input != nil {
21985				tmp := *input
21986				inCpy = &tmp
21987			}
21988			req, _ := c.DescribeTrafficMirrorFiltersRequest(inCpy)
21989			req.SetContext(ctx)
21990			req.ApplyOptions(opts...)
21991			return req, nil
21992		},
21993	}
21994
21995	for p.Next() {
21996		if !fn(p.Page().(*DescribeTrafficMirrorFiltersOutput), !p.HasNextPage()) {
21997			break
21998		}
21999	}
22000
22001	return p.Err()
22002}
22003
22004const opDescribeTrafficMirrorSessions = "DescribeTrafficMirrorSessions"
22005
22006// DescribeTrafficMirrorSessionsRequest generates a "aws/request.Request" representing the
22007// client's request for the DescribeTrafficMirrorSessions operation. The "output" return
22008// value will be populated with the request's response once the request completes
22009// successfully.
22010//
22011// Use "Send" method on the returned Request to send the API call to the service.
22012// the "output" return value is not valid until after Send returns without error.
22013//
22014// See DescribeTrafficMirrorSessions for more information on using the DescribeTrafficMirrorSessions
22015// API call, and error handling.
22016//
22017// This method is useful when you want to inject custom logic or configuration
22018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22019//
22020//
22021//    // Example sending a request using the DescribeTrafficMirrorSessionsRequest method.
22022//    req, resp := client.DescribeTrafficMirrorSessionsRequest(params)
22023//
22024//    err := req.Send()
22025//    if err == nil { // resp is now filled
22026//        fmt.Println(resp)
22027//    }
22028//
22029// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions
22030func (c *EC2) DescribeTrafficMirrorSessionsRequest(input *DescribeTrafficMirrorSessionsInput) (req *request.Request, output *DescribeTrafficMirrorSessionsOutput) {
22031	op := &request.Operation{
22032		Name:       opDescribeTrafficMirrorSessions,
22033		HTTPMethod: "POST",
22034		HTTPPath:   "/",
22035		Paginator: &request.Paginator{
22036			InputTokens:     []string{"NextToken"},
22037			OutputTokens:    []string{"NextToken"},
22038			LimitToken:      "MaxResults",
22039			TruncationToken: "",
22040		},
22041	}
22042
22043	if input == nil {
22044		input = &DescribeTrafficMirrorSessionsInput{}
22045	}
22046
22047	output = &DescribeTrafficMirrorSessionsOutput{}
22048	req = c.newRequest(op, input, output)
22049	return
22050}
22051
22052// DescribeTrafficMirrorSessions API operation for Amazon Elastic Compute Cloud.
22053//
22054// Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
22055// sessions are described. Alternatively, you can filter the results.
22056//
22057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22058// with awserr.Error's Code and Message methods to get detailed information about
22059// the error.
22060//
22061// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22062// API operation DescribeTrafficMirrorSessions for usage and error information.
22063// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions
22064func (c *EC2) DescribeTrafficMirrorSessions(input *DescribeTrafficMirrorSessionsInput) (*DescribeTrafficMirrorSessionsOutput, error) {
22065	req, out := c.DescribeTrafficMirrorSessionsRequest(input)
22066	return out, req.Send()
22067}
22068
22069// DescribeTrafficMirrorSessionsWithContext is the same as DescribeTrafficMirrorSessions with the addition of
22070// the ability to pass a context and additional request options.
22071//
22072// See DescribeTrafficMirrorSessions for details on how to use this API operation.
22073//
22074// The context must be non-nil and will be used for request cancellation. If
22075// the context is nil a panic will occur. In the future the SDK may create
22076// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22077// for more information on using Contexts.
22078func (c *EC2) DescribeTrafficMirrorSessionsWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, opts ...request.Option) (*DescribeTrafficMirrorSessionsOutput, error) {
22079	req, out := c.DescribeTrafficMirrorSessionsRequest(input)
22080	req.SetContext(ctx)
22081	req.ApplyOptions(opts...)
22082	return out, req.Send()
22083}
22084
22085// DescribeTrafficMirrorSessionsPages iterates over the pages of a DescribeTrafficMirrorSessions operation,
22086// calling the "fn" function with the response data for each page. To stop
22087// iterating, return false from the fn function.
22088//
22089// See DescribeTrafficMirrorSessions method for more information on how to use this operation.
22090//
22091// Note: This operation can generate multiple requests to a service.
22092//
22093//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorSessions operation.
22094//    pageNum := 0
22095//    err := client.DescribeTrafficMirrorSessionsPages(params,
22096//        func(page *ec2.DescribeTrafficMirrorSessionsOutput, lastPage bool) bool {
22097//            pageNum++
22098//            fmt.Println(page)
22099//            return pageNum <= 3
22100//        })
22101//
22102func (c *EC2) DescribeTrafficMirrorSessionsPages(input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool) error {
22103	return c.DescribeTrafficMirrorSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
22104}
22105
22106// DescribeTrafficMirrorSessionsPagesWithContext same as DescribeTrafficMirrorSessionsPages except
22107// it takes a Context and allows setting request options on the pages.
22108//
22109// The context must be non-nil and will be used for request cancellation. If
22110// the context is nil a panic will occur. In the future the SDK may create
22111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22112// for more information on using Contexts.
22113func (c *EC2) DescribeTrafficMirrorSessionsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool, opts ...request.Option) error {
22114	p := request.Pagination{
22115		NewRequest: func() (*request.Request, error) {
22116			var inCpy *DescribeTrafficMirrorSessionsInput
22117			if input != nil {
22118				tmp := *input
22119				inCpy = &tmp
22120			}
22121			req, _ := c.DescribeTrafficMirrorSessionsRequest(inCpy)
22122			req.SetContext(ctx)
22123			req.ApplyOptions(opts...)
22124			return req, nil
22125		},
22126	}
22127
22128	for p.Next() {
22129		if !fn(p.Page().(*DescribeTrafficMirrorSessionsOutput), !p.HasNextPage()) {
22130			break
22131		}
22132	}
22133
22134	return p.Err()
22135}
22136
22137const opDescribeTrafficMirrorTargets = "DescribeTrafficMirrorTargets"
22138
22139// DescribeTrafficMirrorTargetsRequest generates a "aws/request.Request" representing the
22140// client's request for the DescribeTrafficMirrorTargets operation. The "output" return
22141// value will be populated with the request's response once the request completes
22142// successfully.
22143//
22144// Use "Send" method on the returned Request to send the API call to the service.
22145// the "output" return value is not valid until after Send returns without error.
22146//
22147// See DescribeTrafficMirrorTargets for more information on using the DescribeTrafficMirrorTargets
22148// API call, and error handling.
22149//
22150// This method is useful when you want to inject custom logic or configuration
22151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22152//
22153//
22154//    // Example sending a request using the DescribeTrafficMirrorTargetsRequest method.
22155//    req, resp := client.DescribeTrafficMirrorTargetsRequest(params)
22156//
22157//    err := req.Send()
22158//    if err == nil { // resp is now filled
22159//        fmt.Println(resp)
22160//    }
22161//
22162// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets
22163func (c *EC2) DescribeTrafficMirrorTargetsRequest(input *DescribeTrafficMirrorTargetsInput) (req *request.Request, output *DescribeTrafficMirrorTargetsOutput) {
22164	op := &request.Operation{
22165		Name:       opDescribeTrafficMirrorTargets,
22166		HTTPMethod: "POST",
22167		HTTPPath:   "/",
22168		Paginator: &request.Paginator{
22169			InputTokens:     []string{"NextToken"},
22170			OutputTokens:    []string{"NextToken"},
22171			LimitToken:      "MaxResults",
22172			TruncationToken: "",
22173		},
22174	}
22175
22176	if input == nil {
22177		input = &DescribeTrafficMirrorTargetsInput{}
22178	}
22179
22180	output = &DescribeTrafficMirrorTargetsOutput{}
22181	req = c.newRequest(op, input, output)
22182	return
22183}
22184
22185// DescribeTrafficMirrorTargets API operation for Amazon Elastic Compute Cloud.
22186//
22187// Information about one or more Traffic Mirror targets.
22188//
22189// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22190// with awserr.Error's Code and Message methods to get detailed information about
22191// the error.
22192//
22193// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22194// API operation DescribeTrafficMirrorTargets for usage and error information.
22195// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets
22196func (c *EC2) DescribeTrafficMirrorTargets(input *DescribeTrafficMirrorTargetsInput) (*DescribeTrafficMirrorTargetsOutput, error) {
22197	req, out := c.DescribeTrafficMirrorTargetsRequest(input)
22198	return out, req.Send()
22199}
22200
22201// DescribeTrafficMirrorTargetsWithContext is the same as DescribeTrafficMirrorTargets with the addition of
22202// the ability to pass a context and additional request options.
22203//
22204// See DescribeTrafficMirrorTargets for details on how to use this API operation.
22205//
22206// The context must be non-nil and will be used for request cancellation. If
22207// the context is nil a panic will occur. In the future the SDK may create
22208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22209// for more information on using Contexts.
22210func (c *EC2) DescribeTrafficMirrorTargetsWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, opts ...request.Option) (*DescribeTrafficMirrorTargetsOutput, error) {
22211	req, out := c.DescribeTrafficMirrorTargetsRequest(input)
22212	req.SetContext(ctx)
22213	req.ApplyOptions(opts...)
22214	return out, req.Send()
22215}
22216
22217// DescribeTrafficMirrorTargetsPages iterates over the pages of a DescribeTrafficMirrorTargets operation,
22218// calling the "fn" function with the response data for each page. To stop
22219// iterating, return false from the fn function.
22220//
22221// See DescribeTrafficMirrorTargets method for more information on how to use this operation.
22222//
22223// Note: This operation can generate multiple requests to a service.
22224//
22225//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorTargets operation.
22226//    pageNum := 0
22227//    err := client.DescribeTrafficMirrorTargetsPages(params,
22228//        func(page *ec2.DescribeTrafficMirrorTargetsOutput, lastPage bool) bool {
22229//            pageNum++
22230//            fmt.Println(page)
22231//            return pageNum <= 3
22232//        })
22233//
22234func (c *EC2) DescribeTrafficMirrorTargetsPages(input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool) error {
22235	return c.DescribeTrafficMirrorTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
22236}
22237
22238// DescribeTrafficMirrorTargetsPagesWithContext same as DescribeTrafficMirrorTargetsPages except
22239// it takes a Context and allows setting request options on the pages.
22240//
22241// The context must be non-nil and will be used for request cancellation. If
22242// the context is nil a panic will occur. In the future the SDK may create
22243// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22244// for more information on using Contexts.
22245func (c *EC2) DescribeTrafficMirrorTargetsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool, opts ...request.Option) error {
22246	p := request.Pagination{
22247		NewRequest: func() (*request.Request, error) {
22248			var inCpy *DescribeTrafficMirrorTargetsInput
22249			if input != nil {
22250				tmp := *input
22251				inCpy = &tmp
22252			}
22253			req, _ := c.DescribeTrafficMirrorTargetsRequest(inCpy)
22254			req.SetContext(ctx)
22255			req.ApplyOptions(opts...)
22256			return req, nil
22257		},
22258	}
22259
22260	for p.Next() {
22261		if !fn(p.Page().(*DescribeTrafficMirrorTargetsOutput), !p.HasNextPage()) {
22262			break
22263		}
22264	}
22265
22266	return p.Err()
22267}
22268
22269const opDescribeTransitGatewayAttachments = "DescribeTransitGatewayAttachments"
22270
22271// DescribeTransitGatewayAttachmentsRequest generates a "aws/request.Request" representing the
22272// client's request for the DescribeTransitGatewayAttachments operation. The "output" return
22273// value will be populated with the request's response once the request completes
22274// successfully.
22275//
22276// Use "Send" method on the returned Request to send the API call to the service.
22277// the "output" return value is not valid until after Send returns without error.
22278//
22279// See DescribeTransitGatewayAttachments for more information on using the DescribeTransitGatewayAttachments
22280// API call, and error handling.
22281//
22282// This method is useful when you want to inject custom logic or configuration
22283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22284//
22285//
22286//    // Example sending a request using the DescribeTransitGatewayAttachmentsRequest method.
22287//    req, resp := client.DescribeTransitGatewayAttachmentsRequest(params)
22288//
22289//    err := req.Send()
22290//    if err == nil { // resp is now filled
22291//        fmt.Println(resp)
22292//    }
22293//
22294// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
22295func (c *EC2) DescribeTransitGatewayAttachmentsRequest(input *DescribeTransitGatewayAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayAttachmentsOutput) {
22296	op := &request.Operation{
22297		Name:       opDescribeTransitGatewayAttachments,
22298		HTTPMethod: "POST",
22299		HTTPPath:   "/",
22300		Paginator: &request.Paginator{
22301			InputTokens:     []string{"NextToken"},
22302			OutputTokens:    []string{"NextToken"},
22303			LimitToken:      "MaxResults",
22304			TruncationToken: "",
22305		},
22306	}
22307
22308	if input == nil {
22309		input = &DescribeTransitGatewayAttachmentsInput{}
22310	}
22311
22312	output = &DescribeTransitGatewayAttachmentsOutput{}
22313	req = c.newRequest(op, input, output)
22314	return
22315}
22316
22317// DescribeTransitGatewayAttachments API operation for Amazon Elastic Compute Cloud.
22318//
22319// Describes one or more attachments between resources and transit gateways.
22320// By default, all attachments are described. Alternatively, you can filter
22321// the results by attachment ID, attachment state, resource ID, or resource
22322// owner.
22323//
22324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22325// with awserr.Error's Code and Message methods to get detailed information about
22326// the error.
22327//
22328// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22329// API operation DescribeTransitGatewayAttachments for usage and error information.
22330// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
22331func (c *EC2) DescribeTransitGatewayAttachments(input *DescribeTransitGatewayAttachmentsInput) (*DescribeTransitGatewayAttachmentsOutput, error) {
22332	req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
22333	return out, req.Send()
22334}
22335
22336// DescribeTransitGatewayAttachmentsWithContext is the same as DescribeTransitGatewayAttachments with the addition of
22337// the ability to pass a context and additional request options.
22338//
22339// See DescribeTransitGatewayAttachments for details on how to use this API operation.
22340//
22341// The context must be non-nil and will be used for request cancellation. If
22342// the context is nil a panic will occur. In the future the SDK may create
22343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22344// for more information on using Contexts.
22345func (c *EC2) DescribeTransitGatewayAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayAttachmentsOutput, error) {
22346	req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
22347	req.SetContext(ctx)
22348	req.ApplyOptions(opts...)
22349	return out, req.Send()
22350}
22351
22352// DescribeTransitGatewayAttachmentsPages iterates over the pages of a DescribeTransitGatewayAttachments operation,
22353// calling the "fn" function with the response data for each page. To stop
22354// iterating, return false from the fn function.
22355//
22356// See DescribeTransitGatewayAttachments method for more information on how to use this operation.
22357//
22358// Note: This operation can generate multiple requests to a service.
22359//
22360//    // Example iterating over at most 3 pages of a DescribeTransitGatewayAttachments operation.
22361//    pageNum := 0
22362//    err := client.DescribeTransitGatewayAttachmentsPages(params,
22363//        func(page *ec2.DescribeTransitGatewayAttachmentsOutput, lastPage bool) bool {
22364//            pageNum++
22365//            fmt.Println(page)
22366//            return pageNum <= 3
22367//        })
22368//
22369func (c *EC2) DescribeTransitGatewayAttachmentsPages(input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool) error {
22370	return c.DescribeTransitGatewayAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
22371}
22372
22373// DescribeTransitGatewayAttachmentsPagesWithContext same as DescribeTransitGatewayAttachmentsPages except
22374// it takes a Context and allows setting request options on the pages.
22375//
22376// The context must be non-nil and will be used for request cancellation. If
22377// the context is nil a panic will occur. In the future the SDK may create
22378// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22379// for more information on using Contexts.
22380func (c *EC2) DescribeTransitGatewayAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool, opts ...request.Option) error {
22381	p := request.Pagination{
22382		NewRequest: func() (*request.Request, error) {
22383			var inCpy *DescribeTransitGatewayAttachmentsInput
22384			if input != nil {
22385				tmp := *input
22386				inCpy = &tmp
22387			}
22388			req, _ := c.DescribeTransitGatewayAttachmentsRequest(inCpy)
22389			req.SetContext(ctx)
22390			req.ApplyOptions(opts...)
22391			return req, nil
22392		},
22393	}
22394
22395	for p.Next() {
22396		if !fn(p.Page().(*DescribeTransitGatewayAttachmentsOutput), !p.HasNextPage()) {
22397			break
22398		}
22399	}
22400
22401	return p.Err()
22402}
22403
22404const opDescribeTransitGatewayMulticastDomains = "DescribeTransitGatewayMulticastDomains"
22405
22406// DescribeTransitGatewayMulticastDomainsRequest generates a "aws/request.Request" representing the
22407// client's request for the DescribeTransitGatewayMulticastDomains operation. The "output" return
22408// value will be populated with the request's response once the request completes
22409// successfully.
22410//
22411// Use "Send" method on the returned Request to send the API call to the service.
22412// the "output" return value is not valid until after Send returns without error.
22413//
22414// See DescribeTransitGatewayMulticastDomains for more information on using the DescribeTransitGatewayMulticastDomains
22415// API call, and error handling.
22416//
22417// This method is useful when you want to inject custom logic or configuration
22418// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22419//
22420//
22421//    // Example sending a request using the DescribeTransitGatewayMulticastDomainsRequest method.
22422//    req, resp := client.DescribeTransitGatewayMulticastDomainsRequest(params)
22423//
22424//    err := req.Send()
22425//    if err == nil { // resp is now filled
22426//        fmt.Println(resp)
22427//    }
22428//
22429// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
22430func (c *EC2) DescribeTransitGatewayMulticastDomainsRequest(input *DescribeTransitGatewayMulticastDomainsInput) (req *request.Request, output *DescribeTransitGatewayMulticastDomainsOutput) {
22431	op := &request.Operation{
22432		Name:       opDescribeTransitGatewayMulticastDomains,
22433		HTTPMethod: "POST",
22434		HTTPPath:   "/",
22435		Paginator: &request.Paginator{
22436			InputTokens:     []string{"NextToken"},
22437			OutputTokens:    []string{"NextToken"},
22438			LimitToken:      "MaxResults",
22439			TruncationToken: "",
22440		},
22441	}
22442
22443	if input == nil {
22444		input = &DescribeTransitGatewayMulticastDomainsInput{}
22445	}
22446
22447	output = &DescribeTransitGatewayMulticastDomainsOutput{}
22448	req = c.newRequest(op, input, output)
22449	return
22450}
22451
22452// DescribeTransitGatewayMulticastDomains API operation for Amazon Elastic Compute Cloud.
22453//
22454// Describes one or more transit gateway multicast domains.
22455//
22456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22457// with awserr.Error's Code and Message methods to get detailed information about
22458// the error.
22459//
22460// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22461// API operation DescribeTransitGatewayMulticastDomains for usage and error information.
22462// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
22463func (c *EC2) DescribeTransitGatewayMulticastDomains(input *DescribeTransitGatewayMulticastDomainsInput) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
22464	req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
22465	return out, req.Send()
22466}
22467
22468// DescribeTransitGatewayMulticastDomainsWithContext is the same as DescribeTransitGatewayMulticastDomains with the addition of
22469// the ability to pass a context and additional request options.
22470//
22471// See DescribeTransitGatewayMulticastDomains for details on how to use this API operation.
22472//
22473// The context must be non-nil and will be used for request cancellation. If
22474// the context is nil a panic will occur. In the future the SDK may create
22475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22476// for more information on using Contexts.
22477func (c *EC2) DescribeTransitGatewayMulticastDomainsWithContext(ctx aws.Context, input *DescribeTransitGatewayMulticastDomainsInput, opts ...request.Option) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
22478	req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
22479	req.SetContext(ctx)
22480	req.ApplyOptions(opts...)
22481	return out, req.Send()
22482}
22483
22484// DescribeTransitGatewayMulticastDomainsPages iterates over the pages of a DescribeTransitGatewayMulticastDomains operation,
22485// calling the "fn" function with the response data for each page. To stop
22486// iterating, return false from the fn function.
22487//
22488// See DescribeTransitGatewayMulticastDomains method for more information on how to use this operation.
22489//
22490// Note: This operation can generate multiple requests to a service.
22491//
22492//    // Example iterating over at most 3 pages of a DescribeTransitGatewayMulticastDomains operation.
22493//    pageNum := 0
22494//    err := client.DescribeTransitGatewayMulticastDomainsPages(params,
22495//        func(page *ec2.DescribeTransitGatewayMulticastDomainsOutput, lastPage bool) bool {
22496//            pageNum++
22497//            fmt.Println(page)
22498//            return pageNum <= 3
22499//        })
22500//
22501func (c *EC2) DescribeTransitGatewayMulticastDomainsPages(input *DescribeTransitGatewayMulticastDomainsInput, fn func(*DescribeTransitGatewayMulticastDomainsOutput, bool) bool) error {
22502	return c.DescribeTransitGatewayMulticastDomainsPagesWithContext(aws.BackgroundContext(), input, fn)
22503}
22504
22505// DescribeTransitGatewayMulticastDomainsPagesWithContext same as DescribeTransitGatewayMulticastDomainsPages except
22506// it takes a Context and allows setting request options on the pages.
22507//
22508// The context must be non-nil and will be used for request cancellation. If
22509// the context is nil a panic will occur. In the future the SDK may create
22510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22511// for more information on using Contexts.
22512func (c *EC2) DescribeTransitGatewayMulticastDomainsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayMulticastDomainsInput, fn func(*DescribeTransitGatewayMulticastDomainsOutput, bool) bool, opts ...request.Option) error {
22513	p := request.Pagination{
22514		NewRequest: func() (*request.Request, error) {
22515			var inCpy *DescribeTransitGatewayMulticastDomainsInput
22516			if input != nil {
22517				tmp := *input
22518				inCpy = &tmp
22519			}
22520			req, _ := c.DescribeTransitGatewayMulticastDomainsRequest(inCpy)
22521			req.SetContext(ctx)
22522			req.ApplyOptions(opts...)
22523			return req, nil
22524		},
22525	}
22526
22527	for p.Next() {
22528		if !fn(p.Page().(*DescribeTransitGatewayMulticastDomainsOutput), !p.HasNextPage()) {
22529			break
22530		}
22531	}
22532
22533	return p.Err()
22534}
22535
22536const opDescribeTransitGatewayPeeringAttachments = "DescribeTransitGatewayPeeringAttachments"
22537
22538// DescribeTransitGatewayPeeringAttachmentsRequest generates a "aws/request.Request" representing the
22539// client's request for the DescribeTransitGatewayPeeringAttachments operation. The "output" return
22540// value will be populated with the request's response once the request completes
22541// successfully.
22542//
22543// Use "Send" method on the returned Request to send the API call to the service.
22544// the "output" return value is not valid until after Send returns without error.
22545//
22546// See DescribeTransitGatewayPeeringAttachments for more information on using the DescribeTransitGatewayPeeringAttachments
22547// API call, and error handling.
22548//
22549// This method is useful when you want to inject custom logic or configuration
22550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22551//
22552//
22553//    // Example sending a request using the DescribeTransitGatewayPeeringAttachmentsRequest method.
22554//    req, resp := client.DescribeTransitGatewayPeeringAttachmentsRequest(params)
22555//
22556//    err := req.Send()
22557//    if err == nil { // resp is now filled
22558//        fmt.Println(resp)
22559//    }
22560//
22561// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
22562func (c *EC2) DescribeTransitGatewayPeeringAttachmentsRequest(input *DescribeTransitGatewayPeeringAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayPeeringAttachmentsOutput) {
22563	op := &request.Operation{
22564		Name:       opDescribeTransitGatewayPeeringAttachments,
22565		HTTPMethod: "POST",
22566		HTTPPath:   "/",
22567		Paginator: &request.Paginator{
22568			InputTokens:     []string{"NextToken"},
22569			OutputTokens:    []string{"NextToken"},
22570			LimitToken:      "MaxResults",
22571			TruncationToken: "",
22572		},
22573	}
22574
22575	if input == nil {
22576		input = &DescribeTransitGatewayPeeringAttachmentsInput{}
22577	}
22578
22579	output = &DescribeTransitGatewayPeeringAttachmentsOutput{}
22580	req = c.newRequest(op, input, output)
22581	return
22582}
22583
22584// DescribeTransitGatewayPeeringAttachments API operation for Amazon Elastic Compute Cloud.
22585//
22586// Describes your transit gateway peering attachments.
22587//
22588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22589// with awserr.Error's Code and Message methods to get detailed information about
22590// the error.
22591//
22592// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22593// API operation DescribeTransitGatewayPeeringAttachments for usage and error information.
22594// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
22595func (c *EC2) DescribeTransitGatewayPeeringAttachments(input *DescribeTransitGatewayPeeringAttachmentsInput) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
22596	req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
22597	return out, req.Send()
22598}
22599
22600// DescribeTransitGatewayPeeringAttachmentsWithContext is the same as DescribeTransitGatewayPeeringAttachments with the addition of
22601// the ability to pass a context and additional request options.
22602//
22603// See DescribeTransitGatewayPeeringAttachments for details on how to use this API operation.
22604//
22605// The context must be non-nil and will be used for request cancellation. If
22606// the context is nil a panic will occur. In the future the SDK may create
22607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22608// for more information on using Contexts.
22609func (c *EC2) DescribeTransitGatewayPeeringAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayPeeringAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
22610	req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
22611	req.SetContext(ctx)
22612	req.ApplyOptions(opts...)
22613	return out, req.Send()
22614}
22615
22616// DescribeTransitGatewayPeeringAttachmentsPages iterates over the pages of a DescribeTransitGatewayPeeringAttachments operation,
22617// calling the "fn" function with the response data for each page. To stop
22618// iterating, return false from the fn function.
22619//
22620// See DescribeTransitGatewayPeeringAttachments method for more information on how to use this operation.
22621//
22622// Note: This operation can generate multiple requests to a service.
22623//
22624//    // Example iterating over at most 3 pages of a DescribeTransitGatewayPeeringAttachments operation.
22625//    pageNum := 0
22626//    err := client.DescribeTransitGatewayPeeringAttachmentsPages(params,
22627//        func(page *ec2.DescribeTransitGatewayPeeringAttachmentsOutput, lastPage bool) bool {
22628//            pageNum++
22629//            fmt.Println(page)
22630//            return pageNum <= 3
22631//        })
22632//
22633func (c *EC2) DescribeTransitGatewayPeeringAttachmentsPages(input *DescribeTransitGatewayPeeringAttachmentsInput, fn func(*DescribeTransitGatewayPeeringAttachmentsOutput, bool) bool) error {
22634	return c.DescribeTransitGatewayPeeringAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
22635}
22636
22637// DescribeTransitGatewayPeeringAttachmentsPagesWithContext same as DescribeTransitGatewayPeeringAttachmentsPages except
22638// it takes a Context and allows setting request options on the pages.
22639//
22640// The context must be non-nil and will be used for request cancellation. If
22641// the context is nil a panic will occur. In the future the SDK may create
22642// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22643// for more information on using Contexts.
22644func (c *EC2) DescribeTransitGatewayPeeringAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayPeeringAttachmentsInput, fn func(*DescribeTransitGatewayPeeringAttachmentsOutput, bool) bool, opts ...request.Option) error {
22645	p := request.Pagination{
22646		NewRequest: func() (*request.Request, error) {
22647			var inCpy *DescribeTransitGatewayPeeringAttachmentsInput
22648			if input != nil {
22649				tmp := *input
22650				inCpy = &tmp
22651			}
22652			req, _ := c.DescribeTransitGatewayPeeringAttachmentsRequest(inCpy)
22653			req.SetContext(ctx)
22654			req.ApplyOptions(opts...)
22655			return req, nil
22656		},
22657	}
22658
22659	for p.Next() {
22660		if !fn(p.Page().(*DescribeTransitGatewayPeeringAttachmentsOutput), !p.HasNextPage()) {
22661			break
22662		}
22663	}
22664
22665	return p.Err()
22666}
22667
22668const opDescribeTransitGatewayRouteTables = "DescribeTransitGatewayRouteTables"
22669
22670// DescribeTransitGatewayRouteTablesRequest generates a "aws/request.Request" representing the
22671// client's request for the DescribeTransitGatewayRouteTables operation. The "output" return
22672// value will be populated with the request's response once the request completes
22673// successfully.
22674//
22675// Use "Send" method on the returned Request to send the API call to the service.
22676// the "output" return value is not valid until after Send returns without error.
22677//
22678// See DescribeTransitGatewayRouteTables for more information on using the DescribeTransitGatewayRouteTables
22679// API call, and error handling.
22680//
22681// This method is useful when you want to inject custom logic or configuration
22682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22683//
22684//
22685//    // Example sending a request using the DescribeTransitGatewayRouteTablesRequest method.
22686//    req, resp := client.DescribeTransitGatewayRouteTablesRequest(params)
22687//
22688//    err := req.Send()
22689//    if err == nil { // resp is now filled
22690//        fmt.Println(resp)
22691//    }
22692//
22693// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
22694func (c *EC2) DescribeTransitGatewayRouteTablesRequest(input *DescribeTransitGatewayRouteTablesInput) (req *request.Request, output *DescribeTransitGatewayRouteTablesOutput) {
22695	op := &request.Operation{
22696		Name:       opDescribeTransitGatewayRouteTables,
22697		HTTPMethod: "POST",
22698		HTTPPath:   "/",
22699		Paginator: &request.Paginator{
22700			InputTokens:     []string{"NextToken"},
22701			OutputTokens:    []string{"NextToken"},
22702			LimitToken:      "MaxResults",
22703			TruncationToken: "",
22704		},
22705	}
22706
22707	if input == nil {
22708		input = &DescribeTransitGatewayRouteTablesInput{}
22709	}
22710
22711	output = &DescribeTransitGatewayRouteTablesOutput{}
22712	req = c.newRequest(op, input, output)
22713	return
22714}
22715
22716// DescribeTransitGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
22717//
22718// Describes one or more transit gateway route tables. By default, all transit
22719// gateway route tables are described. Alternatively, you can filter the results.
22720//
22721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22722// with awserr.Error's Code and Message methods to get detailed information about
22723// the error.
22724//
22725// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22726// API operation DescribeTransitGatewayRouteTables for usage and error information.
22727// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
22728func (c *EC2) DescribeTransitGatewayRouteTables(input *DescribeTransitGatewayRouteTablesInput) (*DescribeTransitGatewayRouteTablesOutput, error) {
22729	req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
22730	return out, req.Send()
22731}
22732
22733// DescribeTransitGatewayRouteTablesWithContext is the same as DescribeTransitGatewayRouteTables with the addition of
22734// the ability to pass a context and additional request options.
22735//
22736// See DescribeTransitGatewayRouteTables for details on how to use this API operation.
22737//
22738// The context must be non-nil and will be used for request cancellation. If
22739// the context is nil a panic will occur. In the future the SDK may create
22740// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22741// for more information on using Contexts.
22742func (c *EC2) DescribeTransitGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, opts ...request.Option) (*DescribeTransitGatewayRouteTablesOutput, error) {
22743	req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
22744	req.SetContext(ctx)
22745	req.ApplyOptions(opts...)
22746	return out, req.Send()
22747}
22748
22749// DescribeTransitGatewayRouteTablesPages iterates over the pages of a DescribeTransitGatewayRouteTables operation,
22750// calling the "fn" function with the response data for each page. To stop
22751// iterating, return false from the fn function.
22752//
22753// See DescribeTransitGatewayRouteTables method for more information on how to use this operation.
22754//
22755// Note: This operation can generate multiple requests to a service.
22756//
22757//    // Example iterating over at most 3 pages of a DescribeTransitGatewayRouteTables operation.
22758//    pageNum := 0
22759//    err := client.DescribeTransitGatewayRouteTablesPages(params,
22760//        func(page *ec2.DescribeTransitGatewayRouteTablesOutput, lastPage bool) bool {
22761//            pageNum++
22762//            fmt.Println(page)
22763//            return pageNum <= 3
22764//        })
22765//
22766func (c *EC2) DescribeTransitGatewayRouteTablesPages(input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool) error {
22767	return c.DescribeTransitGatewayRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
22768}
22769
22770// DescribeTransitGatewayRouteTablesPagesWithContext same as DescribeTransitGatewayRouteTablesPages except
22771// it takes a Context and allows setting request options on the pages.
22772//
22773// The context must be non-nil and will be used for request cancellation. If
22774// the context is nil a panic will occur. In the future the SDK may create
22775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22776// for more information on using Contexts.
22777func (c *EC2) DescribeTransitGatewayRouteTablesPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool, opts ...request.Option) error {
22778	p := request.Pagination{
22779		NewRequest: func() (*request.Request, error) {
22780			var inCpy *DescribeTransitGatewayRouteTablesInput
22781			if input != nil {
22782				tmp := *input
22783				inCpy = &tmp
22784			}
22785			req, _ := c.DescribeTransitGatewayRouteTablesRequest(inCpy)
22786			req.SetContext(ctx)
22787			req.ApplyOptions(opts...)
22788			return req, nil
22789		},
22790	}
22791
22792	for p.Next() {
22793		if !fn(p.Page().(*DescribeTransitGatewayRouteTablesOutput), !p.HasNextPage()) {
22794			break
22795		}
22796	}
22797
22798	return p.Err()
22799}
22800
22801const opDescribeTransitGatewayVpcAttachments = "DescribeTransitGatewayVpcAttachments"
22802
22803// DescribeTransitGatewayVpcAttachmentsRequest generates a "aws/request.Request" representing the
22804// client's request for the DescribeTransitGatewayVpcAttachments operation. The "output" return
22805// value will be populated with the request's response once the request completes
22806// successfully.
22807//
22808// Use "Send" method on the returned Request to send the API call to the service.
22809// the "output" return value is not valid until after Send returns without error.
22810//
22811// See DescribeTransitGatewayVpcAttachments for more information on using the DescribeTransitGatewayVpcAttachments
22812// API call, and error handling.
22813//
22814// This method is useful when you want to inject custom logic or configuration
22815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22816//
22817//
22818//    // Example sending a request using the DescribeTransitGatewayVpcAttachmentsRequest method.
22819//    req, resp := client.DescribeTransitGatewayVpcAttachmentsRequest(params)
22820//
22821//    err := req.Send()
22822//    if err == nil { // resp is now filled
22823//        fmt.Println(resp)
22824//    }
22825//
22826// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
22827func (c *EC2) DescribeTransitGatewayVpcAttachmentsRequest(input *DescribeTransitGatewayVpcAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayVpcAttachmentsOutput) {
22828	op := &request.Operation{
22829		Name:       opDescribeTransitGatewayVpcAttachments,
22830		HTTPMethod: "POST",
22831		HTTPPath:   "/",
22832		Paginator: &request.Paginator{
22833			InputTokens:     []string{"NextToken"},
22834			OutputTokens:    []string{"NextToken"},
22835			LimitToken:      "MaxResults",
22836			TruncationToken: "",
22837		},
22838	}
22839
22840	if input == nil {
22841		input = &DescribeTransitGatewayVpcAttachmentsInput{}
22842	}
22843
22844	output = &DescribeTransitGatewayVpcAttachmentsOutput{}
22845	req = c.newRequest(op, input, output)
22846	return
22847}
22848
22849// DescribeTransitGatewayVpcAttachments API operation for Amazon Elastic Compute Cloud.
22850//
22851// Describes one or more VPC attachments. By default, all VPC attachments are
22852// described. Alternatively, you can filter the results.
22853//
22854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22855// with awserr.Error's Code and Message methods to get detailed information about
22856// the error.
22857//
22858// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22859// API operation DescribeTransitGatewayVpcAttachments for usage and error information.
22860// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
22861func (c *EC2) DescribeTransitGatewayVpcAttachments(input *DescribeTransitGatewayVpcAttachmentsInput) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
22862	req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
22863	return out, req.Send()
22864}
22865
22866// DescribeTransitGatewayVpcAttachmentsWithContext is the same as DescribeTransitGatewayVpcAttachments with the addition of
22867// the ability to pass a context and additional request options.
22868//
22869// See DescribeTransitGatewayVpcAttachments for details on how to use this API operation.
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) DescribeTransitGatewayVpcAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
22876	req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
22877	req.SetContext(ctx)
22878	req.ApplyOptions(opts...)
22879	return out, req.Send()
22880}
22881
22882// DescribeTransitGatewayVpcAttachmentsPages iterates over the pages of a DescribeTransitGatewayVpcAttachments operation,
22883// calling the "fn" function with the response data for each page. To stop
22884// iterating, return false from the fn function.
22885//
22886// See DescribeTransitGatewayVpcAttachments method for more information on how to use this operation.
22887//
22888// Note: This operation can generate multiple requests to a service.
22889//
22890//    // Example iterating over at most 3 pages of a DescribeTransitGatewayVpcAttachments operation.
22891//    pageNum := 0
22892//    err := client.DescribeTransitGatewayVpcAttachmentsPages(params,
22893//        func(page *ec2.DescribeTransitGatewayVpcAttachmentsOutput, lastPage bool) bool {
22894//            pageNum++
22895//            fmt.Println(page)
22896//            return pageNum <= 3
22897//        })
22898//
22899func (c *EC2) DescribeTransitGatewayVpcAttachmentsPages(input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool) error {
22900	return c.DescribeTransitGatewayVpcAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
22901}
22902
22903// DescribeTransitGatewayVpcAttachmentsPagesWithContext same as DescribeTransitGatewayVpcAttachmentsPages except
22904// it takes a Context and allows setting request options on the pages.
22905//
22906// The context must be non-nil and will be used for request cancellation. If
22907// the context is nil a panic will occur. In the future the SDK may create
22908// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22909// for more information on using Contexts.
22910func (c *EC2) DescribeTransitGatewayVpcAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool, opts ...request.Option) error {
22911	p := request.Pagination{
22912		NewRequest: func() (*request.Request, error) {
22913			var inCpy *DescribeTransitGatewayVpcAttachmentsInput
22914			if input != nil {
22915				tmp := *input
22916				inCpy = &tmp
22917			}
22918			req, _ := c.DescribeTransitGatewayVpcAttachmentsRequest(inCpy)
22919			req.SetContext(ctx)
22920			req.ApplyOptions(opts...)
22921			return req, nil
22922		},
22923	}
22924
22925	for p.Next() {
22926		if !fn(p.Page().(*DescribeTransitGatewayVpcAttachmentsOutput), !p.HasNextPage()) {
22927			break
22928		}
22929	}
22930
22931	return p.Err()
22932}
22933
22934const opDescribeTransitGateways = "DescribeTransitGateways"
22935
22936// DescribeTransitGatewaysRequest generates a "aws/request.Request" representing the
22937// client's request for the DescribeTransitGateways operation. The "output" return
22938// value will be populated with the request's response once the request completes
22939// successfully.
22940//
22941// Use "Send" method on the returned Request to send the API call to the service.
22942// the "output" return value is not valid until after Send returns without error.
22943//
22944// See DescribeTransitGateways for more information on using the DescribeTransitGateways
22945// API call, and error handling.
22946//
22947// This method is useful when you want to inject custom logic or configuration
22948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22949//
22950//
22951//    // Example sending a request using the DescribeTransitGatewaysRequest method.
22952//    req, resp := client.DescribeTransitGatewaysRequest(params)
22953//
22954//    err := req.Send()
22955//    if err == nil { // resp is now filled
22956//        fmt.Println(resp)
22957//    }
22958//
22959// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
22960func (c *EC2) DescribeTransitGatewaysRequest(input *DescribeTransitGatewaysInput) (req *request.Request, output *DescribeTransitGatewaysOutput) {
22961	op := &request.Operation{
22962		Name:       opDescribeTransitGateways,
22963		HTTPMethod: "POST",
22964		HTTPPath:   "/",
22965		Paginator: &request.Paginator{
22966			InputTokens:     []string{"NextToken"},
22967			OutputTokens:    []string{"NextToken"},
22968			LimitToken:      "MaxResults",
22969			TruncationToken: "",
22970		},
22971	}
22972
22973	if input == nil {
22974		input = &DescribeTransitGatewaysInput{}
22975	}
22976
22977	output = &DescribeTransitGatewaysOutput{}
22978	req = c.newRequest(op, input, output)
22979	return
22980}
22981
22982// DescribeTransitGateways API operation for Amazon Elastic Compute Cloud.
22983//
22984// Describes one or more transit gateways. By default, all transit gateways
22985// are described. Alternatively, you can filter the results.
22986//
22987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22988// with awserr.Error's Code and Message methods to get detailed information about
22989// the error.
22990//
22991// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22992// API operation DescribeTransitGateways for usage and error information.
22993// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
22994func (c *EC2) DescribeTransitGateways(input *DescribeTransitGatewaysInput) (*DescribeTransitGatewaysOutput, error) {
22995	req, out := c.DescribeTransitGatewaysRequest(input)
22996	return out, req.Send()
22997}
22998
22999// DescribeTransitGatewaysWithContext is the same as DescribeTransitGateways with the addition of
23000// the ability to pass a context and additional request options.
23001//
23002// See DescribeTransitGateways for details on how to use this API operation.
23003//
23004// The context must be non-nil and will be used for request cancellation. If
23005// the context is nil a panic will occur. In the future the SDK may create
23006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23007// for more information on using Contexts.
23008func (c *EC2) DescribeTransitGatewaysWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, opts ...request.Option) (*DescribeTransitGatewaysOutput, error) {
23009	req, out := c.DescribeTransitGatewaysRequest(input)
23010	req.SetContext(ctx)
23011	req.ApplyOptions(opts...)
23012	return out, req.Send()
23013}
23014
23015// DescribeTransitGatewaysPages iterates over the pages of a DescribeTransitGateways operation,
23016// calling the "fn" function with the response data for each page. To stop
23017// iterating, return false from the fn function.
23018//
23019// See DescribeTransitGateways method for more information on how to use this operation.
23020//
23021// Note: This operation can generate multiple requests to a service.
23022//
23023//    // Example iterating over at most 3 pages of a DescribeTransitGateways operation.
23024//    pageNum := 0
23025//    err := client.DescribeTransitGatewaysPages(params,
23026//        func(page *ec2.DescribeTransitGatewaysOutput, lastPage bool) bool {
23027//            pageNum++
23028//            fmt.Println(page)
23029//            return pageNum <= 3
23030//        })
23031//
23032func (c *EC2) DescribeTransitGatewaysPages(input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool) error {
23033	return c.DescribeTransitGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
23034}
23035
23036// DescribeTransitGatewaysPagesWithContext same as DescribeTransitGatewaysPages except
23037// it takes a Context and allows setting request options on the pages.
23038//
23039// The context must be non-nil and will be used for request cancellation. If
23040// the context is nil a panic will occur. In the future the SDK may create
23041// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23042// for more information on using Contexts.
23043func (c *EC2) DescribeTransitGatewaysPagesWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool, opts ...request.Option) error {
23044	p := request.Pagination{
23045		NewRequest: func() (*request.Request, error) {
23046			var inCpy *DescribeTransitGatewaysInput
23047			if input != nil {
23048				tmp := *input
23049				inCpy = &tmp
23050			}
23051			req, _ := c.DescribeTransitGatewaysRequest(inCpy)
23052			req.SetContext(ctx)
23053			req.ApplyOptions(opts...)
23054			return req, nil
23055		},
23056	}
23057
23058	for p.Next() {
23059		if !fn(p.Page().(*DescribeTransitGatewaysOutput), !p.HasNextPage()) {
23060			break
23061		}
23062	}
23063
23064	return p.Err()
23065}
23066
23067const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
23068
23069// DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
23070// client's request for the DescribeVolumeAttribute operation. The "output" return
23071// value will be populated with the request's response once the request completes
23072// successfully.
23073//
23074// Use "Send" method on the returned Request to send the API call to the service.
23075// the "output" return value is not valid until after Send returns without error.
23076//
23077// See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
23078// API call, and error handling.
23079//
23080// This method is useful when you want to inject custom logic or configuration
23081// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23082//
23083//
23084//    // Example sending a request using the DescribeVolumeAttributeRequest method.
23085//    req, resp := client.DescribeVolumeAttributeRequest(params)
23086//
23087//    err := req.Send()
23088//    if err == nil { // resp is now filled
23089//        fmt.Println(resp)
23090//    }
23091//
23092// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
23093func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
23094	op := &request.Operation{
23095		Name:       opDescribeVolumeAttribute,
23096		HTTPMethod: "POST",
23097		HTTPPath:   "/",
23098	}
23099
23100	if input == nil {
23101		input = &DescribeVolumeAttributeInput{}
23102	}
23103
23104	output = &DescribeVolumeAttributeOutput{}
23105	req = c.newRequest(op, input, output)
23106	return
23107}
23108
23109// DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
23110//
23111// Describes the specified attribute of the specified volume. You can specify
23112// only one attribute at a time.
23113//
23114// For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
23115// in the Amazon Elastic Compute Cloud User Guide.
23116//
23117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23118// with awserr.Error's Code and Message methods to get detailed information about
23119// the error.
23120//
23121// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23122// API operation DescribeVolumeAttribute for usage and error information.
23123// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
23124func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
23125	req, out := c.DescribeVolumeAttributeRequest(input)
23126	return out, req.Send()
23127}
23128
23129// DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
23130// the ability to pass a context and additional request options.
23131//
23132// See DescribeVolumeAttribute for details on how to use this API operation.
23133//
23134// The context must be non-nil and will be used for request cancellation. If
23135// the context is nil a panic will occur. In the future the SDK may create
23136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23137// for more information on using Contexts.
23138func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
23139	req, out := c.DescribeVolumeAttributeRequest(input)
23140	req.SetContext(ctx)
23141	req.ApplyOptions(opts...)
23142	return out, req.Send()
23143}
23144
23145const opDescribeVolumeStatus = "DescribeVolumeStatus"
23146
23147// DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
23148// client's request for the DescribeVolumeStatus operation. The "output" return
23149// value will be populated with the request's response once the request completes
23150// successfully.
23151//
23152// Use "Send" method on the returned Request to send the API call to the service.
23153// the "output" return value is not valid until after Send returns without error.
23154//
23155// See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
23156// API call, and error handling.
23157//
23158// This method is useful when you want to inject custom logic or configuration
23159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23160//
23161//
23162//    // Example sending a request using the DescribeVolumeStatusRequest method.
23163//    req, resp := client.DescribeVolumeStatusRequest(params)
23164//
23165//    err := req.Send()
23166//    if err == nil { // resp is now filled
23167//        fmt.Println(resp)
23168//    }
23169//
23170// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
23171func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
23172	op := &request.Operation{
23173		Name:       opDescribeVolumeStatus,
23174		HTTPMethod: "POST",
23175		HTTPPath:   "/",
23176		Paginator: &request.Paginator{
23177			InputTokens:     []string{"NextToken"},
23178			OutputTokens:    []string{"NextToken"},
23179			LimitToken:      "MaxResults",
23180			TruncationToken: "",
23181		},
23182	}
23183
23184	if input == nil {
23185		input = &DescribeVolumeStatusInput{}
23186	}
23187
23188	output = &DescribeVolumeStatusOutput{}
23189	req = c.newRequest(op, input, output)
23190	return
23191}
23192
23193// DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
23194//
23195// Describes the status of the specified volumes. Volume status provides the
23196// result of the checks performed on your volumes to determine events that can
23197// impair the performance of your volumes. The performance of a volume can be
23198// affected if an issue occurs on the volume's underlying host. If the volume's
23199// underlying host experiences a power outage or system issue, after the system
23200// is restored, there could be data inconsistencies on the volume. Volume events
23201// notify you if this occurs. Volume actions notify you if any action needs
23202// to be taken in response to the event.
23203//
23204// The DescribeVolumeStatus operation provides the following information about
23205// the specified volumes:
23206//
23207// Status: Reflects the current status of the volume. The possible values are
23208// ok, impaired , warning, or insufficient-data. If all checks pass, the overall
23209// status of the volume is ok. If the check fails, the overall status is impaired.
23210// If the status is insufficient-data, then the checks may still be taking place
23211// on your volume at the time. We recommend that you retry the request. For
23212// more information about volume status, see Monitoring the Status of Your Volumes
23213// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html)
23214// in the Amazon Elastic Compute Cloud User Guide.
23215//
23216// Events: Reflect the cause of a volume status and may require you to take
23217// action. For example, if your volume returns an impaired status, then the
23218// volume event might be potential-data-inconsistency. This means that your
23219// volume has been affected by an issue with the underlying host, has all I/O
23220// operations disabled, and may have inconsistent data.
23221//
23222// Actions: Reflect the actions you may have to take in response to an event.
23223// For example, if the status of the volume is impaired and the volume event
23224// shows potential-data-inconsistency, then the action shows enable-volume-io.
23225// This means that you may want to enable the I/O operations for the volume
23226// by calling the EnableVolumeIO action and then check the volume for data consistency.
23227//
23228// Volume status is based on the volume status checks, and does not reflect
23229// the volume state. Therefore, volume status does not indicate volumes in the
23230// error state (for example, when a volume is incapable of accepting I/O.)
23231//
23232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23233// with awserr.Error's Code and Message methods to get detailed information about
23234// the error.
23235//
23236// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23237// API operation DescribeVolumeStatus for usage and error information.
23238// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
23239func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
23240	req, out := c.DescribeVolumeStatusRequest(input)
23241	return out, req.Send()
23242}
23243
23244// DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
23245// the ability to pass a context and additional request options.
23246//
23247// See DescribeVolumeStatus for details on how to use this API operation.
23248//
23249// The context must be non-nil and will be used for request cancellation. If
23250// the context is nil a panic will occur. In the future the SDK may create
23251// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23252// for more information on using Contexts.
23253func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
23254	req, out := c.DescribeVolumeStatusRequest(input)
23255	req.SetContext(ctx)
23256	req.ApplyOptions(opts...)
23257	return out, req.Send()
23258}
23259
23260// DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
23261// calling the "fn" function with the response data for each page. To stop
23262// iterating, return false from the fn function.
23263//
23264// See DescribeVolumeStatus method for more information on how to use this operation.
23265//
23266// Note: This operation can generate multiple requests to a service.
23267//
23268//    // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
23269//    pageNum := 0
23270//    err := client.DescribeVolumeStatusPages(params,
23271//        func(page *ec2.DescribeVolumeStatusOutput, lastPage bool) bool {
23272//            pageNum++
23273//            fmt.Println(page)
23274//            return pageNum <= 3
23275//        })
23276//
23277func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
23278	return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
23279}
23280
23281// DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
23282// it takes a Context and allows setting request options on the pages.
23283//
23284// The context must be non-nil and will be used for request cancellation. If
23285// the context is nil a panic will occur. In the future the SDK may create
23286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23287// for more information on using Contexts.
23288func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
23289	p := request.Pagination{
23290		NewRequest: func() (*request.Request, error) {
23291			var inCpy *DescribeVolumeStatusInput
23292			if input != nil {
23293				tmp := *input
23294				inCpy = &tmp
23295			}
23296			req, _ := c.DescribeVolumeStatusRequest(inCpy)
23297			req.SetContext(ctx)
23298			req.ApplyOptions(opts...)
23299			return req, nil
23300		},
23301	}
23302
23303	for p.Next() {
23304		if !fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage()) {
23305			break
23306		}
23307	}
23308
23309	return p.Err()
23310}
23311
23312const opDescribeVolumes = "DescribeVolumes"
23313
23314// DescribeVolumesRequest generates a "aws/request.Request" representing the
23315// client's request for the DescribeVolumes operation. The "output" return
23316// value will be populated with the request's response once the request completes
23317// successfully.
23318//
23319// Use "Send" method on the returned Request to send the API call to the service.
23320// the "output" return value is not valid until after Send returns without error.
23321//
23322// See DescribeVolumes for more information on using the DescribeVolumes
23323// API call, and error handling.
23324//
23325// This method is useful when you want to inject custom logic or configuration
23326// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23327//
23328//
23329//    // Example sending a request using the DescribeVolumesRequest method.
23330//    req, resp := client.DescribeVolumesRequest(params)
23331//
23332//    err := req.Send()
23333//    if err == nil { // resp is now filled
23334//        fmt.Println(resp)
23335//    }
23336//
23337// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
23338func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
23339	op := &request.Operation{
23340		Name:       opDescribeVolumes,
23341		HTTPMethod: "POST",
23342		HTTPPath:   "/",
23343		Paginator: &request.Paginator{
23344			InputTokens:     []string{"NextToken"},
23345			OutputTokens:    []string{"NextToken"},
23346			LimitToken:      "MaxResults",
23347			TruncationToken: "",
23348		},
23349	}
23350
23351	if input == nil {
23352		input = &DescribeVolumesInput{}
23353	}
23354
23355	output = &DescribeVolumesOutput{}
23356	req = c.newRequest(op, input, output)
23357	return
23358}
23359
23360// DescribeVolumes API operation for Amazon Elastic Compute Cloud.
23361//
23362// Describes the specified EBS volumes or all of your EBS volumes.
23363//
23364// If you are describing a long list of volumes, you can paginate the output
23365// to make the list more manageable. The MaxResults parameter sets the maximum
23366// number of results returned in a single page. If the list of results exceeds
23367// your MaxResults value, then that number of results is returned along with
23368// a NextToken value that can be passed to a subsequent DescribeVolumes request
23369// to retrieve the remaining results.
23370//
23371// For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
23372// in the Amazon Elastic Compute Cloud User Guide.
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 DescribeVolumes for usage and error information.
23380// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
23381func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
23382	req, out := c.DescribeVolumesRequest(input)
23383	return out, req.Send()
23384}
23385
23386// DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
23387// the ability to pass a context and additional request options.
23388//
23389// See DescribeVolumes 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) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
23396	req, out := c.DescribeVolumesRequest(input)
23397	req.SetContext(ctx)
23398	req.ApplyOptions(opts...)
23399	return out, req.Send()
23400}
23401
23402// DescribeVolumesPages iterates over the pages of a DescribeVolumes 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 DescribeVolumes 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 DescribeVolumes operation.
23411//    pageNum := 0
23412//    err := client.DescribeVolumesPages(params,
23413//        func(page *ec2.DescribeVolumesOutput, lastPage bool) bool {
23414//            pageNum++
23415//            fmt.Println(page)
23416//            return pageNum <= 3
23417//        })
23418//
23419func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
23420	return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
23421}
23422
23423// DescribeVolumesPagesWithContext same as DescribeVolumesPages 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) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
23431	p := request.Pagination{
23432		NewRequest: func() (*request.Request, error) {
23433			var inCpy *DescribeVolumesInput
23434			if input != nil {
23435				tmp := *input
23436				inCpy = &tmp
23437			}
23438			req, _ := c.DescribeVolumesRequest(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().(*DescribeVolumesOutput), !p.HasNextPage()) {
23447			break
23448		}
23449	}
23450
23451	return p.Err()
23452}
23453
23454const opDescribeVolumesModifications = "DescribeVolumesModifications"
23455
23456// DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
23457// client's request for the DescribeVolumesModifications 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 DescribeVolumesModifications for more information on using the DescribeVolumesModifications
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 DescribeVolumesModificationsRequest method.
23472//    req, resp := client.DescribeVolumesModificationsRequest(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/DescribeVolumesModifications
23480func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
23481	op := &request.Operation{
23482		Name:       opDescribeVolumesModifications,
23483		HTTPMethod: "POST",
23484		HTTPPath:   "/",
23485		Paginator: &request.Paginator{
23486			InputTokens:     []string{"NextToken"},
23487			OutputTokens:    []string{"NextToken"},
23488			LimitToken:      "MaxResults",
23489			TruncationToken: "",
23490		},
23491	}
23492
23493	if input == nil {
23494		input = &DescribeVolumesModificationsInput{}
23495	}
23496
23497	output = &DescribeVolumesModificationsOutput{}
23498	req = c.newRequest(op, input, output)
23499	return
23500}
23501
23502// DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
23503//
23504// Reports the current modification status of EBS volumes.
23505//
23506// Current-generation EBS volumes support modification of attributes including
23507// type, size, and (for io1 volumes) IOPS provisioning while either attached
23508// to or detached from an instance. Following an action from the API or the
23509// console to modify a volume, the status of the modification may be modifying,
23510// optimizing, completed, or failed. If a volume has never been modified, then
23511// certain elements of the returned VolumeModification objects are null.
23512//
23513// You can also use CloudWatch Events to check the status of a modification
23514// to an EBS volume. For information about CloudWatch Events, see the Amazon
23515// CloudWatch Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
23516// For more information, see Monitoring Volume Modifications" (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods)
23517// in the Amazon Elastic Compute Cloud User Guide.
23518//
23519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23520// with awserr.Error's Code and Message methods to get detailed information about
23521// the error.
23522//
23523// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23524// API operation DescribeVolumesModifications for usage and error information.
23525// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
23526func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
23527	req, out := c.DescribeVolumesModificationsRequest(input)
23528	return out, req.Send()
23529}
23530
23531// DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
23532// the ability to pass a context and additional request options.
23533//
23534// See DescribeVolumesModifications for details on how to use this API operation.
23535//
23536// The context must be non-nil and will be used for request cancellation. If
23537// the context is nil a panic will occur. In the future the SDK may create
23538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23539// for more information on using Contexts.
23540func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
23541	req, out := c.DescribeVolumesModificationsRequest(input)
23542	req.SetContext(ctx)
23543	req.ApplyOptions(opts...)
23544	return out, req.Send()
23545}
23546
23547// DescribeVolumesModificationsPages iterates over the pages of a DescribeVolumesModifications operation,
23548// calling the "fn" function with the response data for each page. To stop
23549// iterating, return false from the fn function.
23550//
23551// See DescribeVolumesModifications method for more information on how to use this operation.
23552//
23553// Note: This operation can generate multiple requests to a service.
23554//
23555//    // Example iterating over at most 3 pages of a DescribeVolumesModifications operation.
23556//    pageNum := 0
23557//    err := client.DescribeVolumesModificationsPages(params,
23558//        func(page *ec2.DescribeVolumesModificationsOutput, lastPage bool) bool {
23559//            pageNum++
23560//            fmt.Println(page)
23561//            return pageNum <= 3
23562//        })
23563//
23564func (c *EC2) DescribeVolumesModificationsPages(input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool) error {
23565	return c.DescribeVolumesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
23566}
23567
23568// DescribeVolumesModificationsPagesWithContext same as DescribeVolumesModificationsPages except
23569// it takes a Context and allows setting request options on the pages.
23570//
23571// The context must be non-nil and will be used for request cancellation. If
23572// the context is nil a panic will occur. In the future the SDK may create
23573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23574// for more information on using Contexts.
23575func (c *EC2) DescribeVolumesModificationsPagesWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool, opts ...request.Option) error {
23576	p := request.Pagination{
23577		NewRequest: func() (*request.Request, error) {
23578			var inCpy *DescribeVolumesModificationsInput
23579			if input != nil {
23580				tmp := *input
23581				inCpy = &tmp
23582			}
23583			req, _ := c.DescribeVolumesModificationsRequest(inCpy)
23584			req.SetContext(ctx)
23585			req.ApplyOptions(opts...)
23586			return req, nil
23587		},
23588	}
23589
23590	for p.Next() {
23591		if !fn(p.Page().(*DescribeVolumesModificationsOutput), !p.HasNextPage()) {
23592			break
23593		}
23594	}
23595
23596	return p.Err()
23597}
23598
23599const opDescribeVpcAttribute = "DescribeVpcAttribute"
23600
23601// DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
23602// client's request for the DescribeVpcAttribute operation. The "output" return
23603// value will be populated with the request's response once the request completes
23604// successfully.
23605//
23606// Use "Send" method on the returned Request to send the API call to the service.
23607// the "output" return value is not valid until after Send returns without error.
23608//
23609// See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
23610// API call, and error handling.
23611//
23612// This method is useful when you want to inject custom logic or configuration
23613// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23614//
23615//
23616//    // Example sending a request using the DescribeVpcAttributeRequest method.
23617//    req, resp := client.DescribeVpcAttributeRequest(params)
23618//
23619//    err := req.Send()
23620//    if err == nil { // resp is now filled
23621//        fmt.Println(resp)
23622//    }
23623//
23624// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
23625func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
23626	op := &request.Operation{
23627		Name:       opDescribeVpcAttribute,
23628		HTTPMethod: "POST",
23629		HTTPPath:   "/",
23630	}
23631
23632	if input == nil {
23633		input = &DescribeVpcAttributeInput{}
23634	}
23635
23636	output = &DescribeVpcAttributeOutput{}
23637	req = c.newRequest(op, input, output)
23638	return
23639}
23640
23641// DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
23642//
23643// Describes the specified attribute of the specified VPC. You can specify only
23644// one attribute at a time.
23645//
23646// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23647// with awserr.Error's Code and Message methods to get detailed information about
23648// the error.
23649//
23650// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23651// API operation DescribeVpcAttribute for usage and error information.
23652// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
23653func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
23654	req, out := c.DescribeVpcAttributeRequest(input)
23655	return out, req.Send()
23656}
23657
23658// DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
23659// the ability to pass a context and additional request options.
23660//
23661// See DescribeVpcAttribute for details on how to use this API operation.
23662//
23663// The context must be non-nil and will be used for request cancellation. If
23664// the context is nil a panic will occur. In the future the SDK may create
23665// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23666// for more information on using Contexts.
23667func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
23668	req, out := c.DescribeVpcAttributeRequest(input)
23669	req.SetContext(ctx)
23670	req.ApplyOptions(opts...)
23671	return out, req.Send()
23672}
23673
23674const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
23675
23676// DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
23677// client's request for the DescribeVpcClassicLink operation. The "output" return
23678// value will be populated with the request's response once the request completes
23679// successfully.
23680//
23681// Use "Send" method on the returned Request to send the API call to the service.
23682// the "output" return value is not valid until after Send returns without error.
23683//
23684// See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
23685// API call, and error handling.
23686//
23687// This method is useful when you want to inject custom logic or configuration
23688// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23689//
23690//
23691//    // Example sending a request using the DescribeVpcClassicLinkRequest method.
23692//    req, resp := client.DescribeVpcClassicLinkRequest(params)
23693//
23694//    err := req.Send()
23695//    if err == nil { // resp is now filled
23696//        fmt.Println(resp)
23697//    }
23698//
23699// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
23700func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
23701	op := &request.Operation{
23702		Name:       opDescribeVpcClassicLink,
23703		HTTPMethod: "POST",
23704		HTTPPath:   "/",
23705	}
23706
23707	if input == nil {
23708		input = &DescribeVpcClassicLinkInput{}
23709	}
23710
23711	output = &DescribeVpcClassicLinkOutput{}
23712	req = c.newRequest(op, input, output)
23713	return
23714}
23715
23716// DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
23717//
23718// Describes the ClassicLink status of one or more VPCs.
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 DescribeVpcClassicLink for usage and error information.
23726// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
23727func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
23728	req, out := c.DescribeVpcClassicLinkRequest(input)
23729	return out, req.Send()
23730}
23731
23732// DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
23733// the ability to pass a context and additional request options.
23734//
23735// See DescribeVpcClassicLink 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) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
23742	req, out := c.DescribeVpcClassicLinkRequest(input)
23743	req.SetContext(ctx)
23744	req.ApplyOptions(opts...)
23745	return out, req.Send()
23746}
23747
23748const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
23749
23750// DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
23751// client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
23752// value will be populated with the request's response once the request completes
23753// successfully.
23754//
23755// Use "Send" method on the returned Request to send the API call to the service.
23756// the "output" return value is not valid until after Send returns without error.
23757//
23758// See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
23759// API call, and error handling.
23760//
23761// This method is useful when you want to inject custom logic or configuration
23762// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23763//
23764//
23765//    // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
23766//    req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
23767//
23768//    err := req.Send()
23769//    if err == nil { // resp is now filled
23770//        fmt.Println(resp)
23771//    }
23772//
23773// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
23774func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
23775	op := &request.Operation{
23776		Name:       opDescribeVpcClassicLinkDnsSupport,
23777		HTTPMethod: "POST",
23778		HTTPPath:   "/",
23779		Paginator: &request.Paginator{
23780			InputTokens:     []string{"NextToken"},
23781			OutputTokens:    []string{"NextToken"},
23782			LimitToken:      "MaxResults",
23783			TruncationToken: "",
23784		},
23785	}
23786
23787	if input == nil {
23788		input = &DescribeVpcClassicLinkDnsSupportInput{}
23789	}
23790
23791	output = &DescribeVpcClassicLinkDnsSupportOutput{}
23792	req = c.newRequest(op, input, output)
23793	return
23794}
23795
23796// DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
23797//
23798// Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
23799// the DNS hostname of a linked EC2-Classic instance resolves to its private
23800// IP address when addressed from an instance in the VPC to which it's linked.
23801// Similarly, the DNS hostname of an instance in a VPC resolves to its private
23802// IP address when addressed from a linked EC2-Classic instance. For more information,
23803// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
23804// in the Amazon Elastic Compute Cloud User Guide.
23805//
23806// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23807// with awserr.Error's Code and Message methods to get detailed information about
23808// the error.
23809//
23810// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23811// API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
23812// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
23813func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
23814	req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
23815	return out, req.Send()
23816}
23817
23818// DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
23819// the ability to pass a context and additional request options.
23820//
23821// See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
23822//
23823// The context must be non-nil and will be used for request cancellation. If
23824// the context is nil a panic will occur. In the future the SDK may create
23825// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23826// for more information on using Contexts.
23827func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
23828	req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
23829	req.SetContext(ctx)
23830	req.ApplyOptions(opts...)
23831	return out, req.Send()
23832}
23833
23834// DescribeVpcClassicLinkDnsSupportPages iterates over the pages of a DescribeVpcClassicLinkDnsSupport operation,
23835// calling the "fn" function with the response data for each page. To stop
23836// iterating, return false from the fn function.
23837//
23838// See DescribeVpcClassicLinkDnsSupport method for more information on how to use this operation.
23839//
23840// Note: This operation can generate multiple requests to a service.
23841//
23842//    // Example iterating over at most 3 pages of a DescribeVpcClassicLinkDnsSupport operation.
23843//    pageNum := 0
23844//    err := client.DescribeVpcClassicLinkDnsSupportPages(params,
23845//        func(page *ec2.DescribeVpcClassicLinkDnsSupportOutput, lastPage bool) bool {
23846//            pageNum++
23847//            fmt.Println(page)
23848//            return pageNum <= 3
23849//        })
23850//
23851func (c *EC2) DescribeVpcClassicLinkDnsSupportPages(input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool) error {
23852	return c.DescribeVpcClassicLinkDnsSupportPagesWithContext(aws.BackgroundContext(), input, fn)
23853}
23854
23855// DescribeVpcClassicLinkDnsSupportPagesWithContext same as DescribeVpcClassicLinkDnsSupportPages except
23856// it takes a Context and allows setting request options on the pages.
23857//
23858// The context must be non-nil and will be used for request cancellation. If
23859// the context is nil a panic will occur. In the future the SDK may create
23860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23861// for more information on using Contexts.
23862func (c *EC2) DescribeVpcClassicLinkDnsSupportPagesWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool, opts ...request.Option) error {
23863	p := request.Pagination{
23864		NewRequest: func() (*request.Request, error) {
23865			var inCpy *DescribeVpcClassicLinkDnsSupportInput
23866			if input != nil {
23867				tmp := *input
23868				inCpy = &tmp
23869			}
23870			req, _ := c.DescribeVpcClassicLinkDnsSupportRequest(inCpy)
23871			req.SetContext(ctx)
23872			req.ApplyOptions(opts...)
23873			return req, nil
23874		},
23875	}
23876
23877	for p.Next() {
23878		if !fn(p.Page().(*DescribeVpcClassicLinkDnsSupportOutput), !p.HasNextPage()) {
23879			break
23880		}
23881	}
23882
23883	return p.Err()
23884}
23885
23886const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications"
23887
23888// DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
23889// client's request for the DescribeVpcEndpointConnectionNotifications operation. The "output" return
23890// value will be populated with the request's response once the request completes
23891// successfully.
23892//
23893// Use "Send" method on the returned Request to send the API call to the service.
23894// the "output" return value is not valid until after Send returns without error.
23895//
23896// See DescribeVpcEndpointConnectionNotifications for more information on using the DescribeVpcEndpointConnectionNotifications
23897// API call, and error handling.
23898//
23899// This method is useful when you want to inject custom logic or configuration
23900// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23901//
23902//
23903//    // Example sending a request using the DescribeVpcEndpointConnectionNotificationsRequest method.
23904//    req, resp := client.DescribeVpcEndpointConnectionNotificationsRequest(params)
23905//
23906//    err := req.Send()
23907//    if err == nil { // resp is now filled
23908//        fmt.Println(resp)
23909//    }
23910//
23911// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
23912func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DescribeVpcEndpointConnectionNotificationsOutput) {
23913	op := &request.Operation{
23914		Name:       opDescribeVpcEndpointConnectionNotifications,
23915		HTTPMethod: "POST",
23916		HTTPPath:   "/",
23917		Paginator: &request.Paginator{
23918			InputTokens:     []string{"NextToken"},
23919			OutputTokens:    []string{"NextToken"},
23920			LimitToken:      "MaxResults",
23921			TruncationToken: "",
23922		},
23923	}
23924
23925	if input == nil {
23926		input = &DescribeVpcEndpointConnectionNotificationsInput{}
23927	}
23928
23929	output = &DescribeVpcEndpointConnectionNotificationsOutput{}
23930	req = c.newRequest(op, input, output)
23931	return
23932}
23933
23934// DescribeVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
23935//
23936// Describes the connection notifications for VPC endpoints and VPC endpoint
23937// services.
23938//
23939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23940// with awserr.Error's Code and Message methods to get detailed information about
23941// the error.
23942//
23943// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23944// API operation DescribeVpcEndpointConnectionNotifications for usage and error information.
23945// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
23946func (c *EC2) DescribeVpcEndpointConnectionNotifications(input *DescribeVpcEndpointConnectionNotificationsInput) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
23947	req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
23948	return out, req.Send()
23949}
23950
23951// DescribeVpcEndpointConnectionNotificationsWithContext is the same as DescribeVpcEndpointConnectionNotifications with the addition of
23952// the ability to pass a context and additional request options.
23953//
23954// See DescribeVpcEndpointConnectionNotifications for details on how to use this API operation.
23955//
23956// The context must be non-nil and will be used for request cancellation. If
23957// the context is nil a panic will occur. In the future the SDK may create
23958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23959// for more information on using Contexts.
23960func (c *EC2) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
23961	req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
23962	req.SetContext(ctx)
23963	req.ApplyOptions(opts...)
23964	return out, req.Send()
23965}
23966
23967// DescribeVpcEndpointConnectionNotificationsPages iterates over the pages of a DescribeVpcEndpointConnectionNotifications operation,
23968// calling the "fn" function with the response data for each page. To stop
23969// iterating, return false from the fn function.
23970//
23971// See DescribeVpcEndpointConnectionNotifications method for more information on how to use this operation.
23972//
23973// Note: This operation can generate multiple requests to a service.
23974//
23975//    // Example iterating over at most 3 pages of a DescribeVpcEndpointConnectionNotifications operation.
23976//    pageNum := 0
23977//    err := client.DescribeVpcEndpointConnectionNotificationsPages(params,
23978//        func(page *ec2.DescribeVpcEndpointConnectionNotificationsOutput, lastPage bool) bool {
23979//            pageNum++
23980//            fmt.Println(page)
23981//            return pageNum <= 3
23982//        })
23983//
23984func (c *EC2) DescribeVpcEndpointConnectionNotificationsPages(input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool) error {
23985	return c.DescribeVpcEndpointConnectionNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
23986}
23987
23988// DescribeVpcEndpointConnectionNotificationsPagesWithContext same as DescribeVpcEndpointConnectionNotificationsPages except
23989// it takes a Context and allows setting request options on the pages.
23990//
23991// The context must be non-nil and will be used for request cancellation. If
23992// the context is nil a panic will occur. In the future the SDK may create
23993// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23994// for more information on using Contexts.
23995func (c *EC2) DescribeVpcEndpointConnectionNotificationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool, opts ...request.Option) error {
23996	p := request.Pagination{
23997		NewRequest: func() (*request.Request, error) {
23998			var inCpy *DescribeVpcEndpointConnectionNotificationsInput
23999			if input != nil {
24000				tmp := *input
24001				inCpy = &tmp
24002			}
24003			req, _ := c.DescribeVpcEndpointConnectionNotificationsRequest(inCpy)
24004			req.SetContext(ctx)
24005			req.ApplyOptions(opts...)
24006			return req, nil
24007		},
24008	}
24009
24010	for p.Next() {
24011		if !fn(p.Page().(*DescribeVpcEndpointConnectionNotificationsOutput), !p.HasNextPage()) {
24012			break
24013		}
24014	}
24015
24016	return p.Err()
24017}
24018
24019const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections"
24020
24021// DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
24022// client's request for the DescribeVpcEndpointConnections operation. The "output" return
24023// value will be populated with the request's response once the request completes
24024// successfully.
24025//
24026// Use "Send" method on the returned Request to send the API call to the service.
24027// the "output" return value is not valid until after Send returns without error.
24028//
24029// See DescribeVpcEndpointConnections for more information on using the DescribeVpcEndpointConnections
24030// API call, and error handling.
24031//
24032// This method is useful when you want to inject custom logic or configuration
24033// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24034//
24035//
24036//    // Example sending a request using the DescribeVpcEndpointConnectionsRequest method.
24037//    req, resp := client.DescribeVpcEndpointConnectionsRequest(params)
24038//
24039//    err := req.Send()
24040//    if err == nil { // resp is now filled
24041//        fmt.Println(resp)
24042//    }
24043//
24044// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
24045func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointConnectionsInput) (req *request.Request, output *DescribeVpcEndpointConnectionsOutput) {
24046	op := &request.Operation{
24047		Name:       opDescribeVpcEndpointConnections,
24048		HTTPMethod: "POST",
24049		HTTPPath:   "/",
24050		Paginator: &request.Paginator{
24051			InputTokens:     []string{"NextToken"},
24052			OutputTokens:    []string{"NextToken"},
24053			LimitToken:      "MaxResults",
24054			TruncationToken: "",
24055		},
24056	}
24057
24058	if input == nil {
24059		input = &DescribeVpcEndpointConnectionsInput{}
24060	}
24061
24062	output = &DescribeVpcEndpointConnectionsOutput{}
24063	req = c.newRequest(op, input, output)
24064	return
24065}
24066
24067// DescribeVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
24068//
24069// Describes the VPC endpoint connections to your VPC endpoint services, including
24070// any endpoints that are pending your acceptance.
24071//
24072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24073// with awserr.Error's Code and Message methods to get detailed information about
24074// the error.
24075//
24076// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24077// API operation DescribeVpcEndpointConnections for usage and error information.
24078// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
24079func (c *EC2) DescribeVpcEndpointConnections(input *DescribeVpcEndpointConnectionsInput) (*DescribeVpcEndpointConnectionsOutput, error) {
24080	req, out := c.DescribeVpcEndpointConnectionsRequest(input)
24081	return out, req.Send()
24082}
24083
24084// DescribeVpcEndpointConnectionsWithContext is the same as DescribeVpcEndpointConnections with the addition of
24085// the ability to pass a context and additional request options.
24086//
24087// See DescribeVpcEndpointConnections for details on how to use this API operation.
24088//
24089// The context must be non-nil and will be used for request cancellation. If
24090// the context is nil a panic will occur. In the future the SDK may create
24091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24092// for more information on using Contexts.
24093func (c *EC2) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionsOutput, error) {
24094	req, out := c.DescribeVpcEndpointConnectionsRequest(input)
24095	req.SetContext(ctx)
24096	req.ApplyOptions(opts...)
24097	return out, req.Send()
24098}
24099
24100// DescribeVpcEndpointConnectionsPages iterates over the pages of a DescribeVpcEndpointConnections operation,
24101// calling the "fn" function with the response data for each page. To stop
24102// iterating, return false from the fn function.
24103//
24104// See DescribeVpcEndpointConnections method for more information on how to use this operation.
24105//
24106// Note: This operation can generate multiple requests to a service.
24107//
24108//    // Example iterating over at most 3 pages of a DescribeVpcEndpointConnections operation.
24109//    pageNum := 0
24110//    err := client.DescribeVpcEndpointConnectionsPages(params,
24111//        func(page *ec2.DescribeVpcEndpointConnectionsOutput, lastPage bool) bool {
24112//            pageNum++
24113//            fmt.Println(page)
24114//            return pageNum <= 3
24115//        })
24116//
24117func (c *EC2) DescribeVpcEndpointConnectionsPages(input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool) error {
24118	return c.DescribeVpcEndpointConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
24119}
24120
24121// DescribeVpcEndpointConnectionsPagesWithContext same as DescribeVpcEndpointConnectionsPages except
24122// it takes a Context and allows setting request options on the pages.
24123//
24124// The context must be non-nil and will be used for request cancellation. If
24125// the context is nil a panic will occur. In the future the SDK may create
24126// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24127// for more information on using Contexts.
24128func (c *EC2) DescribeVpcEndpointConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool, opts ...request.Option) error {
24129	p := request.Pagination{
24130		NewRequest: func() (*request.Request, error) {
24131			var inCpy *DescribeVpcEndpointConnectionsInput
24132			if input != nil {
24133				tmp := *input
24134				inCpy = &tmp
24135			}
24136			req, _ := c.DescribeVpcEndpointConnectionsRequest(inCpy)
24137			req.SetContext(ctx)
24138			req.ApplyOptions(opts...)
24139			return req, nil
24140		},
24141	}
24142
24143	for p.Next() {
24144		if !fn(p.Page().(*DescribeVpcEndpointConnectionsOutput), !p.HasNextPage()) {
24145			break
24146		}
24147	}
24148
24149	return p.Err()
24150}
24151
24152const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations"
24153
24154// DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
24155// client's request for the DescribeVpcEndpointServiceConfigurations operation. The "output" return
24156// value will be populated with the request's response once the request completes
24157// successfully.
24158//
24159// Use "Send" method on the returned Request to send the API call to the service.
24160// the "output" return value is not valid until after Send returns without error.
24161//
24162// See DescribeVpcEndpointServiceConfigurations for more information on using the DescribeVpcEndpointServiceConfigurations
24163// API call, and error handling.
24164//
24165// This method is useful when you want to inject custom logic or configuration
24166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24167//
24168//
24169//    // Example sending a request using the DescribeVpcEndpointServiceConfigurationsRequest method.
24170//    req, resp := client.DescribeVpcEndpointServiceConfigurationsRequest(params)
24171//
24172//    err := req.Send()
24173//    if err == nil { // resp is now filled
24174//        fmt.Println(resp)
24175//    }
24176//
24177// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
24178func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DescribeVpcEndpointServiceConfigurationsOutput) {
24179	op := &request.Operation{
24180		Name:       opDescribeVpcEndpointServiceConfigurations,
24181		HTTPMethod: "POST",
24182		HTTPPath:   "/",
24183		Paginator: &request.Paginator{
24184			InputTokens:     []string{"NextToken"},
24185			OutputTokens:    []string{"NextToken"},
24186			LimitToken:      "MaxResults",
24187			TruncationToken: "",
24188		},
24189	}
24190
24191	if input == nil {
24192		input = &DescribeVpcEndpointServiceConfigurationsInput{}
24193	}
24194
24195	output = &DescribeVpcEndpointServiceConfigurationsOutput{}
24196	req = c.newRequest(op, input, output)
24197	return
24198}
24199
24200// DescribeVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
24201//
24202// Describes the VPC endpoint service configurations in your account (your services).
24203//
24204// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24205// with awserr.Error's Code and Message methods to get detailed information about
24206// the error.
24207//
24208// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24209// API operation DescribeVpcEndpointServiceConfigurations for usage and error information.
24210// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
24211func (c *EC2) DescribeVpcEndpointServiceConfigurations(input *DescribeVpcEndpointServiceConfigurationsInput) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
24212	req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
24213	return out, req.Send()
24214}
24215
24216// DescribeVpcEndpointServiceConfigurationsWithContext is the same as DescribeVpcEndpointServiceConfigurations with the addition of
24217// the ability to pass a context and additional request options.
24218//
24219// See DescribeVpcEndpointServiceConfigurations for details on how to use this API operation.
24220//
24221// The context must be non-nil and will be used for request cancellation. If
24222// the context is nil a panic will occur. In the future the SDK may create
24223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24224// for more information on using Contexts.
24225func (c *EC2) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
24226	req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
24227	req.SetContext(ctx)
24228	req.ApplyOptions(opts...)
24229	return out, req.Send()
24230}
24231
24232// DescribeVpcEndpointServiceConfigurationsPages iterates over the pages of a DescribeVpcEndpointServiceConfigurations operation,
24233// calling the "fn" function with the response data for each page. To stop
24234// iterating, return false from the fn function.
24235//
24236// See DescribeVpcEndpointServiceConfigurations method for more information on how to use this operation.
24237//
24238// Note: This operation can generate multiple requests to a service.
24239//
24240//    // Example iterating over at most 3 pages of a DescribeVpcEndpointServiceConfigurations operation.
24241//    pageNum := 0
24242//    err := client.DescribeVpcEndpointServiceConfigurationsPages(params,
24243//        func(page *ec2.DescribeVpcEndpointServiceConfigurationsOutput, lastPage bool) bool {
24244//            pageNum++
24245//            fmt.Println(page)
24246//            return pageNum <= 3
24247//        })
24248//
24249func (c *EC2) DescribeVpcEndpointServiceConfigurationsPages(input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool) error {
24250	return c.DescribeVpcEndpointServiceConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
24251}
24252
24253// DescribeVpcEndpointServiceConfigurationsPagesWithContext same as DescribeVpcEndpointServiceConfigurationsPages except
24254// it takes a Context and allows setting request options on the pages.
24255//
24256// The context must be non-nil and will be used for request cancellation. If
24257// the context is nil a panic will occur. In the future the SDK may create
24258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24259// for more information on using Contexts.
24260func (c *EC2) DescribeVpcEndpointServiceConfigurationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool, opts ...request.Option) error {
24261	p := request.Pagination{
24262		NewRequest: func() (*request.Request, error) {
24263			var inCpy *DescribeVpcEndpointServiceConfigurationsInput
24264			if input != nil {
24265				tmp := *input
24266				inCpy = &tmp
24267			}
24268			req, _ := c.DescribeVpcEndpointServiceConfigurationsRequest(inCpy)
24269			req.SetContext(ctx)
24270			req.ApplyOptions(opts...)
24271			return req, nil
24272		},
24273	}
24274
24275	for p.Next() {
24276		if !fn(p.Page().(*DescribeVpcEndpointServiceConfigurationsOutput), !p.HasNextPage()) {
24277			break
24278		}
24279	}
24280
24281	return p.Err()
24282}
24283
24284const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions"
24285
24286// DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
24287// client's request for the DescribeVpcEndpointServicePermissions operation. The "output" return
24288// value will be populated with the request's response once the request completes
24289// successfully.
24290//
24291// Use "Send" method on the returned Request to send the API call to the service.
24292// the "output" return value is not valid until after Send returns without error.
24293//
24294// See DescribeVpcEndpointServicePermissions for more information on using the DescribeVpcEndpointServicePermissions
24295// API call, and error handling.
24296//
24297// This method is useful when you want to inject custom logic or configuration
24298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24299//
24300//
24301//    // Example sending a request using the DescribeVpcEndpointServicePermissionsRequest method.
24302//    req, resp := client.DescribeVpcEndpointServicePermissionsRequest(params)
24303//
24304//    err := req.Send()
24305//    if err == nil { // resp is now filled
24306//        fmt.Println(resp)
24307//    }
24308//
24309// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
24310func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEndpointServicePermissionsInput) (req *request.Request, output *DescribeVpcEndpointServicePermissionsOutput) {
24311	op := &request.Operation{
24312		Name:       opDescribeVpcEndpointServicePermissions,
24313		HTTPMethod: "POST",
24314		HTTPPath:   "/",
24315		Paginator: &request.Paginator{
24316			InputTokens:     []string{"NextToken"},
24317			OutputTokens:    []string{"NextToken"},
24318			LimitToken:      "MaxResults",
24319			TruncationToken: "",
24320		},
24321	}
24322
24323	if input == nil {
24324		input = &DescribeVpcEndpointServicePermissionsInput{}
24325	}
24326
24327	output = &DescribeVpcEndpointServicePermissionsOutput{}
24328	req = c.newRequest(op, input, output)
24329	return
24330}
24331
24332// DescribeVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
24333//
24334// Describes the principals (service consumers) that are permitted to discover
24335// your VPC endpoint service.
24336//
24337// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24338// with awserr.Error's Code and Message methods to get detailed information about
24339// the error.
24340//
24341// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24342// API operation DescribeVpcEndpointServicePermissions for usage and error information.
24343// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
24344func (c *EC2) DescribeVpcEndpointServicePermissions(input *DescribeVpcEndpointServicePermissionsInput) (*DescribeVpcEndpointServicePermissionsOutput, error) {
24345	req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
24346	return out, req.Send()
24347}
24348
24349// DescribeVpcEndpointServicePermissionsWithContext is the same as DescribeVpcEndpointServicePermissions with the addition of
24350// the ability to pass a context and additional request options.
24351//
24352// See DescribeVpcEndpointServicePermissions for details on how to use this API operation.
24353//
24354// The context must be non-nil and will be used for request cancellation. If
24355// the context is nil a panic will occur. In the future the SDK may create
24356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24357// for more information on using Contexts.
24358func (c *EC2) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, opts ...request.Option) (*DescribeVpcEndpointServicePermissionsOutput, error) {
24359	req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
24360	req.SetContext(ctx)
24361	req.ApplyOptions(opts...)
24362	return out, req.Send()
24363}
24364
24365// DescribeVpcEndpointServicePermissionsPages iterates over the pages of a DescribeVpcEndpointServicePermissions operation,
24366// calling the "fn" function with the response data for each page. To stop
24367// iterating, return false from the fn function.
24368//
24369// See DescribeVpcEndpointServicePermissions method for more information on how to use this operation.
24370//
24371// Note: This operation can generate multiple requests to a service.
24372//
24373//    // Example iterating over at most 3 pages of a DescribeVpcEndpointServicePermissions operation.
24374//    pageNum := 0
24375//    err := client.DescribeVpcEndpointServicePermissionsPages(params,
24376//        func(page *ec2.DescribeVpcEndpointServicePermissionsOutput, lastPage bool) bool {
24377//            pageNum++
24378//            fmt.Println(page)
24379//            return pageNum <= 3
24380//        })
24381//
24382func (c *EC2) DescribeVpcEndpointServicePermissionsPages(input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool) error {
24383	return c.DescribeVpcEndpointServicePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
24384}
24385
24386// DescribeVpcEndpointServicePermissionsPagesWithContext same as DescribeVpcEndpointServicePermissionsPages except
24387// it takes a Context and allows setting request options on the pages.
24388//
24389// The context must be non-nil and will be used for request cancellation. If
24390// the context is nil a panic will occur. In the future the SDK may create
24391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24392// for more information on using Contexts.
24393func (c *EC2) DescribeVpcEndpointServicePermissionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool, opts ...request.Option) error {
24394	p := request.Pagination{
24395		NewRequest: func() (*request.Request, error) {
24396			var inCpy *DescribeVpcEndpointServicePermissionsInput
24397			if input != nil {
24398				tmp := *input
24399				inCpy = &tmp
24400			}
24401			req, _ := c.DescribeVpcEndpointServicePermissionsRequest(inCpy)
24402			req.SetContext(ctx)
24403			req.ApplyOptions(opts...)
24404			return req, nil
24405		},
24406	}
24407
24408	for p.Next() {
24409		if !fn(p.Page().(*DescribeVpcEndpointServicePermissionsOutput), !p.HasNextPage()) {
24410			break
24411		}
24412	}
24413
24414	return p.Err()
24415}
24416
24417const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
24418
24419// DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
24420// client's request for the DescribeVpcEndpointServices operation. The "output" return
24421// value will be populated with the request's response once the request completes
24422// successfully.
24423//
24424// Use "Send" method on the returned Request to send the API call to the service.
24425// the "output" return value is not valid until after Send returns without error.
24426//
24427// See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
24428// API call, and error handling.
24429//
24430// This method is useful when you want to inject custom logic or configuration
24431// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24432//
24433//
24434//    // Example sending a request using the DescribeVpcEndpointServicesRequest method.
24435//    req, resp := client.DescribeVpcEndpointServicesRequest(params)
24436//
24437//    err := req.Send()
24438//    if err == nil { // resp is now filled
24439//        fmt.Println(resp)
24440//    }
24441//
24442// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
24443func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
24444	op := &request.Operation{
24445		Name:       opDescribeVpcEndpointServices,
24446		HTTPMethod: "POST",
24447		HTTPPath:   "/",
24448	}
24449
24450	if input == nil {
24451		input = &DescribeVpcEndpointServicesInput{}
24452	}
24453
24454	output = &DescribeVpcEndpointServicesOutput{}
24455	req = c.newRequest(op, input, output)
24456	return
24457}
24458
24459// DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
24460//
24461// Describes available services to which you can create a VPC endpoint.
24462//
24463// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24464// with awserr.Error's Code and Message methods to get detailed information about
24465// the error.
24466//
24467// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24468// API operation DescribeVpcEndpointServices for usage and error information.
24469// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
24470func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
24471	req, out := c.DescribeVpcEndpointServicesRequest(input)
24472	return out, req.Send()
24473}
24474
24475// DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
24476// the ability to pass a context and additional request options.
24477//
24478// See DescribeVpcEndpointServices for details on how to use this API operation.
24479//
24480// The context must be non-nil and will be used for request cancellation. If
24481// the context is nil a panic will occur. In the future the SDK may create
24482// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24483// for more information on using Contexts.
24484func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
24485	req, out := c.DescribeVpcEndpointServicesRequest(input)
24486	req.SetContext(ctx)
24487	req.ApplyOptions(opts...)
24488	return out, req.Send()
24489}
24490
24491const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
24492
24493// DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
24494// client's request for the DescribeVpcEndpoints operation. The "output" return
24495// value will be populated with the request's response once the request completes
24496// successfully.
24497//
24498// Use "Send" method on the returned Request to send the API call to the service.
24499// the "output" return value is not valid until after Send returns without error.
24500//
24501// See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
24502// API call, and error handling.
24503//
24504// This method is useful when you want to inject custom logic or configuration
24505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24506//
24507//
24508//    // Example sending a request using the DescribeVpcEndpointsRequest method.
24509//    req, resp := client.DescribeVpcEndpointsRequest(params)
24510//
24511//    err := req.Send()
24512//    if err == nil { // resp is now filled
24513//        fmt.Println(resp)
24514//    }
24515//
24516// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
24517func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
24518	op := &request.Operation{
24519		Name:       opDescribeVpcEndpoints,
24520		HTTPMethod: "POST",
24521		HTTPPath:   "/",
24522		Paginator: &request.Paginator{
24523			InputTokens:     []string{"NextToken"},
24524			OutputTokens:    []string{"NextToken"},
24525			LimitToken:      "MaxResults",
24526			TruncationToken: "",
24527		},
24528	}
24529
24530	if input == nil {
24531		input = &DescribeVpcEndpointsInput{}
24532	}
24533
24534	output = &DescribeVpcEndpointsOutput{}
24535	req = c.newRequest(op, input, output)
24536	return
24537}
24538
24539// DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
24540//
24541// Describes one or more of your VPC endpoints.
24542//
24543// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24544// with awserr.Error's Code and Message methods to get detailed information about
24545// the error.
24546//
24547// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24548// API operation DescribeVpcEndpoints for usage and error information.
24549// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
24550func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
24551	req, out := c.DescribeVpcEndpointsRequest(input)
24552	return out, req.Send()
24553}
24554
24555// DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
24556// the ability to pass a context and additional request options.
24557//
24558// See DescribeVpcEndpoints for details on how to use this API operation.
24559//
24560// The context must be non-nil and will be used for request cancellation. If
24561// the context is nil a panic will occur. In the future the SDK may create
24562// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24563// for more information on using Contexts.
24564func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
24565	req, out := c.DescribeVpcEndpointsRequest(input)
24566	req.SetContext(ctx)
24567	req.ApplyOptions(opts...)
24568	return out, req.Send()
24569}
24570
24571// DescribeVpcEndpointsPages iterates over the pages of a DescribeVpcEndpoints operation,
24572// calling the "fn" function with the response data for each page. To stop
24573// iterating, return false from the fn function.
24574//
24575// See DescribeVpcEndpoints method for more information on how to use this operation.
24576//
24577// Note: This operation can generate multiple requests to a service.
24578//
24579//    // Example iterating over at most 3 pages of a DescribeVpcEndpoints operation.
24580//    pageNum := 0
24581//    err := client.DescribeVpcEndpointsPages(params,
24582//        func(page *ec2.DescribeVpcEndpointsOutput, lastPage bool) bool {
24583//            pageNum++
24584//            fmt.Println(page)
24585//            return pageNum <= 3
24586//        })
24587//
24588func (c *EC2) DescribeVpcEndpointsPages(input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool) error {
24589	return c.DescribeVpcEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
24590}
24591
24592// DescribeVpcEndpointsPagesWithContext same as DescribeVpcEndpointsPages except
24593// it takes a Context and allows setting request options on the pages.
24594//
24595// The context must be non-nil and will be used for request cancellation. If
24596// the context is nil a panic will occur. In the future the SDK may create
24597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24598// for more information on using Contexts.
24599func (c *EC2) DescribeVpcEndpointsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool, opts ...request.Option) error {
24600	p := request.Pagination{
24601		NewRequest: func() (*request.Request, error) {
24602			var inCpy *DescribeVpcEndpointsInput
24603			if input != nil {
24604				tmp := *input
24605				inCpy = &tmp
24606			}
24607			req, _ := c.DescribeVpcEndpointsRequest(inCpy)
24608			req.SetContext(ctx)
24609			req.ApplyOptions(opts...)
24610			return req, nil
24611		},
24612	}
24613
24614	for p.Next() {
24615		if !fn(p.Page().(*DescribeVpcEndpointsOutput), !p.HasNextPage()) {
24616			break
24617		}
24618	}
24619
24620	return p.Err()
24621}
24622
24623const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
24624
24625// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
24626// client's request for the DescribeVpcPeeringConnections operation. The "output" return
24627// value will be populated with the request's response once the request completes
24628// successfully.
24629//
24630// Use "Send" method on the returned Request to send the API call to the service.
24631// the "output" return value is not valid until after Send returns without error.
24632//
24633// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
24634// API call, and error handling.
24635//
24636// This method is useful when you want to inject custom logic or configuration
24637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24638//
24639//
24640//    // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
24641//    req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
24642//
24643//    err := req.Send()
24644//    if err == nil { // resp is now filled
24645//        fmt.Println(resp)
24646//    }
24647//
24648// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
24649func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
24650	op := &request.Operation{
24651		Name:       opDescribeVpcPeeringConnections,
24652		HTTPMethod: "POST",
24653		HTTPPath:   "/",
24654		Paginator: &request.Paginator{
24655			InputTokens:     []string{"NextToken"},
24656			OutputTokens:    []string{"NextToken"},
24657			LimitToken:      "MaxResults",
24658			TruncationToken: "",
24659		},
24660	}
24661
24662	if input == nil {
24663		input = &DescribeVpcPeeringConnectionsInput{}
24664	}
24665
24666	output = &DescribeVpcPeeringConnectionsOutput{}
24667	req = c.newRequest(op, input, output)
24668	return
24669}
24670
24671// DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
24672//
24673// Describes one or more of your VPC peering connections.
24674//
24675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24676// with awserr.Error's Code and Message methods to get detailed information about
24677// the error.
24678//
24679// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24680// API operation DescribeVpcPeeringConnections for usage and error information.
24681// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
24682func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
24683	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
24684	return out, req.Send()
24685}
24686
24687// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
24688// the ability to pass a context and additional request options.
24689//
24690// See DescribeVpcPeeringConnections for details on how to use this API operation.
24691//
24692// The context must be non-nil and will be used for request cancellation. If
24693// the context is nil a panic will occur. In the future the SDK may create
24694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24695// for more information on using Contexts.
24696func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
24697	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
24698	req.SetContext(ctx)
24699	req.ApplyOptions(opts...)
24700	return out, req.Send()
24701}
24702
24703// DescribeVpcPeeringConnectionsPages iterates over the pages of a DescribeVpcPeeringConnections operation,
24704// calling the "fn" function with the response data for each page. To stop
24705// iterating, return false from the fn function.
24706//
24707// See DescribeVpcPeeringConnections method for more information on how to use this operation.
24708//
24709// Note: This operation can generate multiple requests to a service.
24710//
24711//    // Example iterating over at most 3 pages of a DescribeVpcPeeringConnections operation.
24712//    pageNum := 0
24713//    err := client.DescribeVpcPeeringConnectionsPages(params,
24714//        func(page *ec2.DescribeVpcPeeringConnectionsOutput, lastPage bool) bool {
24715//            pageNum++
24716//            fmt.Println(page)
24717//            return pageNum <= 3
24718//        })
24719//
24720func (c *EC2) DescribeVpcPeeringConnectionsPages(input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool) error {
24721	return c.DescribeVpcPeeringConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
24722}
24723
24724// DescribeVpcPeeringConnectionsPagesWithContext same as DescribeVpcPeeringConnectionsPages except
24725// it takes a Context and allows setting request options on the pages.
24726//
24727// The context must be non-nil and will be used for request cancellation. If
24728// the context is nil a panic will occur. In the future the SDK may create
24729// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24730// for more information on using Contexts.
24731func (c *EC2) DescribeVpcPeeringConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool, opts ...request.Option) error {
24732	p := request.Pagination{
24733		NewRequest: func() (*request.Request, error) {
24734			var inCpy *DescribeVpcPeeringConnectionsInput
24735			if input != nil {
24736				tmp := *input
24737				inCpy = &tmp
24738			}
24739			req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
24740			req.SetContext(ctx)
24741			req.ApplyOptions(opts...)
24742			return req, nil
24743		},
24744	}
24745
24746	for p.Next() {
24747		if !fn(p.Page().(*DescribeVpcPeeringConnectionsOutput), !p.HasNextPage()) {
24748			break
24749		}
24750	}
24751
24752	return p.Err()
24753}
24754
24755const opDescribeVpcs = "DescribeVpcs"
24756
24757// DescribeVpcsRequest generates a "aws/request.Request" representing the
24758// client's request for the DescribeVpcs operation. The "output" return
24759// value will be populated with the request's response once the request completes
24760// successfully.
24761//
24762// Use "Send" method on the returned Request to send the API call to the service.
24763// the "output" return value is not valid until after Send returns without error.
24764//
24765// See DescribeVpcs for more information on using the DescribeVpcs
24766// API call, and error handling.
24767//
24768// This method is useful when you want to inject custom logic or configuration
24769// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24770//
24771//
24772//    // Example sending a request using the DescribeVpcsRequest method.
24773//    req, resp := client.DescribeVpcsRequest(params)
24774//
24775//    err := req.Send()
24776//    if err == nil { // resp is now filled
24777//        fmt.Println(resp)
24778//    }
24779//
24780// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
24781func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
24782	op := &request.Operation{
24783		Name:       opDescribeVpcs,
24784		HTTPMethod: "POST",
24785		HTTPPath:   "/",
24786		Paginator: &request.Paginator{
24787			InputTokens:     []string{"NextToken"},
24788			OutputTokens:    []string{"NextToken"},
24789			LimitToken:      "MaxResults",
24790			TruncationToken: "",
24791		},
24792	}
24793
24794	if input == nil {
24795		input = &DescribeVpcsInput{}
24796	}
24797
24798	output = &DescribeVpcsOutput{}
24799	req = c.newRequest(op, input, output)
24800	return
24801}
24802
24803// DescribeVpcs API operation for Amazon Elastic Compute Cloud.
24804//
24805// Describes one or more of your VPCs.
24806//
24807// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24808// with awserr.Error's Code and Message methods to get detailed information about
24809// the error.
24810//
24811// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24812// API operation DescribeVpcs for usage and error information.
24813// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
24814func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
24815	req, out := c.DescribeVpcsRequest(input)
24816	return out, req.Send()
24817}
24818
24819// DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
24820// the ability to pass a context and additional request options.
24821//
24822// See DescribeVpcs for details on how to use this API operation.
24823//
24824// The context must be non-nil and will be used for request cancellation. If
24825// the context is nil a panic will occur. In the future the SDK may create
24826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24827// for more information on using Contexts.
24828func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
24829	req, out := c.DescribeVpcsRequest(input)
24830	req.SetContext(ctx)
24831	req.ApplyOptions(opts...)
24832	return out, req.Send()
24833}
24834
24835// DescribeVpcsPages iterates over the pages of a DescribeVpcs operation,
24836// calling the "fn" function with the response data for each page. To stop
24837// iterating, return false from the fn function.
24838//
24839// See DescribeVpcs method for more information on how to use this operation.
24840//
24841// Note: This operation can generate multiple requests to a service.
24842//
24843//    // Example iterating over at most 3 pages of a DescribeVpcs operation.
24844//    pageNum := 0
24845//    err := client.DescribeVpcsPages(params,
24846//        func(page *ec2.DescribeVpcsOutput, lastPage bool) bool {
24847//            pageNum++
24848//            fmt.Println(page)
24849//            return pageNum <= 3
24850//        })
24851//
24852func (c *EC2) DescribeVpcsPages(input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool) error {
24853	return c.DescribeVpcsPagesWithContext(aws.BackgroundContext(), input, fn)
24854}
24855
24856// DescribeVpcsPagesWithContext same as DescribeVpcsPages except
24857// it takes a Context and allows setting request options on the pages.
24858//
24859// The context must be non-nil and will be used for request cancellation. If
24860// the context is nil a panic will occur. In the future the SDK may create
24861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24862// for more information on using Contexts.
24863func (c *EC2) DescribeVpcsPagesWithContext(ctx aws.Context, input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool, opts ...request.Option) error {
24864	p := request.Pagination{
24865		NewRequest: func() (*request.Request, error) {
24866			var inCpy *DescribeVpcsInput
24867			if input != nil {
24868				tmp := *input
24869				inCpy = &tmp
24870			}
24871			req, _ := c.DescribeVpcsRequest(inCpy)
24872			req.SetContext(ctx)
24873			req.ApplyOptions(opts...)
24874			return req, nil
24875		},
24876	}
24877
24878	for p.Next() {
24879		if !fn(p.Page().(*DescribeVpcsOutput), !p.HasNextPage()) {
24880			break
24881		}
24882	}
24883
24884	return p.Err()
24885}
24886
24887const opDescribeVpnConnections = "DescribeVpnConnections"
24888
24889// DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
24890// client's request for the DescribeVpnConnections operation. The "output" return
24891// value will be populated with the request's response once the request completes
24892// successfully.
24893//
24894// Use "Send" method on the returned Request to send the API call to the service.
24895// the "output" return value is not valid until after Send returns without error.
24896//
24897// See DescribeVpnConnections for more information on using the DescribeVpnConnections
24898// API call, and error handling.
24899//
24900// This method is useful when you want to inject custom logic or configuration
24901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24902//
24903//
24904//    // Example sending a request using the DescribeVpnConnectionsRequest method.
24905//    req, resp := client.DescribeVpnConnectionsRequest(params)
24906//
24907//    err := req.Send()
24908//    if err == nil { // resp is now filled
24909//        fmt.Println(resp)
24910//    }
24911//
24912// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
24913func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
24914	op := &request.Operation{
24915		Name:       opDescribeVpnConnections,
24916		HTTPMethod: "POST",
24917		HTTPPath:   "/",
24918	}
24919
24920	if input == nil {
24921		input = &DescribeVpnConnectionsInput{}
24922	}
24923
24924	output = &DescribeVpnConnectionsOutput{}
24925	req = c.newRequest(op, input, output)
24926	return
24927}
24928
24929// DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
24930//
24931// Describes one or more of your VPN connections.
24932//
24933// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
24934// in the AWS Site-to-Site VPN User Guide.
24935//
24936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24937// with awserr.Error's Code and Message methods to get detailed information about
24938// the error.
24939//
24940// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24941// API operation DescribeVpnConnections for usage and error information.
24942// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
24943func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
24944	req, out := c.DescribeVpnConnectionsRequest(input)
24945	return out, req.Send()
24946}
24947
24948// DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
24949// the ability to pass a context and additional request options.
24950//
24951// See DescribeVpnConnections for details on how to use this API operation.
24952//
24953// The context must be non-nil and will be used for request cancellation. If
24954// the context is nil a panic will occur. In the future the SDK may create
24955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24956// for more information on using Contexts.
24957func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
24958	req, out := c.DescribeVpnConnectionsRequest(input)
24959	req.SetContext(ctx)
24960	req.ApplyOptions(opts...)
24961	return out, req.Send()
24962}
24963
24964const opDescribeVpnGateways = "DescribeVpnGateways"
24965
24966// DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
24967// client's request for the DescribeVpnGateways operation. The "output" return
24968// value will be populated with the request's response once the request completes
24969// successfully.
24970//
24971// Use "Send" method on the returned Request to send the API call to the service.
24972// the "output" return value is not valid until after Send returns without error.
24973//
24974// See DescribeVpnGateways for more information on using the DescribeVpnGateways
24975// API call, and error handling.
24976//
24977// This method is useful when you want to inject custom logic or configuration
24978// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24979//
24980//
24981//    // Example sending a request using the DescribeVpnGatewaysRequest method.
24982//    req, resp := client.DescribeVpnGatewaysRequest(params)
24983//
24984//    err := req.Send()
24985//    if err == nil { // resp is now filled
24986//        fmt.Println(resp)
24987//    }
24988//
24989// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
24990func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
24991	op := &request.Operation{
24992		Name:       opDescribeVpnGateways,
24993		HTTPMethod: "POST",
24994		HTTPPath:   "/",
24995	}
24996
24997	if input == nil {
24998		input = &DescribeVpnGatewaysInput{}
24999	}
25000
25001	output = &DescribeVpnGatewaysOutput{}
25002	req = c.newRequest(op, input, output)
25003	return
25004}
25005
25006// DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
25007//
25008// Describes one or more of your virtual private gateways.
25009//
25010// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
25011// in the AWS Site-to-Site VPN User Guide.
25012//
25013// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25014// with awserr.Error's Code and Message methods to get detailed information about
25015// the error.
25016//
25017// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25018// API operation DescribeVpnGateways for usage and error information.
25019// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
25020func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
25021	req, out := c.DescribeVpnGatewaysRequest(input)
25022	return out, req.Send()
25023}
25024
25025// DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
25026// the ability to pass a context and additional request options.
25027//
25028// See DescribeVpnGateways for details on how to use this API operation.
25029//
25030// The context must be non-nil and will be used for request cancellation. If
25031// the context is nil a panic will occur. In the future the SDK may create
25032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25033// for more information on using Contexts.
25034func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
25035	req, out := c.DescribeVpnGatewaysRequest(input)
25036	req.SetContext(ctx)
25037	req.ApplyOptions(opts...)
25038	return out, req.Send()
25039}
25040
25041const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
25042
25043// DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
25044// client's request for the DetachClassicLinkVpc operation. The "output" return
25045// value will be populated with the request's response once the request completes
25046// successfully.
25047//
25048// Use "Send" method on the returned Request to send the API call to the service.
25049// the "output" return value is not valid until after Send returns without error.
25050//
25051// See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
25052// API call, and error handling.
25053//
25054// This method is useful when you want to inject custom logic or configuration
25055// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25056//
25057//
25058//    // Example sending a request using the DetachClassicLinkVpcRequest method.
25059//    req, resp := client.DetachClassicLinkVpcRequest(params)
25060//
25061//    err := req.Send()
25062//    if err == nil { // resp is now filled
25063//        fmt.Println(resp)
25064//    }
25065//
25066// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
25067func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
25068	op := &request.Operation{
25069		Name:       opDetachClassicLinkVpc,
25070		HTTPMethod: "POST",
25071		HTTPPath:   "/",
25072	}
25073
25074	if input == nil {
25075		input = &DetachClassicLinkVpcInput{}
25076	}
25077
25078	output = &DetachClassicLinkVpcOutput{}
25079	req = c.newRequest(op, input, output)
25080	return
25081}
25082
25083// DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
25084//
25085// Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
25086// has been unlinked, the VPC security groups are no longer associated with
25087// it. An instance is automatically unlinked from a VPC when it's stopped.
25088//
25089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25090// with awserr.Error's Code and Message methods to get detailed information about
25091// the error.
25092//
25093// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25094// API operation DetachClassicLinkVpc for usage and error information.
25095// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
25096func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
25097	req, out := c.DetachClassicLinkVpcRequest(input)
25098	return out, req.Send()
25099}
25100
25101// DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
25102// the ability to pass a context and additional request options.
25103//
25104// See DetachClassicLinkVpc for details on how to use this API operation.
25105//
25106// The context must be non-nil and will be used for request cancellation. If
25107// the context is nil a panic will occur. In the future the SDK may create
25108// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25109// for more information on using Contexts.
25110func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
25111	req, out := c.DetachClassicLinkVpcRequest(input)
25112	req.SetContext(ctx)
25113	req.ApplyOptions(opts...)
25114	return out, req.Send()
25115}
25116
25117const opDetachInternetGateway = "DetachInternetGateway"
25118
25119// DetachInternetGatewayRequest generates a "aws/request.Request" representing the
25120// client's request for the DetachInternetGateway operation. The "output" return
25121// value will be populated with the request's response once the request completes
25122// successfully.
25123//
25124// Use "Send" method on the returned Request to send the API call to the service.
25125// the "output" return value is not valid until after Send returns without error.
25126//
25127// See DetachInternetGateway for more information on using the DetachInternetGateway
25128// API call, and error handling.
25129//
25130// This method is useful when you want to inject custom logic or configuration
25131// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25132//
25133//
25134//    // Example sending a request using the DetachInternetGatewayRequest method.
25135//    req, resp := client.DetachInternetGatewayRequest(params)
25136//
25137//    err := req.Send()
25138//    if err == nil { // resp is now filled
25139//        fmt.Println(resp)
25140//    }
25141//
25142// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
25143func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
25144	op := &request.Operation{
25145		Name:       opDetachInternetGateway,
25146		HTTPMethod: "POST",
25147		HTTPPath:   "/",
25148	}
25149
25150	if input == nil {
25151		input = &DetachInternetGatewayInput{}
25152	}
25153
25154	output = &DetachInternetGatewayOutput{}
25155	req = c.newRequest(op, input, output)
25156	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25157	return
25158}
25159
25160// DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
25161//
25162// Detaches an internet gateway from a VPC, disabling connectivity between the
25163// internet and the VPC. The VPC must not contain any running instances with
25164// Elastic IP addresses or public IPv4 addresses.
25165//
25166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25167// with awserr.Error's Code and Message methods to get detailed information about
25168// the error.
25169//
25170// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25171// API operation DetachInternetGateway for usage and error information.
25172// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
25173func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
25174	req, out := c.DetachInternetGatewayRequest(input)
25175	return out, req.Send()
25176}
25177
25178// DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
25179// the ability to pass a context and additional request options.
25180//
25181// See DetachInternetGateway for details on how to use this API operation.
25182//
25183// The context must be non-nil and will be used for request cancellation. If
25184// the context is nil a panic will occur. In the future the SDK may create
25185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25186// for more information on using Contexts.
25187func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
25188	req, out := c.DetachInternetGatewayRequest(input)
25189	req.SetContext(ctx)
25190	req.ApplyOptions(opts...)
25191	return out, req.Send()
25192}
25193
25194const opDetachNetworkInterface = "DetachNetworkInterface"
25195
25196// DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
25197// client's request for the DetachNetworkInterface operation. The "output" return
25198// value will be populated with the request's response once the request completes
25199// successfully.
25200//
25201// Use "Send" method on the returned Request to send the API call to the service.
25202// the "output" return value is not valid until after Send returns without error.
25203//
25204// See DetachNetworkInterface for more information on using the DetachNetworkInterface
25205// API call, and error handling.
25206//
25207// This method is useful when you want to inject custom logic or configuration
25208// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25209//
25210//
25211//    // Example sending a request using the DetachNetworkInterfaceRequest method.
25212//    req, resp := client.DetachNetworkInterfaceRequest(params)
25213//
25214//    err := req.Send()
25215//    if err == nil { // resp is now filled
25216//        fmt.Println(resp)
25217//    }
25218//
25219// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
25220func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
25221	op := &request.Operation{
25222		Name:       opDetachNetworkInterface,
25223		HTTPMethod: "POST",
25224		HTTPPath:   "/",
25225	}
25226
25227	if input == nil {
25228		input = &DetachNetworkInterfaceInput{}
25229	}
25230
25231	output = &DetachNetworkInterfaceOutput{}
25232	req = c.newRequest(op, input, output)
25233	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25234	return
25235}
25236
25237// DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
25238//
25239// Detaches a network interface from an instance.
25240//
25241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25242// with awserr.Error's Code and Message methods to get detailed information about
25243// the error.
25244//
25245// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25246// API operation DetachNetworkInterface for usage and error information.
25247// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
25248func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
25249	req, out := c.DetachNetworkInterfaceRequest(input)
25250	return out, req.Send()
25251}
25252
25253// DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
25254// the ability to pass a context and additional request options.
25255//
25256// See DetachNetworkInterface for details on how to use this API operation.
25257//
25258// The context must be non-nil and will be used for request cancellation. If
25259// the context is nil a panic will occur. In the future the SDK may create
25260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25261// for more information on using Contexts.
25262func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
25263	req, out := c.DetachNetworkInterfaceRequest(input)
25264	req.SetContext(ctx)
25265	req.ApplyOptions(opts...)
25266	return out, req.Send()
25267}
25268
25269const opDetachVolume = "DetachVolume"
25270
25271// DetachVolumeRequest generates a "aws/request.Request" representing the
25272// client's request for the DetachVolume operation. The "output" return
25273// value will be populated with the request's response once the request completes
25274// successfully.
25275//
25276// Use "Send" method on the returned Request to send the API call to the service.
25277// the "output" return value is not valid until after Send returns without error.
25278//
25279// See DetachVolume for more information on using the DetachVolume
25280// API call, and error handling.
25281//
25282// This method is useful when you want to inject custom logic or configuration
25283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25284//
25285//
25286//    // Example sending a request using the DetachVolumeRequest method.
25287//    req, resp := client.DetachVolumeRequest(params)
25288//
25289//    err := req.Send()
25290//    if err == nil { // resp is now filled
25291//        fmt.Println(resp)
25292//    }
25293//
25294// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
25295func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
25296	op := &request.Operation{
25297		Name:       opDetachVolume,
25298		HTTPMethod: "POST",
25299		HTTPPath:   "/",
25300	}
25301
25302	if input == nil {
25303		input = &DetachVolumeInput{}
25304	}
25305
25306	output = &VolumeAttachment{}
25307	req = c.newRequest(op, input, output)
25308	return
25309}
25310
25311// DetachVolume API operation for Amazon Elastic Compute Cloud.
25312//
25313// Detaches an EBS volume from an instance. Make sure to unmount any file systems
25314// on the device within your operating system before detaching the volume. Failure
25315// to do so can result in the volume becoming stuck in the busy state while
25316// detaching. If this happens, detachment can be delayed indefinitely until
25317// you unmount the volume, force detachment, reboot the instance, or all three.
25318// If an EBS volume is the root device of an instance, it can't be detached
25319// while the instance is running. To detach the root volume, stop the instance
25320// first.
25321//
25322// When a volume with an AWS Marketplace product code is detached from an instance,
25323// the product code is no longer associated with the instance.
25324//
25325// For more information, see Detaching an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
25326// in the Amazon Elastic Compute Cloud User Guide.
25327//
25328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25329// with awserr.Error's Code and Message methods to get detailed information about
25330// the error.
25331//
25332// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25333// API operation DetachVolume for usage and error information.
25334// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
25335func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
25336	req, out := c.DetachVolumeRequest(input)
25337	return out, req.Send()
25338}
25339
25340// DetachVolumeWithContext is the same as DetachVolume with the addition of
25341// the ability to pass a context and additional request options.
25342//
25343// See DetachVolume for details on how to use this API operation.
25344//
25345// The context must be non-nil and will be used for request cancellation. If
25346// the context is nil a panic will occur. In the future the SDK may create
25347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25348// for more information on using Contexts.
25349func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
25350	req, out := c.DetachVolumeRequest(input)
25351	req.SetContext(ctx)
25352	req.ApplyOptions(opts...)
25353	return out, req.Send()
25354}
25355
25356const opDetachVpnGateway = "DetachVpnGateway"
25357
25358// DetachVpnGatewayRequest generates a "aws/request.Request" representing the
25359// client's request for the DetachVpnGateway operation. The "output" return
25360// value will be populated with the request's response once the request completes
25361// successfully.
25362//
25363// Use "Send" method on the returned Request to send the API call to the service.
25364// the "output" return value is not valid until after Send returns without error.
25365//
25366// See DetachVpnGateway for more information on using the DetachVpnGateway
25367// API call, and error handling.
25368//
25369// This method is useful when you want to inject custom logic or configuration
25370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25371//
25372//
25373//    // Example sending a request using the DetachVpnGatewayRequest method.
25374//    req, resp := client.DetachVpnGatewayRequest(params)
25375//
25376//    err := req.Send()
25377//    if err == nil { // resp is now filled
25378//        fmt.Println(resp)
25379//    }
25380//
25381// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
25382func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
25383	op := &request.Operation{
25384		Name:       opDetachVpnGateway,
25385		HTTPMethod: "POST",
25386		HTTPPath:   "/",
25387	}
25388
25389	if input == nil {
25390		input = &DetachVpnGatewayInput{}
25391	}
25392
25393	output = &DetachVpnGatewayOutput{}
25394	req = c.newRequest(op, input, output)
25395	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25396	return
25397}
25398
25399// DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
25400//
25401// Detaches a virtual private gateway from a VPC. You do this if you're planning
25402// to turn off the VPC and not use it anymore. You can confirm a virtual private
25403// gateway has been completely detached from a VPC by describing the virtual
25404// private gateway (any attachments to the virtual private gateway are also
25405// described).
25406//
25407// You must wait for the attachment's state to switch to detached before you
25408// can delete the VPC or attach a different VPC to the virtual private gateway.
25409//
25410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25411// with awserr.Error's Code and Message methods to get detailed information about
25412// the error.
25413//
25414// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25415// API operation DetachVpnGateway for usage and error information.
25416// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
25417func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
25418	req, out := c.DetachVpnGatewayRequest(input)
25419	return out, req.Send()
25420}
25421
25422// DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
25423// the ability to pass a context and additional request options.
25424//
25425// See DetachVpnGateway for details on how to use this API operation.
25426//
25427// The context must be non-nil and will be used for request cancellation. If
25428// the context is nil a panic will occur. In the future the SDK may create
25429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25430// for more information on using Contexts.
25431func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
25432	req, out := c.DetachVpnGatewayRequest(input)
25433	req.SetContext(ctx)
25434	req.ApplyOptions(opts...)
25435	return out, req.Send()
25436}
25437
25438const opDisableEbsEncryptionByDefault = "DisableEbsEncryptionByDefault"
25439
25440// DisableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
25441// client's request for the DisableEbsEncryptionByDefault operation. The "output" return
25442// value will be populated with the request's response once the request completes
25443// successfully.
25444//
25445// Use "Send" method on the returned Request to send the API call to the service.
25446// the "output" return value is not valid until after Send returns without error.
25447//
25448// See DisableEbsEncryptionByDefault for more information on using the DisableEbsEncryptionByDefault
25449// API call, and error handling.
25450//
25451// This method is useful when you want to inject custom logic or configuration
25452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25453//
25454//
25455//    // Example sending a request using the DisableEbsEncryptionByDefaultRequest method.
25456//    req, resp := client.DisableEbsEncryptionByDefaultRequest(params)
25457//
25458//    err := req.Send()
25459//    if err == nil { // resp is now filled
25460//        fmt.Println(resp)
25461//    }
25462//
25463// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
25464func (c *EC2) DisableEbsEncryptionByDefaultRequest(input *DisableEbsEncryptionByDefaultInput) (req *request.Request, output *DisableEbsEncryptionByDefaultOutput) {
25465	op := &request.Operation{
25466		Name:       opDisableEbsEncryptionByDefault,
25467		HTTPMethod: "POST",
25468		HTTPPath:   "/",
25469	}
25470
25471	if input == nil {
25472		input = &DisableEbsEncryptionByDefaultInput{}
25473	}
25474
25475	output = &DisableEbsEncryptionByDefaultOutput{}
25476	req = c.newRequest(op, input, output)
25477	return
25478}
25479
25480// DisableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
25481//
25482// Disables EBS encryption by default for your account in the current Region.
25483//
25484// After you disable encryption by default, you can still create encrypted volumes
25485// by enabling encryption when you create each volume.
25486//
25487// Disabling encryption by default does not change the encryption status of
25488// your existing volumes.
25489//
25490// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
25491// in the Amazon Elastic Compute Cloud User Guide.
25492//
25493// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25494// with awserr.Error's Code and Message methods to get detailed information about
25495// the error.
25496//
25497// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25498// API operation DisableEbsEncryptionByDefault for usage and error information.
25499// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
25500func (c *EC2) DisableEbsEncryptionByDefault(input *DisableEbsEncryptionByDefaultInput) (*DisableEbsEncryptionByDefaultOutput, error) {
25501	req, out := c.DisableEbsEncryptionByDefaultRequest(input)
25502	return out, req.Send()
25503}
25504
25505// DisableEbsEncryptionByDefaultWithContext is the same as DisableEbsEncryptionByDefault with the addition of
25506// the ability to pass a context and additional request options.
25507//
25508// See DisableEbsEncryptionByDefault for details on how to use this API operation.
25509//
25510// The context must be non-nil and will be used for request cancellation. If
25511// the context is nil a panic will occur. In the future the SDK may create
25512// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25513// for more information on using Contexts.
25514func (c *EC2) DisableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *DisableEbsEncryptionByDefaultInput, opts ...request.Option) (*DisableEbsEncryptionByDefaultOutput, error) {
25515	req, out := c.DisableEbsEncryptionByDefaultRequest(input)
25516	req.SetContext(ctx)
25517	req.ApplyOptions(opts...)
25518	return out, req.Send()
25519}
25520
25521const opDisableFastSnapshotRestores = "DisableFastSnapshotRestores"
25522
25523// DisableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
25524// client's request for the DisableFastSnapshotRestores operation. The "output" return
25525// value will be populated with the request's response once the request completes
25526// successfully.
25527//
25528// Use "Send" method on the returned Request to send the API call to the service.
25529// the "output" return value is not valid until after Send returns without error.
25530//
25531// See DisableFastSnapshotRestores for more information on using the DisableFastSnapshotRestores
25532// API call, and error handling.
25533//
25534// This method is useful when you want to inject custom logic or configuration
25535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25536//
25537//
25538//    // Example sending a request using the DisableFastSnapshotRestoresRequest method.
25539//    req, resp := client.DisableFastSnapshotRestoresRequest(params)
25540//
25541//    err := req.Send()
25542//    if err == nil { // resp is now filled
25543//        fmt.Println(resp)
25544//    }
25545//
25546// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores
25547func (c *EC2) DisableFastSnapshotRestoresRequest(input *DisableFastSnapshotRestoresInput) (req *request.Request, output *DisableFastSnapshotRestoresOutput) {
25548	op := &request.Operation{
25549		Name:       opDisableFastSnapshotRestores,
25550		HTTPMethod: "POST",
25551		HTTPPath:   "/",
25552	}
25553
25554	if input == nil {
25555		input = &DisableFastSnapshotRestoresInput{}
25556	}
25557
25558	output = &DisableFastSnapshotRestoresOutput{}
25559	req = c.newRequest(op, input, output)
25560	return
25561}
25562
25563// DisableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
25564//
25565// Disables fast snapshot restores for the specified snapshots in the specified
25566// Availability Zones.
25567//
25568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25569// with awserr.Error's Code and Message methods to get detailed information about
25570// the error.
25571//
25572// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25573// API operation DisableFastSnapshotRestores for usage and error information.
25574// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores
25575func (c *EC2) DisableFastSnapshotRestores(input *DisableFastSnapshotRestoresInput) (*DisableFastSnapshotRestoresOutput, error) {
25576	req, out := c.DisableFastSnapshotRestoresRequest(input)
25577	return out, req.Send()
25578}
25579
25580// DisableFastSnapshotRestoresWithContext is the same as DisableFastSnapshotRestores with the addition of
25581// the ability to pass a context and additional request options.
25582//
25583// See DisableFastSnapshotRestores for details on how to use this API operation.
25584//
25585// The context must be non-nil and will be used for request cancellation. If
25586// the context is nil a panic will occur. In the future the SDK may create
25587// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25588// for more information on using Contexts.
25589func (c *EC2) DisableFastSnapshotRestoresWithContext(ctx aws.Context, input *DisableFastSnapshotRestoresInput, opts ...request.Option) (*DisableFastSnapshotRestoresOutput, error) {
25590	req, out := c.DisableFastSnapshotRestoresRequest(input)
25591	req.SetContext(ctx)
25592	req.ApplyOptions(opts...)
25593	return out, req.Send()
25594}
25595
25596const opDisableTransitGatewayRouteTablePropagation = "DisableTransitGatewayRouteTablePropagation"
25597
25598// DisableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
25599// client's request for the DisableTransitGatewayRouteTablePropagation operation. The "output" return
25600// value will be populated with the request's response once the request completes
25601// successfully.
25602//
25603// Use "Send" method on the returned Request to send the API call to the service.
25604// the "output" return value is not valid until after Send returns without error.
25605//
25606// See DisableTransitGatewayRouteTablePropagation for more information on using the DisableTransitGatewayRouteTablePropagation
25607// API call, and error handling.
25608//
25609// This method is useful when you want to inject custom logic or configuration
25610// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25611//
25612//
25613//    // Example sending a request using the DisableTransitGatewayRouteTablePropagationRequest method.
25614//    req, resp := client.DisableTransitGatewayRouteTablePropagationRequest(params)
25615//
25616//    err := req.Send()
25617//    if err == nil { // resp is now filled
25618//        fmt.Println(resp)
25619//    }
25620//
25621// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
25622func (c *EC2) DisableTransitGatewayRouteTablePropagationRequest(input *DisableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *DisableTransitGatewayRouteTablePropagationOutput) {
25623	op := &request.Operation{
25624		Name:       opDisableTransitGatewayRouteTablePropagation,
25625		HTTPMethod: "POST",
25626		HTTPPath:   "/",
25627	}
25628
25629	if input == nil {
25630		input = &DisableTransitGatewayRouteTablePropagationInput{}
25631	}
25632
25633	output = &DisableTransitGatewayRouteTablePropagationOutput{}
25634	req = c.newRequest(op, input, output)
25635	return
25636}
25637
25638// DisableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
25639//
25640// Disables the specified resource attachment from propagating routes to the
25641// specified propagation route table.
25642//
25643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25644// with awserr.Error's Code and Message methods to get detailed information about
25645// the error.
25646//
25647// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25648// API operation DisableTransitGatewayRouteTablePropagation for usage and error information.
25649// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
25650func (c *EC2) DisableTransitGatewayRouteTablePropagation(input *DisableTransitGatewayRouteTablePropagationInput) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
25651	req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
25652	return out, req.Send()
25653}
25654
25655// DisableTransitGatewayRouteTablePropagationWithContext is the same as DisableTransitGatewayRouteTablePropagation with the addition of
25656// the ability to pass a context and additional request options.
25657//
25658// See DisableTransitGatewayRouteTablePropagation for details on how to use this API operation.
25659//
25660// The context must be non-nil and will be used for request cancellation. If
25661// the context is nil a panic will occur. In the future the SDK may create
25662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25663// for more information on using Contexts.
25664func (c *EC2) DisableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *DisableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
25665	req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
25666	req.SetContext(ctx)
25667	req.ApplyOptions(opts...)
25668	return out, req.Send()
25669}
25670
25671const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
25672
25673// DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
25674// client's request for the DisableVgwRoutePropagation operation. The "output" return
25675// value will be populated with the request's response once the request completes
25676// successfully.
25677//
25678// Use "Send" method on the returned Request to send the API call to the service.
25679// the "output" return value is not valid until after Send returns without error.
25680//
25681// See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
25682// API call, and error handling.
25683//
25684// This method is useful when you want to inject custom logic or configuration
25685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25686//
25687//
25688//    // Example sending a request using the DisableVgwRoutePropagationRequest method.
25689//    req, resp := client.DisableVgwRoutePropagationRequest(params)
25690//
25691//    err := req.Send()
25692//    if err == nil { // resp is now filled
25693//        fmt.Println(resp)
25694//    }
25695//
25696// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
25697func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
25698	op := &request.Operation{
25699		Name:       opDisableVgwRoutePropagation,
25700		HTTPMethod: "POST",
25701		HTTPPath:   "/",
25702	}
25703
25704	if input == nil {
25705		input = &DisableVgwRoutePropagationInput{}
25706	}
25707
25708	output = &DisableVgwRoutePropagationOutput{}
25709	req = c.newRequest(op, input, output)
25710	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25711	return
25712}
25713
25714// DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
25715//
25716// Disables a virtual private gateway (VGW) from propagating routes to a specified
25717// route table of a VPC.
25718//
25719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25720// with awserr.Error's Code and Message methods to get detailed information about
25721// the error.
25722//
25723// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25724// API operation DisableVgwRoutePropagation for usage and error information.
25725// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
25726func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
25727	req, out := c.DisableVgwRoutePropagationRequest(input)
25728	return out, req.Send()
25729}
25730
25731// DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
25732// the ability to pass a context and additional request options.
25733//
25734// See DisableVgwRoutePropagation for details on how to use this API operation.
25735//
25736// The context must be non-nil and will be used for request cancellation. If
25737// the context is nil a panic will occur. In the future the SDK may create
25738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25739// for more information on using Contexts.
25740func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
25741	req, out := c.DisableVgwRoutePropagationRequest(input)
25742	req.SetContext(ctx)
25743	req.ApplyOptions(opts...)
25744	return out, req.Send()
25745}
25746
25747const opDisableVpcClassicLink = "DisableVpcClassicLink"
25748
25749// DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
25750// client's request for the DisableVpcClassicLink operation. The "output" return
25751// value will be populated with the request's response once the request completes
25752// successfully.
25753//
25754// Use "Send" method on the returned Request to send the API call to the service.
25755// the "output" return value is not valid until after Send returns without error.
25756//
25757// See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
25758// API call, and error handling.
25759//
25760// This method is useful when you want to inject custom logic or configuration
25761// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25762//
25763//
25764//    // Example sending a request using the DisableVpcClassicLinkRequest method.
25765//    req, resp := client.DisableVpcClassicLinkRequest(params)
25766//
25767//    err := req.Send()
25768//    if err == nil { // resp is now filled
25769//        fmt.Println(resp)
25770//    }
25771//
25772// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
25773func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
25774	op := &request.Operation{
25775		Name:       opDisableVpcClassicLink,
25776		HTTPMethod: "POST",
25777		HTTPPath:   "/",
25778	}
25779
25780	if input == nil {
25781		input = &DisableVpcClassicLinkInput{}
25782	}
25783
25784	output = &DisableVpcClassicLinkOutput{}
25785	req = c.newRequest(op, input, output)
25786	return
25787}
25788
25789// DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
25790//
25791// Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
25792// that has EC2-Classic instances linked to it.
25793//
25794// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25795// with awserr.Error's Code and Message methods to get detailed information about
25796// the error.
25797//
25798// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25799// API operation DisableVpcClassicLink for usage and error information.
25800// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
25801func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
25802	req, out := c.DisableVpcClassicLinkRequest(input)
25803	return out, req.Send()
25804}
25805
25806// DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
25807// the ability to pass a context and additional request options.
25808//
25809// See DisableVpcClassicLink for details on how to use this API operation.
25810//
25811// The context must be non-nil and will be used for request cancellation. If
25812// the context is nil a panic will occur. In the future the SDK may create
25813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25814// for more information on using Contexts.
25815func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
25816	req, out := c.DisableVpcClassicLinkRequest(input)
25817	req.SetContext(ctx)
25818	req.ApplyOptions(opts...)
25819	return out, req.Send()
25820}
25821
25822const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
25823
25824// DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
25825// client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
25826// value will be populated with the request's response once the request completes
25827// successfully.
25828//
25829// Use "Send" method on the returned Request to send the API call to the service.
25830// the "output" return value is not valid until after Send returns without error.
25831//
25832// See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
25833// API call, and error handling.
25834//
25835// This method is useful when you want to inject custom logic or configuration
25836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25837//
25838//
25839//    // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
25840//    req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
25841//
25842//    err := req.Send()
25843//    if err == nil { // resp is now filled
25844//        fmt.Println(resp)
25845//    }
25846//
25847// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
25848func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
25849	op := &request.Operation{
25850		Name:       opDisableVpcClassicLinkDnsSupport,
25851		HTTPMethod: "POST",
25852		HTTPPath:   "/",
25853	}
25854
25855	if input == nil {
25856		input = &DisableVpcClassicLinkDnsSupportInput{}
25857	}
25858
25859	output = &DisableVpcClassicLinkDnsSupportOutput{}
25860	req = c.newRequest(op, input, output)
25861	return
25862}
25863
25864// DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
25865//
25866// Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
25867// to public IP addresses when addressed between a linked EC2-Classic instance
25868// and instances in the VPC to which it's linked. For more information, see
25869// ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
25870// in the Amazon Elastic Compute Cloud User Guide.
25871//
25872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25873// with awserr.Error's Code and Message methods to get detailed information about
25874// the error.
25875//
25876// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25877// API operation DisableVpcClassicLinkDnsSupport for usage and error information.
25878// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
25879func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
25880	req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
25881	return out, req.Send()
25882}
25883
25884// DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
25885// the ability to pass a context and additional request options.
25886//
25887// See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
25888//
25889// The context must be non-nil and will be used for request cancellation. If
25890// the context is nil a panic will occur. In the future the SDK may create
25891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25892// for more information on using Contexts.
25893func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
25894	req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
25895	req.SetContext(ctx)
25896	req.ApplyOptions(opts...)
25897	return out, req.Send()
25898}
25899
25900const opDisassociateAddress = "DisassociateAddress"
25901
25902// DisassociateAddressRequest generates a "aws/request.Request" representing the
25903// client's request for the DisassociateAddress operation. The "output" return
25904// value will be populated with the request's response once the request completes
25905// successfully.
25906//
25907// Use "Send" method on the returned Request to send the API call to the service.
25908// the "output" return value is not valid until after Send returns without error.
25909//
25910// See DisassociateAddress for more information on using the DisassociateAddress
25911// API call, and error handling.
25912//
25913// This method is useful when you want to inject custom logic or configuration
25914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25915//
25916//
25917//    // Example sending a request using the DisassociateAddressRequest method.
25918//    req, resp := client.DisassociateAddressRequest(params)
25919//
25920//    err := req.Send()
25921//    if err == nil { // resp is now filled
25922//        fmt.Println(resp)
25923//    }
25924//
25925// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
25926func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
25927	op := &request.Operation{
25928		Name:       opDisassociateAddress,
25929		HTTPMethod: "POST",
25930		HTTPPath:   "/",
25931	}
25932
25933	if input == nil {
25934		input = &DisassociateAddressInput{}
25935	}
25936
25937	output = &DisassociateAddressOutput{}
25938	req = c.newRequest(op, input, output)
25939	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25940	return
25941}
25942
25943// DisassociateAddress API operation for Amazon Elastic Compute Cloud.
25944//
25945// Disassociates an Elastic IP address from the instance or network interface
25946// it's associated with.
25947//
25948// An Elastic IP address is for use in either the EC2-Classic platform or in
25949// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
25950// in the Amazon Elastic Compute Cloud User Guide.
25951//
25952// This is an idempotent operation. If you perform the operation more than once,
25953// Amazon EC2 doesn't return an error.
25954//
25955// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25956// with awserr.Error's Code and Message methods to get detailed information about
25957// the error.
25958//
25959// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25960// API operation DisassociateAddress for usage and error information.
25961// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
25962func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
25963	req, out := c.DisassociateAddressRequest(input)
25964	return out, req.Send()
25965}
25966
25967// DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
25968// the ability to pass a context and additional request options.
25969//
25970// See DisassociateAddress for details on how to use this API operation.
25971//
25972// The context must be non-nil and will be used for request cancellation. If
25973// the context is nil a panic will occur. In the future the SDK may create
25974// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25975// for more information on using Contexts.
25976func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
25977	req, out := c.DisassociateAddressRequest(input)
25978	req.SetContext(ctx)
25979	req.ApplyOptions(opts...)
25980	return out, req.Send()
25981}
25982
25983const opDisassociateClientVpnTargetNetwork = "DisassociateClientVpnTargetNetwork"
25984
25985// DisassociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
25986// client's request for the DisassociateClientVpnTargetNetwork operation. The "output" return
25987// value will be populated with the request's response once the request completes
25988// successfully.
25989//
25990// Use "Send" method on the returned Request to send the API call to the service.
25991// the "output" return value is not valid until after Send returns without error.
25992//
25993// See DisassociateClientVpnTargetNetwork for more information on using the DisassociateClientVpnTargetNetwork
25994// API call, and error handling.
25995//
25996// This method is useful when you want to inject custom logic or configuration
25997// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25998//
25999//
26000//    // Example sending a request using the DisassociateClientVpnTargetNetworkRequest method.
26001//    req, resp := client.DisassociateClientVpnTargetNetworkRequest(params)
26002//
26003//    err := req.Send()
26004//    if err == nil { // resp is now filled
26005//        fmt.Println(resp)
26006//    }
26007//
26008// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
26009func (c *EC2) DisassociateClientVpnTargetNetworkRequest(input *DisassociateClientVpnTargetNetworkInput) (req *request.Request, output *DisassociateClientVpnTargetNetworkOutput) {
26010	op := &request.Operation{
26011		Name:       opDisassociateClientVpnTargetNetwork,
26012		HTTPMethod: "POST",
26013		HTTPPath:   "/",
26014	}
26015
26016	if input == nil {
26017		input = &DisassociateClientVpnTargetNetworkInput{}
26018	}
26019
26020	output = &DisassociateClientVpnTargetNetworkOutput{}
26021	req = c.newRequest(op, input, output)
26022	return
26023}
26024
26025// DisassociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
26026//
26027// Disassociates a target network from the specified Client VPN endpoint. When
26028// you disassociate the last target network from a Client VPN, the following
26029// happens:
26030//
26031//    * The route that was automatically added for the VPC is deleted
26032//
26033//    * All active client connections are terminated
26034//
26035//    * New client connections are disallowed
26036//
26037//    * The Client VPN endpoint's status changes to pending-associate
26038//
26039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26040// with awserr.Error's Code and Message methods to get detailed information about
26041// the error.
26042//
26043// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26044// API operation DisassociateClientVpnTargetNetwork for usage and error information.
26045// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
26046func (c *EC2) DisassociateClientVpnTargetNetwork(input *DisassociateClientVpnTargetNetworkInput) (*DisassociateClientVpnTargetNetworkOutput, error) {
26047	req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
26048	return out, req.Send()
26049}
26050
26051// DisassociateClientVpnTargetNetworkWithContext is the same as DisassociateClientVpnTargetNetwork with the addition of
26052// the ability to pass a context and additional request options.
26053//
26054// See DisassociateClientVpnTargetNetwork for details on how to use this API operation.
26055//
26056// The context must be non-nil and will be used for request cancellation. If
26057// the context is nil a panic will occur. In the future the SDK may create
26058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26059// for more information on using Contexts.
26060func (c *EC2) DisassociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *DisassociateClientVpnTargetNetworkInput, opts ...request.Option) (*DisassociateClientVpnTargetNetworkOutput, error) {
26061	req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
26062	req.SetContext(ctx)
26063	req.ApplyOptions(opts...)
26064	return out, req.Send()
26065}
26066
26067const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
26068
26069// DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
26070// client's request for the DisassociateIamInstanceProfile operation. The "output" return
26071// value will be populated with the request's response once the request completes
26072// successfully.
26073//
26074// Use "Send" method on the returned Request to send the API call to the service.
26075// the "output" return value is not valid until after Send returns without error.
26076//
26077// See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
26078// API call, and error handling.
26079//
26080// This method is useful when you want to inject custom logic or configuration
26081// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26082//
26083//
26084//    // Example sending a request using the DisassociateIamInstanceProfileRequest method.
26085//    req, resp := client.DisassociateIamInstanceProfileRequest(params)
26086//
26087//    err := req.Send()
26088//    if err == nil { // resp is now filled
26089//        fmt.Println(resp)
26090//    }
26091//
26092// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
26093func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
26094	op := &request.Operation{
26095		Name:       opDisassociateIamInstanceProfile,
26096		HTTPMethod: "POST",
26097		HTTPPath:   "/",
26098	}
26099
26100	if input == nil {
26101		input = &DisassociateIamInstanceProfileInput{}
26102	}
26103
26104	output = &DisassociateIamInstanceProfileOutput{}
26105	req = c.newRequest(op, input, output)
26106	return
26107}
26108
26109// DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
26110//
26111// Disassociates an IAM instance profile from a running or stopped instance.
26112//
26113// Use DescribeIamInstanceProfileAssociations to get the association ID.
26114//
26115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26116// with awserr.Error's Code and Message methods to get detailed information about
26117// the error.
26118//
26119// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26120// API operation DisassociateIamInstanceProfile for usage and error information.
26121// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
26122func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
26123	req, out := c.DisassociateIamInstanceProfileRequest(input)
26124	return out, req.Send()
26125}
26126
26127// DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
26128// the ability to pass a context and additional request options.
26129//
26130// See DisassociateIamInstanceProfile for details on how to use this API operation.
26131//
26132// The context must be non-nil and will be used for request cancellation. If
26133// the context is nil a panic will occur. In the future the SDK may create
26134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26135// for more information on using Contexts.
26136func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
26137	req, out := c.DisassociateIamInstanceProfileRequest(input)
26138	req.SetContext(ctx)
26139	req.ApplyOptions(opts...)
26140	return out, req.Send()
26141}
26142
26143const opDisassociateRouteTable = "DisassociateRouteTable"
26144
26145// DisassociateRouteTableRequest generates a "aws/request.Request" representing the
26146// client's request for the DisassociateRouteTable operation. The "output" return
26147// value will be populated with the request's response once the request completes
26148// successfully.
26149//
26150// Use "Send" method on the returned Request to send the API call to the service.
26151// the "output" return value is not valid until after Send returns without error.
26152//
26153// See DisassociateRouteTable for more information on using the DisassociateRouteTable
26154// API call, and error handling.
26155//
26156// This method is useful when you want to inject custom logic or configuration
26157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26158//
26159//
26160//    // Example sending a request using the DisassociateRouteTableRequest method.
26161//    req, resp := client.DisassociateRouteTableRequest(params)
26162//
26163//    err := req.Send()
26164//    if err == nil { // resp is now filled
26165//        fmt.Println(resp)
26166//    }
26167//
26168// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
26169func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
26170	op := &request.Operation{
26171		Name:       opDisassociateRouteTable,
26172		HTTPMethod: "POST",
26173		HTTPPath:   "/",
26174	}
26175
26176	if input == nil {
26177		input = &DisassociateRouteTableInput{}
26178	}
26179
26180	output = &DisassociateRouteTableOutput{}
26181	req = c.newRequest(op, input, output)
26182	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
26183	return
26184}
26185
26186// DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
26187//
26188// Disassociates a subnet from a route table.
26189//
26190// After you perform this action, the subnet no longer uses the routes in the
26191// route table. Instead, it uses the routes in the VPC's main route table. For
26192// more information about route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
26193// in the Amazon Virtual Private Cloud User Guide.
26194//
26195// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26196// with awserr.Error's Code and Message methods to get detailed information about
26197// the error.
26198//
26199// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26200// API operation DisassociateRouteTable for usage and error information.
26201// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
26202func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
26203	req, out := c.DisassociateRouteTableRequest(input)
26204	return out, req.Send()
26205}
26206
26207// DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
26208// the ability to pass a context and additional request options.
26209//
26210// See DisassociateRouteTable for details on how to use this API operation.
26211//
26212// The context must be non-nil and will be used for request cancellation. If
26213// the context is nil a panic will occur. In the future the SDK may create
26214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26215// for more information on using Contexts.
26216func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
26217	req, out := c.DisassociateRouteTableRequest(input)
26218	req.SetContext(ctx)
26219	req.ApplyOptions(opts...)
26220	return out, req.Send()
26221}
26222
26223const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
26224
26225// DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
26226// client's request for the DisassociateSubnetCidrBlock operation. The "output" return
26227// value will be populated with the request's response once the request completes
26228// successfully.
26229//
26230// Use "Send" method on the returned Request to send the API call to the service.
26231// the "output" return value is not valid until after Send returns without error.
26232//
26233// See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
26234// API call, and error handling.
26235//
26236// This method is useful when you want to inject custom logic or configuration
26237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26238//
26239//
26240//    // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
26241//    req, resp := client.DisassociateSubnetCidrBlockRequest(params)
26242//
26243//    err := req.Send()
26244//    if err == nil { // resp is now filled
26245//        fmt.Println(resp)
26246//    }
26247//
26248// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
26249func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
26250	op := &request.Operation{
26251		Name:       opDisassociateSubnetCidrBlock,
26252		HTTPMethod: "POST",
26253		HTTPPath:   "/",
26254	}
26255
26256	if input == nil {
26257		input = &DisassociateSubnetCidrBlockInput{}
26258	}
26259
26260	output = &DisassociateSubnetCidrBlockOutput{}
26261	req = c.newRequest(op, input, output)
26262	return
26263}
26264
26265// DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
26266//
26267// Disassociates a CIDR block from a subnet. Currently, you can disassociate
26268// an IPv6 CIDR block only. You must detach or delete all gateways and resources
26269// that are associated with the CIDR block before you can disassociate it.
26270//
26271// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26272// with awserr.Error's Code and Message methods to get detailed information about
26273// the error.
26274//
26275// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26276// API operation DisassociateSubnetCidrBlock for usage and error information.
26277// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
26278func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
26279	req, out := c.DisassociateSubnetCidrBlockRequest(input)
26280	return out, req.Send()
26281}
26282
26283// DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
26284// the ability to pass a context and additional request options.
26285//
26286// See DisassociateSubnetCidrBlock for details on how to use this API operation.
26287//
26288// The context must be non-nil and will be used for request cancellation. If
26289// the context is nil a panic will occur. In the future the SDK may create
26290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26291// for more information on using Contexts.
26292func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
26293	req, out := c.DisassociateSubnetCidrBlockRequest(input)
26294	req.SetContext(ctx)
26295	req.ApplyOptions(opts...)
26296	return out, req.Send()
26297}
26298
26299const opDisassociateTransitGatewayMulticastDomain = "DisassociateTransitGatewayMulticastDomain"
26300
26301// DisassociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
26302// client's request for the DisassociateTransitGatewayMulticastDomain operation. The "output" return
26303// value will be populated with the request's response once the request completes
26304// successfully.
26305//
26306// Use "Send" method on the returned Request to send the API call to the service.
26307// the "output" return value is not valid until after Send returns without error.
26308//
26309// See DisassociateTransitGatewayMulticastDomain for more information on using the DisassociateTransitGatewayMulticastDomain
26310// API call, and error handling.
26311//
26312// This method is useful when you want to inject custom logic or configuration
26313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26314//
26315//
26316//    // Example sending a request using the DisassociateTransitGatewayMulticastDomainRequest method.
26317//    req, resp := client.DisassociateTransitGatewayMulticastDomainRequest(params)
26318//
26319//    err := req.Send()
26320//    if err == nil { // resp is now filled
26321//        fmt.Println(resp)
26322//    }
26323//
26324// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
26325func (c *EC2) DisassociateTransitGatewayMulticastDomainRequest(input *DisassociateTransitGatewayMulticastDomainInput) (req *request.Request, output *DisassociateTransitGatewayMulticastDomainOutput) {
26326	op := &request.Operation{
26327		Name:       opDisassociateTransitGatewayMulticastDomain,
26328		HTTPMethod: "POST",
26329		HTTPPath:   "/",
26330	}
26331
26332	if input == nil {
26333		input = &DisassociateTransitGatewayMulticastDomainInput{}
26334	}
26335
26336	output = &DisassociateTransitGatewayMulticastDomainOutput{}
26337	req = c.newRequest(op, input, output)
26338	return
26339}
26340
26341// DisassociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
26342//
26343// Disassociates the specified subnets from the transit gateway multicast domain.
26344//
26345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26346// with awserr.Error's Code and Message methods to get detailed information about
26347// the error.
26348//
26349// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26350// API operation DisassociateTransitGatewayMulticastDomain for usage and error information.
26351// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
26352func (c *EC2) DisassociateTransitGatewayMulticastDomain(input *DisassociateTransitGatewayMulticastDomainInput) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
26353	req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
26354	return out, req.Send()
26355}
26356
26357// DisassociateTransitGatewayMulticastDomainWithContext is the same as DisassociateTransitGatewayMulticastDomain with the addition of
26358// the ability to pass a context and additional request options.
26359//
26360// See DisassociateTransitGatewayMulticastDomain for details on how to use this API operation.
26361//
26362// The context must be non-nil and will be used for request cancellation. If
26363// the context is nil a panic will occur. In the future the SDK may create
26364// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26365// for more information on using Contexts.
26366func (c *EC2) DisassociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DisassociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
26367	req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
26368	req.SetContext(ctx)
26369	req.ApplyOptions(opts...)
26370	return out, req.Send()
26371}
26372
26373const opDisassociateTransitGatewayRouteTable = "DisassociateTransitGatewayRouteTable"
26374
26375// DisassociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
26376// client's request for the DisassociateTransitGatewayRouteTable operation. The "output" return
26377// value will be populated with the request's response once the request completes
26378// successfully.
26379//
26380// Use "Send" method on the returned Request to send the API call to the service.
26381// the "output" return value is not valid until after Send returns without error.
26382//
26383// See DisassociateTransitGatewayRouteTable for more information on using the DisassociateTransitGatewayRouteTable
26384// API call, and error handling.
26385//
26386// This method is useful when you want to inject custom logic or configuration
26387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26388//
26389//
26390//    // Example sending a request using the DisassociateTransitGatewayRouteTableRequest method.
26391//    req, resp := client.DisassociateTransitGatewayRouteTableRequest(params)
26392//
26393//    err := req.Send()
26394//    if err == nil { // resp is now filled
26395//        fmt.Println(resp)
26396//    }
26397//
26398// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
26399func (c *EC2) DisassociateTransitGatewayRouteTableRequest(input *DisassociateTransitGatewayRouteTableInput) (req *request.Request, output *DisassociateTransitGatewayRouteTableOutput) {
26400	op := &request.Operation{
26401		Name:       opDisassociateTransitGatewayRouteTable,
26402		HTTPMethod: "POST",
26403		HTTPPath:   "/",
26404	}
26405
26406	if input == nil {
26407		input = &DisassociateTransitGatewayRouteTableInput{}
26408	}
26409
26410	output = &DisassociateTransitGatewayRouteTableOutput{}
26411	req = c.newRequest(op, input, output)
26412	return
26413}
26414
26415// DisassociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
26416//
26417// Disassociates a resource attachment from a transit gateway route table.
26418//
26419// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26420// with awserr.Error's Code and Message methods to get detailed information about
26421// the error.
26422//
26423// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26424// API operation DisassociateTransitGatewayRouteTable for usage and error information.
26425// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
26426func (c *EC2) DisassociateTransitGatewayRouteTable(input *DisassociateTransitGatewayRouteTableInput) (*DisassociateTransitGatewayRouteTableOutput, error) {
26427	req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
26428	return out, req.Send()
26429}
26430
26431// DisassociateTransitGatewayRouteTableWithContext is the same as DisassociateTransitGatewayRouteTable with the addition of
26432// the ability to pass a context and additional request options.
26433//
26434// See DisassociateTransitGatewayRouteTable for details on how to use this API operation.
26435//
26436// The context must be non-nil and will be used for request cancellation. If
26437// the context is nil a panic will occur. In the future the SDK may create
26438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26439// for more information on using Contexts.
26440func (c *EC2) DisassociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *DisassociateTransitGatewayRouteTableInput, opts ...request.Option) (*DisassociateTransitGatewayRouteTableOutput, error) {
26441	req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
26442	req.SetContext(ctx)
26443	req.ApplyOptions(opts...)
26444	return out, req.Send()
26445}
26446
26447const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
26448
26449// DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
26450// client's request for the DisassociateVpcCidrBlock operation. The "output" return
26451// value will be populated with the request's response once the request completes
26452// successfully.
26453//
26454// Use "Send" method on the returned Request to send the API call to the service.
26455// the "output" return value is not valid until after Send returns without error.
26456//
26457// See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
26458// API call, and error handling.
26459//
26460// This method is useful when you want to inject custom logic or configuration
26461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26462//
26463//
26464//    // Example sending a request using the DisassociateVpcCidrBlockRequest method.
26465//    req, resp := client.DisassociateVpcCidrBlockRequest(params)
26466//
26467//    err := req.Send()
26468//    if err == nil { // resp is now filled
26469//        fmt.Println(resp)
26470//    }
26471//
26472// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
26473func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
26474	op := &request.Operation{
26475		Name:       opDisassociateVpcCidrBlock,
26476		HTTPMethod: "POST",
26477		HTTPPath:   "/",
26478	}
26479
26480	if input == nil {
26481		input = &DisassociateVpcCidrBlockInput{}
26482	}
26483
26484	output = &DisassociateVpcCidrBlockOutput{}
26485	req = c.newRequest(op, input, output)
26486	return
26487}
26488
26489// DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
26490//
26491// Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you
26492// must specify its association ID. You can get the association ID by using
26493// DescribeVpcs. You must detach or delete all gateways and resources that are
26494// associated with the CIDR block before you can disassociate it.
26495//
26496// You cannot disassociate the CIDR block with which you originally created
26497// the VPC (the primary CIDR block).
26498//
26499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26500// with awserr.Error's Code and Message methods to get detailed information about
26501// the error.
26502//
26503// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26504// API operation DisassociateVpcCidrBlock for usage and error information.
26505// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
26506func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
26507	req, out := c.DisassociateVpcCidrBlockRequest(input)
26508	return out, req.Send()
26509}
26510
26511// DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
26512// the ability to pass a context and additional request options.
26513//
26514// See DisassociateVpcCidrBlock for details on how to use this API operation.
26515//
26516// The context must be non-nil and will be used for request cancellation. If
26517// the context is nil a panic will occur. In the future the SDK may create
26518// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26519// for more information on using Contexts.
26520func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
26521	req, out := c.DisassociateVpcCidrBlockRequest(input)
26522	req.SetContext(ctx)
26523	req.ApplyOptions(opts...)
26524	return out, req.Send()
26525}
26526
26527const opEnableEbsEncryptionByDefault = "EnableEbsEncryptionByDefault"
26528
26529// EnableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
26530// client's request for the EnableEbsEncryptionByDefault operation. The "output" return
26531// value will be populated with the request's response once the request completes
26532// successfully.
26533//
26534// Use "Send" method on the returned Request to send the API call to the service.
26535// the "output" return value is not valid until after Send returns without error.
26536//
26537// See EnableEbsEncryptionByDefault for more information on using the EnableEbsEncryptionByDefault
26538// API call, and error handling.
26539//
26540// This method is useful when you want to inject custom logic or configuration
26541// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26542//
26543//
26544//    // Example sending a request using the EnableEbsEncryptionByDefaultRequest method.
26545//    req, resp := client.EnableEbsEncryptionByDefaultRequest(params)
26546//
26547//    err := req.Send()
26548//    if err == nil { // resp is now filled
26549//        fmt.Println(resp)
26550//    }
26551//
26552// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
26553func (c *EC2) EnableEbsEncryptionByDefaultRequest(input *EnableEbsEncryptionByDefaultInput) (req *request.Request, output *EnableEbsEncryptionByDefaultOutput) {
26554	op := &request.Operation{
26555		Name:       opEnableEbsEncryptionByDefault,
26556		HTTPMethod: "POST",
26557		HTTPPath:   "/",
26558	}
26559
26560	if input == nil {
26561		input = &EnableEbsEncryptionByDefaultInput{}
26562	}
26563
26564	output = &EnableEbsEncryptionByDefaultOutput{}
26565	req = c.newRequest(op, input, output)
26566	return
26567}
26568
26569// EnableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
26570//
26571// Enables EBS encryption by default for your account in the current Region.
26572//
26573// After you enable encryption by default, the EBS volumes that you create are
26574// are always encrypted, either using the default CMK or the CMK that you specified
26575// when you created each volume. For more information, see Amazon EBS Encryption
26576// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
26577// in the Amazon Elastic Compute Cloud User Guide.
26578//
26579// You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId
26580// or ResetEbsDefaultKmsKeyId.
26581//
26582// Enabling encryption by default has no effect on the encryption status of
26583// your existing volumes.
26584//
26585// After you enable encryption by default, you can no longer launch instances
26586// using instance types that do not support encryption. For more information,
26587// see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
26588//
26589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26590// with awserr.Error's Code and Message methods to get detailed information about
26591// the error.
26592//
26593// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26594// API operation EnableEbsEncryptionByDefault for usage and error information.
26595// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
26596func (c *EC2) EnableEbsEncryptionByDefault(input *EnableEbsEncryptionByDefaultInput) (*EnableEbsEncryptionByDefaultOutput, error) {
26597	req, out := c.EnableEbsEncryptionByDefaultRequest(input)
26598	return out, req.Send()
26599}
26600
26601// EnableEbsEncryptionByDefaultWithContext is the same as EnableEbsEncryptionByDefault with the addition of
26602// the ability to pass a context and additional request options.
26603//
26604// See EnableEbsEncryptionByDefault for details on how to use this API operation.
26605//
26606// The context must be non-nil and will be used for request cancellation. If
26607// the context is nil a panic will occur. In the future the SDK may create
26608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26609// for more information on using Contexts.
26610func (c *EC2) EnableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *EnableEbsEncryptionByDefaultInput, opts ...request.Option) (*EnableEbsEncryptionByDefaultOutput, error) {
26611	req, out := c.EnableEbsEncryptionByDefaultRequest(input)
26612	req.SetContext(ctx)
26613	req.ApplyOptions(opts...)
26614	return out, req.Send()
26615}
26616
26617const opEnableFastSnapshotRestores = "EnableFastSnapshotRestores"
26618
26619// EnableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
26620// client's request for the EnableFastSnapshotRestores operation. The "output" return
26621// value will be populated with the request's response once the request completes
26622// successfully.
26623//
26624// Use "Send" method on the returned Request to send the API call to the service.
26625// the "output" return value is not valid until after Send returns without error.
26626//
26627// See EnableFastSnapshotRestores for more information on using the EnableFastSnapshotRestores
26628// API call, and error handling.
26629//
26630// This method is useful when you want to inject custom logic or configuration
26631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26632//
26633//
26634//    // Example sending a request using the EnableFastSnapshotRestoresRequest method.
26635//    req, resp := client.EnableFastSnapshotRestoresRequest(params)
26636//
26637//    err := req.Send()
26638//    if err == nil { // resp is now filled
26639//        fmt.Println(resp)
26640//    }
26641//
26642// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores
26643func (c *EC2) EnableFastSnapshotRestoresRequest(input *EnableFastSnapshotRestoresInput) (req *request.Request, output *EnableFastSnapshotRestoresOutput) {
26644	op := &request.Operation{
26645		Name:       opEnableFastSnapshotRestores,
26646		HTTPMethod: "POST",
26647		HTTPPath:   "/",
26648	}
26649
26650	if input == nil {
26651		input = &EnableFastSnapshotRestoresInput{}
26652	}
26653
26654	output = &EnableFastSnapshotRestoresOutput{}
26655	req = c.newRequest(op, input, output)
26656	return
26657}
26658
26659// EnableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
26660//
26661// Enables fast snapshot restores for the specified snapshots in the specified
26662// Availability Zones.
26663//
26664// You get the full benefit of fast snapshot restores after they enter the enabled
26665// state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores.
26666// To disable fast snapshot restores, use DisableFastSnapshotRestores.
26667//
26668// For more information, see Amazon EBS Fast Snapshot Restore (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-fast-snapshot-restore.html)
26669// in the Amazon Elastic Compute Cloud User Guide.
26670//
26671// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26672// with awserr.Error's Code and Message methods to get detailed information about
26673// the error.
26674//
26675// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26676// API operation EnableFastSnapshotRestores for usage and error information.
26677// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores
26678func (c *EC2) EnableFastSnapshotRestores(input *EnableFastSnapshotRestoresInput) (*EnableFastSnapshotRestoresOutput, error) {
26679	req, out := c.EnableFastSnapshotRestoresRequest(input)
26680	return out, req.Send()
26681}
26682
26683// EnableFastSnapshotRestoresWithContext is the same as EnableFastSnapshotRestores with the addition of
26684// the ability to pass a context and additional request options.
26685//
26686// See EnableFastSnapshotRestores for details on how to use this API operation.
26687//
26688// The context must be non-nil and will be used for request cancellation. If
26689// the context is nil a panic will occur. In the future the SDK may create
26690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26691// for more information on using Contexts.
26692func (c *EC2) EnableFastSnapshotRestoresWithContext(ctx aws.Context, input *EnableFastSnapshotRestoresInput, opts ...request.Option) (*EnableFastSnapshotRestoresOutput, error) {
26693	req, out := c.EnableFastSnapshotRestoresRequest(input)
26694	req.SetContext(ctx)
26695	req.ApplyOptions(opts...)
26696	return out, req.Send()
26697}
26698
26699const opEnableTransitGatewayRouteTablePropagation = "EnableTransitGatewayRouteTablePropagation"
26700
26701// EnableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
26702// client's request for the EnableTransitGatewayRouteTablePropagation operation. The "output" return
26703// value will be populated with the request's response once the request completes
26704// successfully.
26705//
26706// Use "Send" method on the returned Request to send the API call to the service.
26707// the "output" return value is not valid until after Send returns without error.
26708//
26709// See EnableTransitGatewayRouteTablePropagation for more information on using the EnableTransitGatewayRouteTablePropagation
26710// API call, and error handling.
26711//
26712// This method is useful when you want to inject custom logic or configuration
26713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26714//
26715//
26716//    // Example sending a request using the EnableTransitGatewayRouteTablePropagationRequest method.
26717//    req, resp := client.EnableTransitGatewayRouteTablePropagationRequest(params)
26718//
26719//    err := req.Send()
26720//    if err == nil { // resp is now filled
26721//        fmt.Println(resp)
26722//    }
26723//
26724// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
26725func (c *EC2) EnableTransitGatewayRouteTablePropagationRequest(input *EnableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *EnableTransitGatewayRouteTablePropagationOutput) {
26726	op := &request.Operation{
26727		Name:       opEnableTransitGatewayRouteTablePropagation,
26728		HTTPMethod: "POST",
26729		HTTPPath:   "/",
26730	}
26731
26732	if input == nil {
26733		input = &EnableTransitGatewayRouteTablePropagationInput{}
26734	}
26735
26736	output = &EnableTransitGatewayRouteTablePropagationOutput{}
26737	req = c.newRequest(op, input, output)
26738	return
26739}
26740
26741// EnableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
26742//
26743// Enables the specified attachment to propagate routes to the specified propagation
26744// route table.
26745//
26746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26747// with awserr.Error's Code and Message methods to get detailed information about
26748// the error.
26749//
26750// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26751// API operation EnableTransitGatewayRouteTablePropagation for usage and error information.
26752// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
26753func (c *EC2) EnableTransitGatewayRouteTablePropagation(input *EnableTransitGatewayRouteTablePropagationInput) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
26754	req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
26755	return out, req.Send()
26756}
26757
26758// EnableTransitGatewayRouteTablePropagationWithContext is the same as EnableTransitGatewayRouteTablePropagation with the addition of
26759// the ability to pass a context and additional request options.
26760//
26761// See EnableTransitGatewayRouteTablePropagation for details on how to use this API operation.
26762//
26763// The context must be non-nil and will be used for request cancellation. If
26764// the context is nil a panic will occur. In the future the SDK may create
26765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26766// for more information on using Contexts.
26767func (c *EC2) EnableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *EnableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
26768	req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
26769	req.SetContext(ctx)
26770	req.ApplyOptions(opts...)
26771	return out, req.Send()
26772}
26773
26774const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
26775
26776// EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
26777// client's request for the EnableVgwRoutePropagation operation. The "output" return
26778// value will be populated with the request's response once the request completes
26779// successfully.
26780//
26781// Use "Send" method on the returned Request to send the API call to the service.
26782// the "output" return value is not valid until after Send returns without error.
26783//
26784// See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
26785// API call, and error handling.
26786//
26787// This method is useful when you want to inject custom logic or configuration
26788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26789//
26790//
26791//    // Example sending a request using the EnableVgwRoutePropagationRequest method.
26792//    req, resp := client.EnableVgwRoutePropagationRequest(params)
26793//
26794//    err := req.Send()
26795//    if err == nil { // resp is now filled
26796//        fmt.Println(resp)
26797//    }
26798//
26799// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
26800func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
26801	op := &request.Operation{
26802		Name:       opEnableVgwRoutePropagation,
26803		HTTPMethod: "POST",
26804		HTTPPath:   "/",
26805	}
26806
26807	if input == nil {
26808		input = &EnableVgwRoutePropagationInput{}
26809	}
26810
26811	output = &EnableVgwRoutePropagationOutput{}
26812	req = c.newRequest(op, input, output)
26813	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
26814	return
26815}
26816
26817// EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
26818//
26819// Enables a virtual private gateway (VGW) to propagate routes to the specified
26820// route table of a VPC.
26821//
26822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26823// with awserr.Error's Code and Message methods to get detailed information about
26824// the error.
26825//
26826// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26827// API operation EnableVgwRoutePropagation for usage and error information.
26828// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
26829func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
26830	req, out := c.EnableVgwRoutePropagationRequest(input)
26831	return out, req.Send()
26832}
26833
26834// EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
26835// the ability to pass a context and additional request options.
26836//
26837// See EnableVgwRoutePropagation for details on how to use this API operation.
26838//
26839// The context must be non-nil and will be used for request cancellation. If
26840// the context is nil a panic will occur. In the future the SDK may create
26841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26842// for more information on using Contexts.
26843func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
26844	req, out := c.EnableVgwRoutePropagationRequest(input)
26845	req.SetContext(ctx)
26846	req.ApplyOptions(opts...)
26847	return out, req.Send()
26848}
26849
26850const opEnableVolumeIO = "EnableVolumeIO"
26851
26852// EnableVolumeIORequest generates a "aws/request.Request" representing the
26853// client's request for the EnableVolumeIO operation. The "output" return
26854// value will be populated with the request's response once the request completes
26855// successfully.
26856//
26857// Use "Send" method on the returned Request to send the API call to the service.
26858// the "output" return value is not valid until after Send returns without error.
26859//
26860// See EnableVolumeIO for more information on using the EnableVolumeIO
26861// API call, and error handling.
26862//
26863// This method is useful when you want to inject custom logic or configuration
26864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26865//
26866//
26867//    // Example sending a request using the EnableVolumeIORequest method.
26868//    req, resp := client.EnableVolumeIORequest(params)
26869//
26870//    err := req.Send()
26871//    if err == nil { // resp is now filled
26872//        fmt.Println(resp)
26873//    }
26874//
26875// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
26876func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
26877	op := &request.Operation{
26878		Name:       opEnableVolumeIO,
26879		HTTPMethod: "POST",
26880		HTTPPath:   "/",
26881	}
26882
26883	if input == nil {
26884		input = &EnableVolumeIOInput{}
26885	}
26886
26887	output = &EnableVolumeIOOutput{}
26888	req = c.newRequest(op, input, output)
26889	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
26890	return
26891}
26892
26893// EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
26894//
26895// Enables I/O operations for a volume that had I/O operations disabled because
26896// the data on the volume was potentially inconsistent.
26897//
26898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26899// with awserr.Error's Code and Message methods to get detailed information about
26900// the error.
26901//
26902// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26903// API operation EnableVolumeIO for usage and error information.
26904// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
26905func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
26906	req, out := c.EnableVolumeIORequest(input)
26907	return out, req.Send()
26908}
26909
26910// EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
26911// the ability to pass a context and additional request options.
26912//
26913// See EnableVolumeIO for details on how to use this API operation.
26914//
26915// The context must be non-nil and will be used for request cancellation. If
26916// the context is nil a panic will occur. In the future the SDK may create
26917// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26918// for more information on using Contexts.
26919func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
26920	req, out := c.EnableVolumeIORequest(input)
26921	req.SetContext(ctx)
26922	req.ApplyOptions(opts...)
26923	return out, req.Send()
26924}
26925
26926const opEnableVpcClassicLink = "EnableVpcClassicLink"
26927
26928// EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
26929// client's request for the EnableVpcClassicLink operation. The "output" return
26930// value will be populated with the request's response once the request completes
26931// successfully.
26932//
26933// Use "Send" method on the returned Request to send the API call to the service.
26934// the "output" return value is not valid until after Send returns without error.
26935//
26936// See EnableVpcClassicLink for more information on using the EnableVpcClassicLink
26937// API call, and error handling.
26938//
26939// This method is useful when you want to inject custom logic or configuration
26940// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26941//
26942//
26943//    // Example sending a request using the EnableVpcClassicLinkRequest method.
26944//    req, resp := client.EnableVpcClassicLinkRequest(params)
26945//
26946//    err := req.Send()
26947//    if err == nil { // resp is now filled
26948//        fmt.Println(resp)
26949//    }
26950//
26951// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
26952func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
26953	op := &request.Operation{
26954		Name:       opEnableVpcClassicLink,
26955		HTTPMethod: "POST",
26956		HTTPPath:   "/",
26957	}
26958
26959	if input == nil {
26960		input = &EnableVpcClassicLinkInput{}
26961	}
26962
26963	output = &EnableVpcClassicLinkOutput{}
26964	req = c.newRequest(op, input, output)
26965	return
26966}
26967
26968// EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
26969//
26970// Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
26971// your ClassicLink-enabled VPC to allow communication over private IP addresses.
26972// You cannot enable your VPC for ClassicLink if any of your VPC route tables
26973// have existing routes for address ranges within the 10.0.0.0/8 IP address
26974// range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
26975// IP address ranges. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
26976// in the Amazon Elastic Compute Cloud User Guide.
26977//
26978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26979// with awserr.Error's Code and Message methods to get detailed information about
26980// the error.
26981//
26982// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26983// API operation EnableVpcClassicLink for usage and error information.
26984// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
26985func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
26986	req, out := c.EnableVpcClassicLinkRequest(input)
26987	return out, req.Send()
26988}
26989
26990// EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
26991// the ability to pass a context and additional request options.
26992//
26993// See EnableVpcClassicLink for details on how to use this API operation.
26994//
26995// The context must be non-nil and will be used for request cancellation. If
26996// the context is nil a panic will occur. In the future the SDK may create
26997// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26998// for more information on using Contexts.
26999func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
27000	req, out := c.EnableVpcClassicLinkRequest(input)
27001	req.SetContext(ctx)
27002	req.ApplyOptions(opts...)
27003	return out, req.Send()
27004}
27005
27006const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
27007
27008// EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
27009// client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
27010// value will be populated with the request's response once the request completes
27011// successfully.
27012//
27013// Use "Send" method on the returned Request to send the API call to the service.
27014// the "output" return value is not valid until after Send returns without error.
27015//
27016// See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
27017// API call, and error handling.
27018//
27019// This method is useful when you want to inject custom logic or configuration
27020// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27021//
27022//
27023//    // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
27024//    req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
27025//
27026//    err := req.Send()
27027//    if err == nil { // resp is now filled
27028//        fmt.Println(resp)
27029//    }
27030//
27031// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
27032func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
27033	op := &request.Operation{
27034		Name:       opEnableVpcClassicLinkDnsSupport,
27035		HTTPMethod: "POST",
27036		HTTPPath:   "/",
27037	}
27038
27039	if input == nil {
27040		input = &EnableVpcClassicLinkDnsSupportInput{}
27041	}
27042
27043	output = &EnableVpcClassicLinkDnsSupportOutput{}
27044	req = c.newRequest(op, input, output)
27045	return
27046}
27047
27048// EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
27049//
27050// Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
27051// the DNS hostname of a linked EC2-Classic instance resolves to its private
27052// IP address when addressed from an instance in the VPC to which it's linked.
27053// Similarly, the DNS hostname of an instance in a VPC resolves to its private
27054// IP address when addressed from a linked EC2-Classic instance. For more information,
27055// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
27056// in the Amazon Elastic Compute Cloud User Guide.
27057//
27058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27059// with awserr.Error's Code and Message methods to get detailed information about
27060// the error.
27061//
27062// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27063// API operation EnableVpcClassicLinkDnsSupport for usage and error information.
27064// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
27065func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
27066	req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
27067	return out, req.Send()
27068}
27069
27070// EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
27071// the ability to pass a context and additional request options.
27072//
27073// See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
27074//
27075// The context must be non-nil and will be used for request cancellation. If
27076// the context is nil a panic will occur. In the future the SDK may create
27077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27078// for more information on using Contexts.
27079func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
27080	req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
27081	req.SetContext(ctx)
27082	req.ApplyOptions(opts...)
27083	return out, req.Send()
27084}
27085
27086const opExportClientVpnClientCertificateRevocationList = "ExportClientVpnClientCertificateRevocationList"
27087
27088// ExportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
27089// client's request for the ExportClientVpnClientCertificateRevocationList operation. The "output" return
27090// value will be populated with the request's response once the request completes
27091// successfully.
27092//
27093// Use "Send" method on the returned Request to send the API call to the service.
27094// the "output" return value is not valid until after Send returns without error.
27095//
27096// See ExportClientVpnClientCertificateRevocationList for more information on using the ExportClientVpnClientCertificateRevocationList
27097// API call, and error handling.
27098//
27099// This method is useful when you want to inject custom logic or configuration
27100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27101//
27102//
27103//    // Example sending a request using the ExportClientVpnClientCertificateRevocationListRequest method.
27104//    req, resp := client.ExportClientVpnClientCertificateRevocationListRequest(params)
27105//
27106//    err := req.Send()
27107//    if err == nil { // resp is now filled
27108//        fmt.Println(resp)
27109//    }
27110//
27111// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
27112func (c *EC2) ExportClientVpnClientCertificateRevocationListRequest(input *ExportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ExportClientVpnClientCertificateRevocationListOutput) {
27113	op := &request.Operation{
27114		Name:       opExportClientVpnClientCertificateRevocationList,
27115		HTTPMethod: "POST",
27116		HTTPPath:   "/",
27117	}
27118
27119	if input == nil {
27120		input = &ExportClientVpnClientCertificateRevocationListInput{}
27121	}
27122
27123	output = &ExportClientVpnClientCertificateRevocationListOutput{}
27124	req = c.newRequest(op, input, output)
27125	return
27126}
27127
27128// ExportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
27129//
27130// Downloads the client certificate revocation list for the specified Client
27131// VPN endpoint.
27132//
27133// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27134// with awserr.Error's Code and Message methods to get detailed information about
27135// the error.
27136//
27137// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27138// API operation ExportClientVpnClientCertificateRevocationList for usage and error information.
27139// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
27140func (c *EC2) ExportClientVpnClientCertificateRevocationList(input *ExportClientVpnClientCertificateRevocationListInput) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
27141	req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
27142	return out, req.Send()
27143}
27144
27145// ExportClientVpnClientCertificateRevocationListWithContext is the same as ExportClientVpnClientCertificateRevocationList with the addition of
27146// the ability to pass a context and additional request options.
27147//
27148// See ExportClientVpnClientCertificateRevocationList for details on how to use this API operation.
27149//
27150// The context must be non-nil and will be used for request cancellation. If
27151// the context is nil a panic will occur. In the future the SDK may create
27152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27153// for more information on using Contexts.
27154func (c *EC2) ExportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ExportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
27155	req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
27156	req.SetContext(ctx)
27157	req.ApplyOptions(opts...)
27158	return out, req.Send()
27159}
27160
27161const opExportClientVpnClientConfiguration = "ExportClientVpnClientConfiguration"
27162
27163// ExportClientVpnClientConfigurationRequest generates a "aws/request.Request" representing the
27164// client's request for the ExportClientVpnClientConfiguration operation. The "output" return
27165// value will be populated with the request's response once the request completes
27166// successfully.
27167//
27168// Use "Send" method on the returned Request to send the API call to the service.
27169// the "output" return value is not valid until after Send returns without error.
27170//
27171// See ExportClientVpnClientConfiguration for more information on using the ExportClientVpnClientConfiguration
27172// API call, and error handling.
27173//
27174// This method is useful when you want to inject custom logic or configuration
27175// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27176//
27177//
27178//    // Example sending a request using the ExportClientVpnClientConfigurationRequest method.
27179//    req, resp := client.ExportClientVpnClientConfigurationRequest(params)
27180//
27181//    err := req.Send()
27182//    if err == nil { // resp is now filled
27183//        fmt.Println(resp)
27184//    }
27185//
27186// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
27187func (c *EC2) ExportClientVpnClientConfigurationRequest(input *ExportClientVpnClientConfigurationInput) (req *request.Request, output *ExportClientVpnClientConfigurationOutput) {
27188	op := &request.Operation{
27189		Name:       opExportClientVpnClientConfiguration,
27190		HTTPMethod: "POST",
27191		HTTPPath:   "/",
27192	}
27193
27194	if input == nil {
27195		input = &ExportClientVpnClientConfigurationInput{}
27196	}
27197
27198	output = &ExportClientVpnClientConfigurationOutput{}
27199	req = c.newRequest(op, input, output)
27200	return
27201}
27202
27203// ExportClientVpnClientConfiguration API operation for Amazon Elastic Compute Cloud.
27204//
27205// Downloads the contents of the Client VPN endpoint configuration file for
27206// the specified Client VPN endpoint. The Client VPN endpoint configuration
27207// file includes the Client VPN endpoint and certificate information clients
27208// need to establish a connection with the Client VPN endpoint.
27209//
27210// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27211// with awserr.Error's Code and Message methods to get detailed information about
27212// the error.
27213//
27214// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27215// API operation ExportClientVpnClientConfiguration for usage and error information.
27216// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
27217func (c *EC2) ExportClientVpnClientConfiguration(input *ExportClientVpnClientConfigurationInput) (*ExportClientVpnClientConfigurationOutput, error) {
27218	req, out := c.ExportClientVpnClientConfigurationRequest(input)
27219	return out, req.Send()
27220}
27221
27222// ExportClientVpnClientConfigurationWithContext is the same as ExportClientVpnClientConfiguration with the addition of
27223// the ability to pass a context and additional request options.
27224//
27225// See ExportClientVpnClientConfiguration for details on how to use this API operation.
27226//
27227// The context must be non-nil and will be used for request cancellation. If
27228// the context is nil a panic will occur. In the future the SDK may create
27229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27230// for more information on using Contexts.
27231func (c *EC2) ExportClientVpnClientConfigurationWithContext(ctx aws.Context, input *ExportClientVpnClientConfigurationInput, opts ...request.Option) (*ExportClientVpnClientConfigurationOutput, error) {
27232	req, out := c.ExportClientVpnClientConfigurationRequest(input)
27233	req.SetContext(ctx)
27234	req.ApplyOptions(opts...)
27235	return out, req.Send()
27236}
27237
27238const opExportImage = "ExportImage"
27239
27240// ExportImageRequest generates a "aws/request.Request" representing the
27241// client's request for the ExportImage operation. The "output" return
27242// value will be populated with the request's response once the request completes
27243// successfully.
27244//
27245// Use "Send" method on the returned Request to send the API call to the service.
27246// the "output" return value is not valid until after Send returns without error.
27247//
27248// See ExportImage for more information on using the ExportImage
27249// API call, and error handling.
27250//
27251// This method is useful when you want to inject custom logic or configuration
27252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27253//
27254//
27255//    // Example sending a request using the ExportImageRequest method.
27256//    req, resp := client.ExportImageRequest(params)
27257//
27258//    err := req.Send()
27259//    if err == nil { // resp is now filled
27260//        fmt.Println(resp)
27261//    }
27262//
27263// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage
27264func (c *EC2) ExportImageRequest(input *ExportImageInput) (req *request.Request, output *ExportImageOutput) {
27265	op := &request.Operation{
27266		Name:       opExportImage,
27267		HTTPMethod: "POST",
27268		HTTPPath:   "/",
27269	}
27270
27271	if input == nil {
27272		input = &ExportImageInput{}
27273	}
27274
27275	output = &ExportImageOutput{}
27276	req = c.newRequest(op, input, output)
27277	return
27278}
27279
27280// ExportImage API operation for Amazon Elastic Compute Cloud.
27281//
27282// Exports an Amazon Machine Image (AMI) to a VM file. For more information,
27283// see Exporting a VM Directory from an Amazon Machine Image (AMI) (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html)
27284// in the VM Import/Export User Guide.
27285//
27286// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27287// with awserr.Error's Code and Message methods to get detailed information about
27288// the error.
27289//
27290// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27291// API operation ExportImage for usage and error information.
27292// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage
27293func (c *EC2) ExportImage(input *ExportImageInput) (*ExportImageOutput, error) {
27294	req, out := c.ExportImageRequest(input)
27295	return out, req.Send()
27296}
27297
27298// ExportImageWithContext is the same as ExportImage with the addition of
27299// the ability to pass a context and additional request options.
27300//
27301// See ExportImage for details on how to use this API operation.
27302//
27303// The context must be non-nil and will be used for request cancellation. If
27304// the context is nil a panic will occur. In the future the SDK may create
27305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27306// for more information on using Contexts.
27307func (c *EC2) ExportImageWithContext(ctx aws.Context, input *ExportImageInput, opts ...request.Option) (*ExportImageOutput, error) {
27308	req, out := c.ExportImageRequest(input)
27309	req.SetContext(ctx)
27310	req.ApplyOptions(opts...)
27311	return out, req.Send()
27312}
27313
27314const opExportTransitGatewayRoutes = "ExportTransitGatewayRoutes"
27315
27316// ExportTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
27317// client's request for the ExportTransitGatewayRoutes operation. The "output" return
27318// value will be populated with the request's response once the request completes
27319// successfully.
27320//
27321// Use "Send" method on the returned Request to send the API call to the service.
27322// the "output" return value is not valid until after Send returns without error.
27323//
27324// See ExportTransitGatewayRoutes for more information on using the ExportTransitGatewayRoutes
27325// API call, and error handling.
27326//
27327// This method is useful when you want to inject custom logic or configuration
27328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27329//
27330//
27331//    // Example sending a request using the ExportTransitGatewayRoutesRequest method.
27332//    req, resp := client.ExportTransitGatewayRoutesRequest(params)
27333//
27334//    err := req.Send()
27335//    if err == nil { // resp is now filled
27336//        fmt.Println(resp)
27337//    }
27338//
27339// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
27340func (c *EC2) ExportTransitGatewayRoutesRequest(input *ExportTransitGatewayRoutesInput) (req *request.Request, output *ExportTransitGatewayRoutesOutput) {
27341	op := &request.Operation{
27342		Name:       opExportTransitGatewayRoutes,
27343		HTTPMethod: "POST",
27344		HTTPPath:   "/",
27345	}
27346
27347	if input == nil {
27348		input = &ExportTransitGatewayRoutesInput{}
27349	}
27350
27351	output = &ExportTransitGatewayRoutesOutput{}
27352	req = c.newRequest(op, input, output)
27353	return
27354}
27355
27356// ExportTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
27357//
27358// Exports routes from the specified transit gateway route table to the specified
27359// S3 bucket. By default, all routes are exported. Alternatively, you can filter
27360// by CIDR range.
27361//
27362// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27363// with awserr.Error's Code and Message methods to get detailed information about
27364// the error.
27365//
27366// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27367// API operation ExportTransitGatewayRoutes for usage and error information.
27368// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
27369func (c *EC2) ExportTransitGatewayRoutes(input *ExportTransitGatewayRoutesInput) (*ExportTransitGatewayRoutesOutput, error) {
27370	req, out := c.ExportTransitGatewayRoutesRequest(input)
27371	return out, req.Send()
27372}
27373
27374// ExportTransitGatewayRoutesWithContext is the same as ExportTransitGatewayRoutes with the addition of
27375// the ability to pass a context and additional request options.
27376//
27377// See ExportTransitGatewayRoutes for details on how to use this API operation.
27378//
27379// The context must be non-nil and will be used for request cancellation. If
27380// the context is nil a panic will occur. In the future the SDK may create
27381// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27382// for more information on using Contexts.
27383func (c *EC2) ExportTransitGatewayRoutesWithContext(ctx aws.Context, input *ExportTransitGatewayRoutesInput, opts ...request.Option) (*ExportTransitGatewayRoutesOutput, error) {
27384	req, out := c.ExportTransitGatewayRoutesRequest(input)
27385	req.SetContext(ctx)
27386	req.ApplyOptions(opts...)
27387	return out, req.Send()
27388}
27389
27390const opGetAssociatedIpv6PoolCidrs = "GetAssociatedIpv6PoolCidrs"
27391
27392// GetAssociatedIpv6PoolCidrsRequest generates a "aws/request.Request" representing the
27393// client's request for the GetAssociatedIpv6PoolCidrs operation. The "output" return
27394// value will be populated with the request's response once the request completes
27395// successfully.
27396//
27397// Use "Send" method on the returned Request to send the API call to the service.
27398// the "output" return value is not valid until after Send returns without error.
27399//
27400// See GetAssociatedIpv6PoolCidrs for more information on using the GetAssociatedIpv6PoolCidrs
27401// API call, and error handling.
27402//
27403// This method is useful when you want to inject custom logic or configuration
27404// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27405//
27406//
27407//    // Example sending a request using the GetAssociatedIpv6PoolCidrsRequest method.
27408//    req, resp := client.GetAssociatedIpv6PoolCidrsRequest(params)
27409//
27410//    err := req.Send()
27411//    if err == nil { // resp is now filled
27412//        fmt.Println(resp)
27413//    }
27414//
27415// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedIpv6PoolCidrs
27416func (c *EC2) GetAssociatedIpv6PoolCidrsRequest(input *GetAssociatedIpv6PoolCidrsInput) (req *request.Request, output *GetAssociatedIpv6PoolCidrsOutput) {
27417	op := &request.Operation{
27418		Name:       opGetAssociatedIpv6PoolCidrs,
27419		HTTPMethod: "POST",
27420		HTTPPath:   "/",
27421		Paginator: &request.Paginator{
27422			InputTokens:     []string{"NextToken"},
27423			OutputTokens:    []string{"NextToken"},
27424			LimitToken:      "MaxResults",
27425			TruncationToken: "",
27426		},
27427	}
27428
27429	if input == nil {
27430		input = &GetAssociatedIpv6PoolCidrsInput{}
27431	}
27432
27433	output = &GetAssociatedIpv6PoolCidrsOutput{}
27434	req = c.newRequest(op, input, output)
27435	return
27436}
27437
27438// GetAssociatedIpv6PoolCidrs API operation for Amazon Elastic Compute Cloud.
27439//
27440// Gets information about the IPv6 CIDR block associations for a specified IPv6
27441// address pool.
27442//
27443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27444// with awserr.Error's Code and Message methods to get detailed information about
27445// the error.
27446//
27447// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27448// API operation GetAssociatedIpv6PoolCidrs for usage and error information.
27449// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetAssociatedIpv6PoolCidrs
27450func (c *EC2) GetAssociatedIpv6PoolCidrs(input *GetAssociatedIpv6PoolCidrsInput) (*GetAssociatedIpv6PoolCidrsOutput, error) {
27451	req, out := c.GetAssociatedIpv6PoolCidrsRequest(input)
27452	return out, req.Send()
27453}
27454
27455// GetAssociatedIpv6PoolCidrsWithContext is the same as GetAssociatedIpv6PoolCidrs with the addition of
27456// the ability to pass a context and additional request options.
27457//
27458// See GetAssociatedIpv6PoolCidrs for details on how to use this API operation.
27459//
27460// The context must be non-nil and will be used for request cancellation. If
27461// the context is nil a panic will occur. In the future the SDK may create
27462// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27463// for more information on using Contexts.
27464func (c *EC2) GetAssociatedIpv6PoolCidrsWithContext(ctx aws.Context, input *GetAssociatedIpv6PoolCidrsInput, opts ...request.Option) (*GetAssociatedIpv6PoolCidrsOutput, error) {
27465	req, out := c.GetAssociatedIpv6PoolCidrsRequest(input)
27466	req.SetContext(ctx)
27467	req.ApplyOptions(opts...)
27468	return out, req.Send()
27469}
27470
27471// GetAssociatedIpv6PoolCidrsPages iterates over the pages of a GetAssociatedIpv6PoolCidrs operation,
27472// calling the "fn" function with the response data for each page. To stop
27473// iterating, return false from the fn function.
27474//
27475// See GetAssociatedIpv6PoolCidrs method for more information on how to use this operation.
27476//
27477// Note: This operation can generate multiple requests to a service.
27478//
27479//    // Example iterating over at most 3 pages of a GetAssociatedIpv6PoolCidrs operation.
27480//    pageNum := 0
27481//    err := client.GetAssociatedIpv6PoolCidrsPages(params,
27482//        func(page *ec2.GetAssociatedIpv6PoolCidrsOutput, lastPage bool) bool {
27483//            pageNum++
27484//            fmt.Println(page)
27485//            return pageNum <= 3
27486//        })
27487//
27488func (c *EC2) GetAssociatedIpv6PoolCidrsPages(input *GetAssociatedIpv6PoolCidrsInput, fn func(*GetAssociatedIpv6PoolCidrsOutput, bool) bool) error {
27489	return c.GetAssociatedIpv6PoolCidrsPagesWithContext(aws.BackgroundContext(), input, fn)
27490}
27491
27492// GetAssociatedIpv6PoolCidrsPagesWithContext same as GetAssociatedIpv6PoolCidrsPages except
27493// it takes a Context and allows setting request options on the pages.
27494//
27495// The context must be non-nil and will be used for request cancellation. If
27496// the context is nil a panic will occur. In the future the SDK may create
27497// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27498// for more information on using Contexts.
27499func (c *EC2) GetAssociatedIpv6PoolCidrsPagesWithContext(ctx aws.Context, input *GetAssociatedIpv6PoolCidrsInput, fn func(*GetAssociatedIpv6PoolCidrsOutput, bool) bool, opts ...request.Option) error {
27500	p := request.Pagination{
27501		NewRequest: func() (*request.Request, error) {
27502			var inCpy *GetAssociatedIpv6PoolCidrsInput
27503			if input != nil {
27504				tmp := *input
27505				inCpy = &tmp
27506			}
27507			req, _ := c.GetAssociatedIpv6PoolCidrsRequest(inCpy)
27508			req.SetContext(ctx)
27509			req.ApplyOptions(opts...)
27510			return req, nil
27511		},
27512	}
27513
27514	for p.Next() {
27515		if !fn(p.Page().(*GetAssociatedIpv6PoolCidrsOutput), !p.HasNextPage()) {
27516			break
27517		}
27518	}
27519
27520	return p.Err()
27521}
27522
27523const opGetCapacityReservationUsage = "GetCapacityReservationUsage"
27524
27525// GetCapacityReservationUsageRequest generates a "aws/request.Request" representing the
27526// client's request for the GetCapacityReservationUsage operation. The "output" return
27527// value will be populated with the request's response once the request completes
27528// successfully.
27529//
27530// Use "Send" method on the returned Request to send the API call to the service.
27531// the "output" return value is not valid until after Send returns without error.
27532//
27533// See GetCapacityReservationUsage for more information on using the GetCapacityReservationUsage
27534// API call, and error handling.
27535//
27536// This method is useful when you want to inject custom logic or configuration
27537// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27538//
27539//
27540//    // Example sending a request using the GetCapacityReservationUsageRequest method.
27541//    req, resp := client.GetCapacityReservationUsageRequest(params)
27542//
27543//    err := req.Send()
27544//    if err == nil { // resp is now filled
27545//        fmt.Println(resp)
27546//    }
27547//
27548// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage
27549func (c *EC2) GetCapacityReservationUsageRequest(input *GetCapacityReservationUsageInput) (req *request.Request, output *GetCapacityReservationUsageOutput) {
27550	op := &request.Operation{
27551		Name:       opGetCapacityReservationUsage,
27552		HTTPMethod: "POST",
27553		HTTPPath:   "/",
27554	}
27555
27556	if input == nil {
27557		input = &GetCapacityReservationUsageInput{}
27558	}
27559
27560	output = &GetCapacityReservationUsageOutput{}
27561	req = c.newRequest(op, input, output)
27562	return
27563}
27564
27565// GetCapacityReservationUsage API operation for Amazon Elastic Compute Cloud.
27566//
27567// Gets usage information about a Capacity Reservation. If the Capacity Reservation
27568// is shared, it shows usage information for the Capacity Reservation owner
27569// and each AWS account that is currently using the shared capacity. If the
27570// Capacity Reservation is not shared, it shows only the Capacity Reservation
27571// owner's usage.
27572//
27573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27574// with awserr.Error's Code and Message methods to get detailed information about
27575// the error.
27576//
27577// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27578// API operation GetCapacityReservationUsage for usage and error information.
27579// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage
27580func (c *EC2) GetCapacityReservationUsage(input *GetCapacityReservationUsageInput) (*GetCapacityReservationUsageOutput, error) {
27581	req, out := c.GetCapacityReservationUsageRequest(input)
27582	return out, req.Send()
27583}
27584
27585// GetCapacityReservationUsageWithContext is the same as GetCapacityReservationUsage with the addition of
27586// the ability to pass a context and additional request options.
27587//
27588// See GetCapacityReservationUsage for details on how to use this API operation.
27589//
27590// The context must be non-nil and will be used for request cancellation. If
27591// the context is nil a panic will occur. In the future the SDK may create
27592// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27593// for more information on using Contexts.
27594func (c *EC2) GetCapacityReservationUsageWithContext(ctx aws.Context, input *GetCapacityReservationUsageInput, opts ...request.Option) (*GetCapacityReservationUsageOutput, error) {
27595	req, out := c.GetCapacityReservationUsageRequest(input)
27596	req.SetContext(ctx)
27597	req.ApplyOptions(opts...)
27598	return out, req.Send()
27599}
27600
27601const opGetCoipPoolUsage = "GetCoipPoolUsage"
27602
27603// GetCoipPoolUsageRequest generates a "aws/request.Request" representing the
27604// client's request for the GetCoipPoolUsage operation. The "output" return
27605// value will be populated with the request's response once the request completes
27606// successfully.
27607//
27608// Use "Send" method on the returned Request to send the API call to the service.
27609// the "output" return value is not valid until after Send returns without error.
27610//
27611// See GetCoipPoolUsage for more information on using the GetCoipPoolUsage
27612// API call, and error handling.
27613//
27614// This method is useful when you want to inject custom logic or configuration
27615// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27616//
27617//
27618//    // Example sending a request using the GetCoipPoolUsageRequest method.
27619//    req, resp := client.GetCoipPoolUsageRequest(params)
27620//
27621//    err := req.Send()
27622//    if err == nil { // resp is now filled
27623//        fmt.Println(resp)
27624//    }
27625//
27626// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
27627func (c *EC2) GetCoipPoolUsageRequest(input *GetCoipPoolUsageInput) (req *request.Request, output *GetCoipPoolUsageOutput) {
27628	op := &request.Operation{
27629		Name:       opGetCoipPoolUsage,
27630		HTTPMethod: "POST",
27631		HTTPPath:   "/",
27632	}
27633
27634	if input == nil {
27635		input = &GetCoipPoolUsageInput{}
27636	}
27637
27638	output = &GetCoipPoolUsageOutput{}
27639	req = c.newRequest(op, input, output)
27640	return
27641}
27642
27643// GetCoipPoolUsage API operation for Amazon Elastic Compute Cloud.
27644//
27645// Describes the allocations from the specified customer-owned address pool.
27646//
27647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27648// with awserr.Error's Code and Message methods to get detailed information about
27649// the error.
27650//
27651// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27652// API operation GetCoipPoolUsage for usage and error information.
27653// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
27654func (c *EC2) GetCoipPoolUsage(input *GetCoipPoolUsageInput) (*GetCoipPoolUsageOutput, error) {
27655	req, out := c.GetCoipPoolUsageRequest(input)
27656	return out, req.Send()
27657}
27658
27659// GetCoipPoolUsageWithContext is the same as GetCoipPoolUsage with the addition of
27660// the ability to pass a context and additional request options.
27661//
27662// See GetCoipPoolUsage for details on how to use this API operation.
27663//
27664// The context must be non-nil and will be used for request cancellation. If
27665// the context is nil a panic will occur. In the future the SDK may create
27666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27667// for more information on using Contexts.
27668func (c *EC2) GetCoipPoolUsageWithContext(ctx aws.Context, input *GetCoipPoolUsageInput, opts ...request.Option) (*GetCoipPoolUsageOutput, error) {
27669	req, out := c.GetCoipPoolUsageRequest(input)
27670	req.SetContext(ctx)
27671	req.ApplyOptions(opts...)
27672	return out, req.Send()
27673}
27674
27675const opGetConsoleOutput = "GetConsoleOutput"
27676
27677// GetConsoleOutputRequest generates a "aws/request.Request" representing the
27678// client's request for the GetConsoleOutput operation. The "output" return
27679// value will be populated with the request's response once the request completes
27680// successfully.
27681//
27682// Use "Send" method on the returned Request to send the API call to the service.
27683// the "output" return value is not valid until after Send returns without error.
27684//
27685// See GetConsoleOutput for more information on using the GetConsoleOutput
27686// API call, and error handling.
27687//
27688// This method is useful when you want to inject custom logic or configuration
27689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27690//
27691//
27692//    // Example sending a request using the GetConsoleOutputRequest method.
27693//    req, resp := client.GetConsoleOutputRequest(params)
27694//
27695//    err := req.Send()
27696//    if err == nil { // resp is now filled
27697//        fmt.Println(resp)
27698//    }
27699//
27700// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
27701func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
27702	op := &request.Operation{
27703		Name:       opGetConsoleOutput,
27704		HTTPMethod: "POST",
27705		HTTPPath:   "/",
27706	}
27707
27708	if input == nil {
27709		input = &GetConsoleOutputInput{}
27710	}
27711
27712	output = &GetConsoleOutputOutput{}
27713	req = c.newRequest(op, input, output)
27714	return
27715}
27716
27717// GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
27718//
27719// Gets the console output for the specified instance. For Linux instances,
27720// the instance console output displays the exact console output that would
27721// normally be displayed on a physical monitor attached to a computer. For Windows
27722// instances, the instance console output includes the last three system event
27723// log errors.
27724//
27725// By default, the console output returns buffered information that was posted
27726// shortly after an instance transition state (start, stop, reboot, or terminate).
27727// This information is available for at least one hour after the most recent
27728// post. Only the most recent 64 KB of console output is available.
27729//
27730// You can optionally retrieve the latest serial console output at any time
27731// during the instance lifecycle. This option is supported on instance types
27732// that use the Nitro hypervisor.
27733//
27734// For more information, see Instance Console Output (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output)
27735// in the Amazon Elastic Compute Cloud User Guide.
27736//
27737// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27738// with awserr.Error's Code and Message methods to get detailed information about
27739// the error.
27740//
27741// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27742// API operation GetConsoleOutput for usage and error information.
27743// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
27744func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
27745	req, out := c.GetConsoleOutputRequest(input)
27746	return out, req.Send()
27747}
27748
27749// GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
27750// the ability to pass a context and additional request options.
27751//
27752// See GetConsoleOutput for details on how to use this API operation.
27753//
27754// The context must be non-nil and will be used for request cancellation. If
27755// the context is nil a panic will occur. In the future the SDK may create
27756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27757// for more information on using Contexts.
27758func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
27759	req, out := c.GetConsoleOutputRequest(input)
27760	req.SetContext(ctx)
27761	req.ApplyOptions(opts...)
27762	return out, req.Send()
27763}
27764
27765const opGetConsoleScreenshot = "GetConsoleScreenshot"
27766
27767// GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
27768// client's request for the GetConsoleScreenshot operation. The "output" return
27769// value will be populated with the request's response once the request completes
27770// successfully.
27771//
27772// Use "Send" method on the returned Request to send the API call to the service.
27773// the "output" return value is not valid until after Send returns without error.
27774//
27775// See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
27776// API call, and error handling.
27777//
27778// This method is useful when you want to inject custom logic or configuration
27779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27780//
27781//
27782//    // Example sending a request using the GetConsoleScreenshotRequest method.
27783//    req, resp := client.GetConsoleScreenshotRequest(params)
27784//
27785//    err := req.Send()
27786//    if err == nil { // resp is now filled
27787//        fmt.Println(resp)
27788//    }
27789//
27790// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
27791func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
27792	op := &request.Operation{
27793		Name:       opGetConsoleScreenshot,
27794		HTTPMethod: "POST",
27795		HTTPPath:   "/",
27796	}
27797
27798	if input == nil {
27799		input = &GetConsoleScreenshotInput{}
27800	}
27801
27802	output = &GetConsoleScreenshotOutput{}
27803	req = c.newRequest(op, input, output)
27804	return
27805}
27806
27807// GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
27808//
27809// Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
27810//
27811// The returned content is Base64-encoded.
27812//
27813// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27814// with awserr.Error's Code and Message methods to get detailed information about
27815// the error.
27816//
27817// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27818// API operation GetConsoleScreenshot for usage and error information.
27819// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
27820func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
27821	req, out := c.GetConsoleScreenshotRequest(input)
27822	return out, req.Send()
27823}
27824
27825// GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
27826// the ability to pass a context and additional request options.
27827//
27828// See GetConsoleScreenshot for details on how to use this API operation.
27829//
27830// The context must be non-nil and will be used for request cancellation. If
27831// the context is nil a panic will occur. In the future the SDK may create
27832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27833// for more information on using Contexts.
27834func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
27835	req, out := c.GetConsoleScreenshotRequest(input)
27836	req.SetContext(ctx)
27837	req.ApplyOptions(opts...)
27838	return out, req.Send()
27839}
27840
27841const opGetDefaultCreditSpecification = "GetDefaultCreditSpecification"
27842
27843// GetDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
27844// client's request for the GetDefaultCreditSpecification operation. The "output" return
27845// value will be populated with the request's response once the request completes
27846// successfully.
27847//
27848// Use "Send" method on the returned Request to send the API call to the service.
27849// the "output" return value is not valid until after Send returns without error.
27850//
27851// See GetDefaultCreditSpecification for more information on using the GetDefaultCreditSpecification
27852// API call, and error handling.
27853//
27854// This method is useful when you want to inject custom logic or configuration
27855// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27856//
27857//
27858//    // Example sending a request using the GetDefaultCreditSpecificationRequest method.
27859//    req, resp := client.GetDefaultCreditSpecificationRequest(params)
27860//
27861//    err := req.Send()
27862//    if err == nil { // resp is now filled
27863//        fmt.Println(resp)
27864//    }
27865//
27866// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
27867func (c *EC2) GetDefaultCreditSpecificationRequest(input *GetDefaultCreditSpecificationInput) (req *request.Request, output *GetDefaultCreditSpecificationOutput) {
27868	op := &request.Operation{
27869		Name:       opGetDefaultCreditSpecification,
27870		HTTPMethod: "POST",
27871		HTTPPath:   "/",
27872	}
27873
27874	if input == nil {
27875		input = &GetDefaultCreditSpecificationInput{}
27876	}
27877
27878	output = &GetDefaultCreditSpecificationOutput{}
27879	req = c.newRequest(op, input, output)
27880	return
27881}
27882
27883// GetDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
27884//
27885// Describes the default credit option for CPU usage of a burstable performance
27886// instance family.
27887//
27888// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
27889// in the Amazon Elastic Compute Cloud User Guide.
27890//
27891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27892// with awserr.Error's Code and Message methods to get detailed information about
27893// the error.
27894//
27895// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27896// API operation GetDefaultCreditSpecification for usage and error information.
27897// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
27898func (c *EC2) GetDefaultCreditSpecification(input *GetDefaultCreditSpecificationInput) (*GetDefaultCreditSpecificationOutput, error) {
27899	req, out := c.GetDefaultCreditSpecificationRequest(input)
27900	return out, req.Send()
27901}
27902
27903// GetDefaultCreditSpecificationWithContext is the same as GetDefaultCreditSpecification with the addition of
27904// the ability to pass a context and additional request options.
27905//
27906// See GetDefaultCreditSpecification for details on how to use this API operation.
27907//
27908// The context must be non-nil and will be used for request cancellation. If
27909// the context is nil a panic will occur. In the future the SDK may create
27910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27911// for more information on using Contexts.
27912func (c *EC2) GetDefaultCreditSpecificationWithContext(ctx aws.Context, input *GetDefaultCreditSpecificationInput, opts ...request.Option) (*GetDefaultCreditSpecificationOutput, error) {
27913	req, out := c.GetDefaultCreditSpecificationRequest(input)
27914	req.SetContext(ctx)
27915	req.ApplyOptions(opts...)
27916	return out, req.Send()
27917}
27918
27919const opGetEbsDefaultKmsKeyId = "GetEbsDefaultKmsKeyId"
27920
27921// GetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
27922// client's request for the GetEbsDefaultKmsKeyId operation. The "output" return
27923// value will be populated with the request's response once the request completes
27924// successfully.
27925//
27926// Use "Send" method on the returned Request to send the API call to the service.
27927// the "output" return value is not valid until after Send returns without error.
27928//
27929// See GetEbsDefaultKmsKeyId for more information on using the GetEbsDefaultKmsKeyId
27930// API call, and error handling.
27931//
27932// This method is useful when you want to inject custom logic or configuration
27933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27934//
27935//
27936//    // Example sending a request using the GetEbsDefaultKmsKeyIdRequest method.
27937//    req, resp := client.GetEbsDefaultKmsKeyIdRequest(params)
27938//
27939//    err := req.Send()
27940//    if err == nil { // resp is now filled
27941//        fmt.Println(resp)
27942//    }
27943//
27944// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
27945func (c *EC2) GetEbsDefaultKmsKeyIdRequest(input *GetEbsDefaultKmsKeyIdInput) (req *request.Request, output *GetEbsDefaultKmsKeyIdOutput) {
27946	op := &request.Operation{
27947		Name:       opGetEbsDefaultKmsKeyId,
27948		HTTPMethod: "POST",
27949		HTTPPath:   "/",
27950	}
27951
27952	if input == nil {
27953		input = &GetEbsDefaultKmsKeyIdInput{}
27954	}
27955
27956	output = &GetEbsDefaultKmsKeyIdOutput{}
27957	req = c.newRequest(op, input, output)
27958	return
27959}
27960
27961// GetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
27962//
27963// Describes the default customer master key (CMK) for EBS encryption by default
27964// for your account in this Region. You can change the default CMK for encryption
27965// by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
27966//
27967// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
27968// in the Amazon Elastic Compute Cloud User Guide.
27969//
27970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27971// with awserr.Error's Code and Message methods to get detailed information about
27972// the error.
27973//
27974// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27975// API operation GetEbsDefaultKmsKeyId for usage and error information.
27976// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
27977func (c *EC2) GetEbsDefaultKmsKeyId(input *GetEbsDefaultKmsKeyIdInput) (*GetEbsDefaultKmsKeyIdOutput, error) {
27978	req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
27979	return out, req.Send()
27980}
27981
27982// GetEbsDefaultKmsKeyIdWithContext is the same as GetEbsDefaultKmsKeyId with the addition of
27983// the ability to pass a context and additional request options.
27984//
27985// See GetEbsDefaultKmsKeyId for details on how to use this API operation.
27986//
27987// The context must be non-nil and will be used for request cancellation. If
27988// the context is nil a panic will occur. In the future the SDK may create
27989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27990// for more information on using Contexts.
27991func (c *EC2) GetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *GetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*GetEbsDefaultKmsKeyIdOutput, error) {
27992	req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
27993	req.SetContext(ctx)
27994	req.ApplyOptions(opts...)
27995	return out, req.Send()
27996}
27997
27998const opGetEbsEncryptionByDefault = "GetEbsEncryptionByDefault"
27999
28000// GetEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
28001// client's request for the GetEbsEncryptionByDefault operation. The "output" return
28002// value will be populated with the request's response once the request completes
28003// successfully.
28004//
28005// Use "Send" method on the returned Request to send the API call to the service.
28006// the "output" return value is not valid until after Send returns without error.
28007//
28008// See GetEbsEncryptionByDefault for more information on using the GetEbsEncryptionByDefault
28009// API call, and error handling.
28010//
28011// This method is useful when you want to inject custom logic or configuration
28012// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28013//
28014//
28015//    // Example sending a request using the GetEbsEncryptionByDefaultRequest method.
28016//    req, resp := client.GetEbsEncryptionByDefaultRequest(params)
28017//
28018//    err := req.Send()
28019//    if err == nil { // resp is now filled
28020//        fmt.Println(resp)
28021//    }
28022//
28023// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
28024func (c *EC2) GetEbsEncryptionByDefaultRequest(input *GetEbsEncryptionByDefaultInput) (req *request.Request, output *GetEbsEncryptionByDefaultOutput) {
28025	op := &request.Operation{
28026		Name:       opGetEbsEncryptionByDefault,
28027		HTTPMethod: "POST",
28028		HTTPPath:   "/",
28029	}
28030
28031	if input == nil {
28032		input = &GetEbsEncryptionByDefaultInput{}
28033	}
28034
28035	output = &GetEbsEncryptionByDefaultOutput{}
28036	req = c.newRequest(op, input, output)
28037	return
28038}
28039
28040// GetEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
28041//
28042// Describes whether EBS encryption by default is enabled for your account in
28043// the current Region.
28044//
28045// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
28046// in the Amazon Elastic Compute Cloud User Guide.
28047//
28048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28049// with awserr.Error's Code and Message methods to get detailed information about
28050// the error.
28051//
28052// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28053// API operation GetEbsEncryptionByDefault for usage and error information.
28054// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
28055func (c *EC2) GetEbsEncryptionByDefault(input *GetEbsEncryptionByDefaultInput) (*GetEbsEncryptionByDefaultOutput, error) {
28056	req, out := c.GetEbsEncryptionByDefaultRequest(input)
28057	return out, req.Send()
28058}
28059
28060// GetEbsEncryptionByDefaultWithContext is the same as GetEbsEncryptionByDefault with the addition of
28061// the ability to pass a context and additional request options.
28062//
28063// See GetEbsEncryptionByDefault for details on how to use this API operation.
28064//
28065// The context must be non-nil and will be used for request cancellation. If
28066// the context is nil a panic will occur. In the future the SDK may create
28067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28068// for more information on using Contexts.
28069func (c *EC2) GetEbsEncryptionByDefaultWithContext(ctx aws.Context, input *GetEbsEncryptionByDefaultInput, opts ...request.Option) (*GetEbsEncryptionByDefaultOutput, error) {
28070	req, out := c.GetEbsEncryptionByDefaultRequest(input)
28071	req.SetContext(ctx)
28072	req.ApplyOptions(opts...)
28073	return out, req.Send()
28074}
28075
28076const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
28077
28078// GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
28079// client's request for the GetHostReservationPurchasePreview operation. The "output" return
28080// value will be populated with the request's response once the request completes
28081// successfully.
28082//
28083// Use "Send" method on the returned Request to send the API call to the service.
28084// the "output" return value is not valid until after Send returns without error.
28085//
28086// See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
28087// API call, and error handling.
28088//
28089// This method is useful when you want to inject custom logic or configuration
28090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28091//
28092//
28093//    // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
28094//    req, resp := client.GetHostReservationPurchasePreviewRequest(params)
28095//
28096//    err := req.Send()
28097//    if err == nil { // resp is now filled
28098//        fmt.Println(resp)
28099//    }
28100//
28101// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
28102func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
28103	op := &request.Operation{
28104		Name:       opGetHostReservationPurchasePreview,
28105		HTTPMethod: "POST",
28106		HTTPPath:   "/",
28107	}
28108
28109	if input == nil {
28110		input = &GetHostReservationPurchasePreviewInput{}
28111	}
28112
28113	output = &GetHostReservationPurchasePreviewOutput{}
28114	req = c.newRequest(op, input, output)
28115	return
28116}
28117
28118// GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
28119//
28120// Preview a reservation purchase with configurations that match those of your
28121// Dedicated Host. You must have active Dedicated Hosts in your account before
28122// you purchase a reservation.
28123//
28124// This is a preview of the PurchaseHostReservation action and does not result
28125// in the offering being purchased.
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 GetHostReservationPurchasePreview for usage and error information.
28133// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
28134func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
28135	req, out := c.GetHostReservationPurchasePreviewRequest(input)
28136	return out, req.Send()
28137}
28138
28139// GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
28140// the ability to pass a context and additional request options.
28141//
28142// See GetHostReservationPurchasePreview 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) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
28149	req, out := c.GetHostReservationPurchasePreviewRequest(input)
28150	req.SetContext(ctx)
28151	req.ApplyOptions(opts...)
28152	return out, req.Send()
28153}
28154
28155const opGetLaunchTemplateData = "GetLaunchTemplateData"
28156
28157// GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the
28158// client's request for the GetLaunchTemplateData operation. The "output" return
28159// value will be populated with the request's response once the request completes
28160// successfully.
28161//
28162// Use "Send" method on the returned Request to send the API call to the service.
28163// the "output" return value is not valid until after Send returns without error.
28164//
28165// See GetLaunchTemplateData for more information on using the GetLaunchTemplateData
28166// API call, and error handling.
28167//
28168// This method is useful when you want to inject custom logic or configuration
28169// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28170//
28171//
28172//    // Example sending a request using the GetLaunchTemplateDataRequest method.
28173//    req, resp := client.GetLaunchTemplateDataRequest(params)
28174//
28175//    err := req.Send()
28176//    if err == nil { // resp is now filled
28177//        fmt.Println(resp)
28178//    }
28179//
28180// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
28181func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (req *request.Request, output *GetLaunchTemplateDataOutput) {
28182	op := &request.Operation{
28183		Name:       opGetLaunchTemplateData,
28184		HTTPMethod: "POST",
28185		HTTPPath:   "/",
28186	}
28187
28188	if input == nil {
28189		input = &GetLaunchTemplateDataInput{}
28190	}
28191
28192	output = &GetLaunchTemplateDataOutput{}
28193	req = c.newRequest(op, input, output)
28194	return
28195}
28196
28197// GetLaunchTemplateData API operation for Amazon Elastic Compute Cloud.
28198//
28199// Retrieves the configuration data of the specified instance. You can use this
28200// data to create a launch template.
28201//
28202// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28203// with awserr.Error's Code and Message methods to get detailed information about
28204// the error.
28205//
28206// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28207// API operation GetLaunchTemplateData for usage and error information.
28208// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
28209func (c *EC2) GetLaunchTemplateData(input *GetLaunchTemplateDataInput) (*GetLaunchTemplateDataOutput, error) {
28210	req, out := c.GetLaunchTemplateDataRequest(input)
28211	return out, req.Send()
28212}
28213
28214// GetLaunchTemplateDataWithContext is the same as GetLaunchTemplateData with the addition of
28215// the ability to pass a context and additional request options.
28216//
28217// See GetLaunchTemplateData for details on how to use this API operation.
28218//
28219// The context must be non-nil and will be used for request cancellation. If
28220// the context is nil a panic will occur. In the future the SDK may create
28221// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28222// for more information on using Contexts.
28223func (c *EC2) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunchTemplateDataInput, opts ...request.Option) (*GetLaunchTemplateDataOutput, error) {
28224	req, out := c.GetLaunchTemplateDataRequest(input)
28225	req.SetContext(ctx)
28226	req.ApplyOptions(opts...)
28227	return out, req.Send()
28228}
28229
28230const opGetPasswordData = "GetPasswordData"
28231
28232// GetPasswordDataRequest generates a "aws/request.Request" representing the
28233// client's request for the GetPasswordData operation. The "output" return
28234// value will be populated with the request's response once the request completes
28235// successfully.
28236//
28237// Use "Send" method on the returned Request to send the API call to the service.
28238// the "output" return value is not valid until after Send returns without error.
28239//
28240// See GetPasswordData for more information on using the GetPasswordData
28241// API call, and error handling.
28242//
28243// This method is useful when you want to inject custom logic or configuration
28244// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28245//
28246//
28247//    // Example sending a request using the GetPasswordDataRequest method.
28248//    req, resp := client.GetPasswordDataRequest(params)
28249//
28250//    err := req.Send()
28251//    if err == nil { // resp is now filled
28252//        fmt.Println(resp)
28253//    }
28254//
28255// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
28256func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
28257	op := &request.Operation{
28258		Name:       opGetPasswordData,
28259		HTTPMethod: "POST",
28260		HTTPPath:   "/",
28261	}
28262
28263	if input == nil {
28264		input = &GetPasswordDataInput{}
28265	}
28266
28267	output = &GetPasswordDataOutput{}
28268	req = c.newRequest(op, input, output)
28269	return
28270}
28271
28272// GetPasswordData API operation for Amazon Elastic Compute Cloud.
28273//
28274// Retrieves the encrypted administrator password for a running Windows instance.
28275//
28276// The Windows password is generated at boot by the EC2Config service or EC2Launch
28277// scripts (Windows Server 2016 and later). This usually only happens the first
28278// time an instance is launched. For more information, see EC2Config (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html)
28279// and EC2Launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html)
28280// in the Amazon Elastic Compute Cloud User Guide.
28281//
28282// For the EC2Config service, the password is not generated for rebundled AMIs
28283// unless Ec2SetPassword is enabled before bundling.
28284//
28285// The password is encrypted using the key pair that you specified when you
28286// launched the instance. You must provide the corresponding key pair file.
28287//
28288// When you launch an instance, password generation and encryption may take
28289// a few minutes. If you try to retrieve the password before it's available,
28290// the output returns an empty string. We recommend that you wait up to 15 minutes
28291// after launching an instance before trying to retrieve the generated password.
28292//
28293// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28294// with awserr.Error's Code and Message methods to get detailed information about
28295// the error.
28296//
28297// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28298// API operation GetPasswordData for usage and error information.
28299// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
28300func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
28301	req, out := c.GetPasswordDataRequest(input)
28302	return out, req.Send()
28303}
28304
28305// GetPasswordDataWithContext is the same as GetPasswordData with the addition of
28306// the ability to pass a context and additional request options.
28307//
28308// See GetPasswordData for details on how to use this API operation.
28309//
28310// The context must be non-nil and will be used for request cancellation. If
28311// the context is nil a panic will occur. In the future the SDK may create
28312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28313// for more information on using Contexts.
28314func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
28315	req, out := c.GetPasswordDataRequest(input)
28316	req.SetContext(ctx)
28317	req.ApplyOptions(opts...)
28318	return out, req.Send()
28319}
28320
28321const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
28322
28323// GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
28324// client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
28325// value will be populated with the request's response once the request completes
28326// successfully.
28327//
28328// Use "Send" method on the returned Request to send the API call to the service.
28329// the "output" return value is not valid until after Send returns without error.
28330//
28331// See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
28332// API call, and error handling.
28333//
28334// This method is useful when you want to inject custom logic or configuration
28335// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28336//
28337//
28338//    // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
28339//    req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
28340//
28341//    err := req.Send()
28342//    if err == nil { // resp is now filled
28343//        fmt.Println(resp)
28344//    }
28345//
28346// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
28347func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
28348	op := &request.Operation{
28349		Name:       opGetReservedInstancesExchangeQuote,
28350		HTTPMethod: "POST",
28351		HTTPPath:   "/",
28352	}
28353
28354	if input == nil {
28355		input = &GetReservedInstancesExchangeQuoteInput{}
28356	}
28357
28358	output = &GetReservedInstancesExchangeQuoteOutput{}
28359	req = c.newRequest(op, input, output)
28360	return
28361}
28362
28363// GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
28364//
28365// Returns a quote and exchange information for exchanging one or more specified
28366// Convertible Reserved Instances for a new Convertible Reserved Instance. If
28367// the exchange cannot be performed, the reason is returned in the response.
28368// Use AcceptReservedInstancesExchangeQuote to perform the exchange.
28369//
28370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28371// with awserr.Error's Code and Message methods to get detailed information about
28372// the error.
28373//
28374// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28375// API operation GetReservedInstancesExchangeQuote for usage and error information.
28376// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
28377func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
28378	req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
28379	return out, req.Send()
28380}
28381
28382// GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
28383// the ability to pass a context and additional request options.
28384//
28385// See GetReservedInstancesExchangeQuote for details on how to use this API operation.
28386//
28387// The context must be non-nil and will be used for request cancellation. If
28388// the context is nil a panic will occur. In the future the SDK may create
28389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28390// for more information on using Contexts.
28391func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
28392	req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
28393	req.SetContext(ctx)
28394	req.ApplyOptions(opts...)
28395	return out, req.Send()
28396}
28397
28398const opGetTransitGatewayAttachmentPropagations = "GetTransitGatewayAttachmentPropagations"
28399
28400// GetTransitGatewayAttachmentPropagationsRequest generates a "aws/request.Request" representing the
28401// client's request for the GetTransitGatewayAttachmentPropagations operation. The "output" return
28402// value will be populated with the request's response once the request completes
28403// successfully.
28404//
28405// Use "Send" method on the returned Request to send the API call to the service.
28406// the "output" return value is not valid until after Send returns without error.
28407//
28408// See GetTransitGatewayAttachmentPropagations for more information on using the GetTransitGatewayAttachmentPropagations
28409// API call, and error handling.
28410//
28411// This method is useful when you want to inject custom logic or configuration
28412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28413//
28414//
28415//    // Example sending a request using the GetTransitGatewayAttachmentPropagationsRequest method.
28416//    req, resp := client.GetTransitGatewayAttachmentPropagationsRequest(params)
28417//
28418//    err := req.Send()
28419//    if err == nil { // resp is now filled
28420//        fmt.Println(resp)
28421//    }
28422//
28423// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
28424func (c *EC2) GetTransitGatewayAttachmentPropagationsRequest(input *GetTransitGatewayAttachmentPropagationsInput) (req *request.Request, output *GetTransitGatewayAttachmentPropagationsOutput) {
28425	op := &request.Operation{
28426		Name:       opGetTransitGatewayAttachmentPropagations,
28427		HTTPMethod: "POST",
28428		HTTPPath:   "/",
28429		Paginator: &request.Paginator{
28430			InputTokens:     []string{"NextToken"},
28431			OutputTokens:    []string{"NextToken"},
28432			LimitToken:      "MaxResults",
28433			TruncationToken: "",
28434		},
28435	}
28436
28437	if input == nil {
28438		input = &GetTransitGatewayAttachmentPropagationsInput{}
28439	}
28440
28441	output = &GetTransitGatewayAttachmentPropagationsOutput{}
28442	req = c.newRequest(op, input, output)
28443	return
28444}
28445
28446// GetTransitGatewayAttachmentPropagations API operation for Amazon Elastic Compute Cloud.
28447//
28448// Lists the route tables to which the specified resource attachment propagates
28449// routes.
28450//
28451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28452// with awserr.Error's Code and Message methods to get detailed information about
28453// the error.
28454//
28455// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28456// API operation GetTransitGatewayAttachmentPropagations for usage and error information.
28457// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
28458func (c *EC2) GetTransitGatewayAttachmentPropagations(input *GetTransitGatewayAttachmentPropagationsInput) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
28459	req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
28460	return out, req.Send()
28461}
28462
28463// GetTransitGatewayAttachmentPropagationsWithContext is the same as GetTransitGatewayAttachmentPropagations with the addition of
28464// the ability to pass a context and additional request options.
28465//
28466// See GetTransitGatewayAttachmentPropagations for details on how to use this API operation.
28467//
28468// The context must be non-nil and will be used for request cancellation. If
28469// the context is nil a panic will occur. In the future the SDK may create
28470// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28471// for more information on using Contexts.
28472func (c *EC2) GetTransitGatewayAttachmentPropagationsWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, opts ...request.Option) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
28473	req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
28474	req.SetContext(ctx)
28475	req.ApplyOptions(opts...)
28476	return out, req.Send()
28477}
28478
28479// GetTransitGatewayAttachmentPropagationsPages iterates over the pages of a GetTransitGatewayAttachmentPropagations operation,
28480// calling the "fn" function with the response data for each page. To stop
28481// iterating, return false from the fn function.
28482//
28483// See GetTransitGatewayAttachmentPropagations method for more information on how to use this operation.
28484//
28485// Note: This operation can generate multiple requests to a service.
28486//
28487//    // Example iterating over at most 3 pages of a GetTransitGatewayAttachmentPropagations operation.
28488//    pageNum := 0
28489//    err := client.GetTransitGatewayAttachmentPropagationsPages(params,
28490//        func(page *ec2.GetTransitGatewayAttachmentPropagationsOutput, lastPage bool) bool {
28491//            pageNum++
28492//            fmt.Println(page)
28493//            return pageNum <= 3
28494//        })
28495//
28496func (c *EC2) GetTransitGatewayAttachmentPropagationsPages(input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool) error {
28497	return c.GetTransitGatewayAttachmentPropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
28498}
28499
28500// GetTransitGatewayAttachmentPropagationsPagesWithContext same as GetTransitGatewayAttachmentPropagationsPages except
28501// it takes a Context and allows setting request options on the pages.
28502//
28503// The context must be non-nil and will be used for request cancellation. If
28504// the context is nil a panic will occur. In the future the SDK may create
28505// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28506// for more information on using Contexts.
28507func (c *EC2) GetTransitGatewayAttachmentPropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool, opts ...request.Option) error {
28508	p := request.Pagination{
28509		NewRequest: func() (*request.Request, error) {
28510			var inCpy *GetTransitGatewayAttachmentPropagationsInput
28511			if input != nil {
28512				tmp := *input
28513				inCpy = &tmp
28514			}
28515			req, _ := c.GetTransitGatewayAttachmentPropagationsRequest(inCpy)
28516			req.SetContext(ctx)
28517			req.ApplyOptions(opts...)
28518			return req, nil
28519		},
28520	}
28521
28522	for p.Next() {
28523		if !fn(p.Page().(*GetTransitGatewayAttachmentPropagationsOutput), !p.HasNextPage()) {
28524			break
28525		}
28526	}
28527
28528	return p.Err()
28529}
28530
28531const opGetTransitGatewayMulticastDomainAssociations = "GetTransitGatewayMulticastDomainAssociations"
28532
28533// GetTransitGatewayMulticastDomainAssociationsRequest generates a "aws/request.Request" representing the
28534// client's request for the GetTransitGatewayMulticastDomainAssociations operation. The "output" return
28535// value will be populated with the request's response once the request completes
28536// successfully.
28537//
28538// Use "Send" method on the returned Request to send the API call to the service.
28539// the "output" return value is not valid until after Send returns without error.
28540//
28541// See GetTransitGatewayMulticastDomainAssociations for more information on using the GetTransitGatewayMulticastDomainAssociations
28542// API call, and error handling.
28543//
28544// This method is useful when you want to inject custom logic or configuration
28545// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28546//
28547//
28548//    // Example sending a request using the GetTransitGatewayMulticastDomainAssociationsRequest method.
28549//    req, resp := client.GetTransitGatewayMulticastDomainAssociationsRequest(params)
28550//
28551//    err := req.Send()
28552//    if err == nil { // resp is now filled
28553//        fmt.Println(resp)
28554//    }
28555//
28556// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
28557func (c *EC2) GetTransitGatewayMulticastDomainAssociationsRequest(input *GetTransitGatewayMulticastDomainAssociationsInput) (req *request.Request, output *GetTransitGatewayMulticastDomainAssociationsOutput) {
28558	op := &request.Operation{
28559		Name:       opGetTransitGatewayMulticastDomainAssociations,
28560		HTTPMethod: "POST",
28561		HTTPPath:   "/",
28562		Paginator: &request.Paginator{
28563			InputTokens:     []string{"NextToken"},
28564			OutputTokens:    []string{"NextToken"},
28565			LimitToken:      "MaxResults",
28566			TruncationToken: "",
28567		},
28568	}
28569
28570	if input == nil {
28571		input = &GetTransitGatewayMulticastDomainAssociationsInput{}
28572	}
28573
28574	output = &GetTransitGatewayMulticastDomainAssociationsOutput{}
28575	req = c.newRequest(op, input, output)
28576	return
28577}
28578
28579// GetTransitGatewayMulticastDomainAssociations API operation for Amazon Elastic Compute Cloud.
28580//
28581// Gets information about the associations for the transit gateway multicast
28582// domain.
28583//
28584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28585// with awserr.Error's Code and Message methods to get detailed information about
28586// the error.
28587//
28588// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28589// API operation GetTransitGatewayMulticastDomainAssociations for usage and error information.
28590// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
28591func (c *EC2) GetTransitGatewayMulticastDomainAssociations(input *GetTransitGatewayMulticastDomainAssociationsInput) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
28592	req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
28593	return out, req.Send()
28594}
28595
28596// GetTransitGatewayMulticastDomainAssociationsWithContext is the same as GetTransitGatewayMulticastDomainAssociations with the addition of
28597// the ability to pass a context and additional request options.
28598//
28599// See GetTransitGatewayMulticastDomainAssociations for details on how to use this API operation.
28600//
28601// The context must be non-nil and will be used for request cancellation. If
28602// the context is nil a panic will occur. In the future the SDK may create
28603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28604// for more information on using Contexts.
28605func (c *EC2) GetTransitGatewayMulticastDomainAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayMulticastDomainAssociationsInput, opts ...request.Option) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
28606	req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
28607	req.SetContext(ctx)
28608	req.ApplyOptions(opts...)
28609	return out, req.Send()
28610}
28611
28612// GetTransitGatewayMulticastDomainAssociationsPages iterates over the pages of a GetTransitGatewayMulticastDomainAssociations operation,
28613// calling the "fn" function with the response data for each page. To stop
28614// iterating, return false from the fn function.
28615//
28616// See GetTransitGatewayMulticastDomainAssociations method for more information on how to use this operation.
28617//
28618// Note: This operation can generate multiple requests to a service.
28619//
28620//    // Example iterating over at most 3 pages of a GetTransitGatewayMulticastDomainAssociations operation.
28621//    pageNum := 0
28622//    err := client.GetTransitGatewayMulticastDomainAssociationsPages(params,
28623//        func(page *ec2.GetTransitGatewayMulticastDomainAssociationsOutput, lastPage bool) bool {
28624//            pageNum++
28625//            fmt.Println(page)
28626//            return pageNum <= 3
28627//        })
28628//
28629func (c *EC2) GetTransitGatewayMulticastDomainAssociationsPages(input *GetTransitGatewayMulticastDomainAssociationsInput, fn func(*GetTransitGatewayMulticastDomainAssociationsOutput, bool) bool) error {
28630	return c.GetTransitGatewayMulticastDomainAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
28631}
28632
28633// GetTransitGatewayMulticastDomainAssociationsPagesWithContext same as GetTransitGatewayMulticastDomainAssociationsPages except
28634// it takes a Context and allows setting request options on the pages.
28635//
28636// The context must be non-nil and will be used for request cancellation. If
28637// the context is nil a panic will occur. In the future the SDK may create
28638// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28639// for more information on using Contexts.
28640func (c *EC2) GetTransitGatewayMulticastDomainAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayMulticastDomainAssociationsInput, fn func(*GetTransitGatewayMulticastDomainAssociationsOutput, bool) bool, opts ...request.Option) error {
28641	p := request.Pagination{
28642		NewRequest: func() (*request.Request, error) {
28643			var inCpy *GetTransitGatewayMulticastDomainAssociationsInput
28644			if input != nil {
28645				tmp := *input
28646				inCpy = &tmp
28647			}
28648			req, _ := c.GetTransitGatewayMulticastDomainAssociationsRequest(inCpy)
28649			req.SetContext(ctx)
28650			req.ApplyOptions(opts...)
28651			return req, nil
28652		},
28653	}
28654
28655	for p.Next() {
28656		if !fn(p.Page().(*GetTransitGatewayMulticastDomainAssociationsOutput), !p.HasNextPage()) {
28657			break
28658		}
28659	}
28660
28661	return p.Err()
28662}
28663
28664const opGetTransitGatewayRouteTableAssociations = "GetTransitGatewayRouteTableAssociations"
28665
28666// GetTransitGatewayRouteTableAssociationsRequest generates a "aws/request.Request" representing the
28667// client's request for the GetTransitGatewayRouteTableAssociations operation. The "output" return
28668// value will be populated with the request's response once the request completes
28669// successfully.
28670//
28671// Use "Send" method on the returned Request to send the API call to the service.
28672// the "output" return value is not valid until after Send returns without error.
28673//
28674// See GetTransitGatewayRouteTableAssociations for more information on using the GetTransitGatewayRouteTableAssociations
28675// API call, and error handling.
28676//
28677// This method is useful when you want to inject custom logic or configuration
28678// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28679//
28680//
28681//    // Example sending a request using the GetTransitGatewayRouteTableAssociationsRequest method.
28682//    req, resp := client.GetTransitGatewayRouteTableAssociationsRequest(params)
28683//
28684//    err := req.Send()
28685//    if err == nil { // resp is now filled
28686//        fmt.Println(resp)
28687//    }
28688//
28689// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
28690func (c *EC2) GetTransitGatewayRouteTableAssociationsRequest(input *GetTransitGatewayRouteTableAssociationsInput) (req *request.Request, output *GetTransitGatewayRouteTableAssociationsOutput) {
28691	op := &request.Operation{
28692		Name:       opGetTransitGatewayRouteTableAssociations,
28693		HTTPMethod: "POST",
28694		HTTPPath:   "/",
28695		Paginator: &request.Paginator{
28696			InputTokens:     []string{"NextToken"},
28697			OutputTokens:    []string{"NextToken"},
28698			LimitToken:      "MaxResults",
28699			TruncationToken: "",
28700		},
28701	}
28702
28703	if input == nil {
28704		input = &GetTransitGatewayRouteTableAssociationsInput{}
28705	}
28706
28707	output = &GetTransitGatewayRouteTableAssociationsOutput{}
28708	req = c.newRequest(op, input, output)
28709	return
28710}
28711
28712// GetTransitGatewayRouteTableAssociations API operation for Amazon Elastic Compute Cloud.
28713//
28714// Gets information about the associations for the specified transit gateway
28715// route table.
28716//
28717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28718// with awserr.Error's Code and Message methods to get detailed information about
28719// the error.
28720//
28721// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28722// API operation GetTransitGatewayRouteTableAssociations for usage and error information.
28723// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
28724func (c *EC2) GetTransitGatewayRouteTableAssociations(input *GetTransitGatewayRouteTableAssociationsInput) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
28725	req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
28726	return out, req.Send()
28727}
28728
28729// GetTransitGatewayRouteTableAssociationsWithContext is the same as GetTransitGatewayRouteTableAssociations with the addition of
28730// the ability to pass a context and additional request options.
28731//
28732// See GetTransitGatewayRouteTableAssociations for details on how to use this API operation.
28733//
28734// The context must be non-nil and will be used for request cancellation. If
28735// the context is nil a panic will occur. In the future the SDK may create
28736// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28737// for more information on using Contexts.
28738func (c *EC2) GetTransitGatewayRouteTableAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, opts ...request.Option) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
28739	req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
28740	req.SetContext(ctx)
28741	req.ApplyOptions(opts...)
28742	return out, req.Send()
28743}
28744
28745// GetTransitGatewayRouteTableAssociationsPages iterates over the pages of a GetTransitGatewayRouteTableAssociations operation,
28746// calling the "fn" function with the response data for each page. To stop
28747// iterating, return false from the fn function.
28748//
28749// See GetTransitGatewayRouteTableAssociations method for more information on how to use this operation.
28750//
28751// Note: This operation can generate multiple requests to a service.
28752//
28753//    // Example iterating over at most 3 pages of a GetTransitGatewayRouteTableAssociations operation.
28754//    pageNum := 0
28755//    err := client.GetTransitGatewayRouteTableAssociationsPages(params,
28756//        func(page *ec2.GetTransitGatewayRouteTableAssociationsOutput, lastPage bool) bool {
28757//            pageNum++
28758//            fmt.Println(page)
28759//            return pageNum <= 3
28760//        })
28761//
28762func (c *EC2) GetTransitGatewayRouteTableAssociationsPages(input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool) error {
28763	return c.GetTransitGatewayRouteTableAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
28764}
28765
28766// GetTransitGatewayRouteTableAssociationsPagesWithContext same as GetTransitGatewayRouteTableAssociationsPages except
28767// it takes a Context and allows setting request options on the pages.
28768//
28769// The context must be non-nil and will be used for request cancellation. If
28770// the context is nil a panic will occur. In the future the SDK may create
28771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28772// for more information on using Contexts.
28773func (c *EC2) GetTransitGatewayRouteTableAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool, opts ...request.Option) error {
28774	p := request.Pagination{
28775		NewRequest: func() (*request.Request, error) {
28776			var inCpy *GetTransitGatewayRouteTableAssociationsInput
28777			if input != nil {
28778				tmp := *input
28779				inCpy = &tmp
28780			}
28781			req, _ := c.GetTransitGatewayRouteTableAssociationsRequest(inCpy)
28782			req.SetContext(ctx)
28783			req.ApplyOptions(opts...)
28784			return req, nil
28785		},
28786	}
28787
28788	for p.Next() {
28789		if !fn(p.Page().(*GetTransitGatewayRouteTableAssociationsOutput), !p.HasNextPage()) {
28790			break
28791		}
28792	}
28793
28794	return p.Err()
28795}
28796
28797const opGetTransitGatewayRouteTablePropagations = "GetTransitGatewayRouteTablePropagations"
28798
28799// GetTransitGatewayRouteTablePropagationsRequest generates a "aws/request.Request" representing the
28800// client's request for the GetTransitGatewayRouteTablePropagations operation. The "output" return
28801// value will be populated with the request's response once the request completes
28802// successfully.
28803//
28804// Use "Send" method on the returned Request to send the API call to the service.
28805// the "output" return value is not valid until after Send returns without error.
28806//
28807// See GetTransitGatewayRouteTablePropagations for more information on using the GetTransitGatewayRouteTablePropagations
28808// API call, and error handling.
28809//
28810// This method is useful when you want to inject custom logic or configuration
28811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28812//
28813//
28814//    // Example sending a request using the GetTransitGatewayRouteTablePropagationsRequest method.
28815//    req, resp := client.GetTransitGatewayRouteTablePropagationsRequest(params)
28816//
28817//    err := req.Send()
28818//    if err == nil { // resp is now filled
28819//        fmt.Println(resp)
28820//    }
28821//
28822// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
28823func (c *EC2) GetTransitGatewayRouteTablePropagationsRequest(input *GetTransitGatewayRouteTablePropagationsInput) (req *request.Request, output *GetTransitGatewayRouteTablePropagationsOutput) {
28824	op := &request.Operation{
28825		Name:       opGetTransitGatewayRouteTablePropagations,
28826		HTTPMethod: "POST",
28827		HTTPPath:   "/",
28828		Paginator: &request.Paginator{
28829			InputTokens:     []string{"NextToken"},
28830			OutputTokens:    []string{"NextToken"},
28831			LimitToken:      "MaxResults",
28832			TruncationToken: "",
28833		},
28834	}
28835
28836	if input == nil {
28837		input = &GetTransitGatewayRouteTablePropagationsInput{}
28838	}
28839
28840	output = &GetTransitGatewayRouteTablePropagationsOutput{}
28841	req = c.newRequest(op, input, output)
28842	return
28843}
28844
28845// GetTransitGatewayRouteTablePropagations API operation for Amazon Elastic Compute Cloud.
28846//
28847// Gets information about the route table propagations for the specified transit
28848// gateway route table.
28849//
28850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28851// with awserr.Error's Code and Message methods to get detailed information about
28852// the error.
28853//
28854// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28855// API operation GetTransitGatewayRouteTablePropagations for usage and error information.
28856// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
28857func (c *EC2) GetTransitGatewayRouteTablePropagations(input *GetTransitGatewayRouteTablePropagationsInput) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
28858	req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
28859	return out, req.Send()
28860}
28861
28862// GetTransitGatewayRouteTablePropagationsWithContext is the same as GetTransitGatewayRouteTablePropagations with the addition of
28863// the ability to pass a context and additional request options.
28864//
28865// See GetTransitGatewayRouteTablePropagations for details on how to use this API operation.
28866//
28867// The context must be non-nil and will be used for request cancellation. If
28868// the context is nil a panic will occur. In the future the SDK may create
28869// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28870// for more information on using Contexts.
28871func (c *EC2) GetTransitGatewayRouteTablePropagationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, opts ...request.Option) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
28872	req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
28873	req.SetContext(ctx)
28874	req.ApplyOptions(opts...)
28875	return out, req.Send()
28876}
28877
28878// GetTransitGatewayRouteTablePropagationsPages iterates over the pages of a GetTransitGatewayRouteTablePropagations operation,
28879// calling the "fn" function with the response data for each page. To stop
28880// iterating, return false from the fn function.
28881//
28882// See GetTransitGatewayRouteTablePropagations method for more information on how to use this operation.
28883//
28884// Note: This operation can generate multiple requests to a service.
28885//
28886//    // Example iterating over at most 3 pages of a GetTransitGatewayRouteTablePropagations operation.
28887//    pageNum := 0
28888//    err := client.GetTransitGatewayRouteTablePropagationsPages(params,
28889//        func(page *ec2.GetTransitGatewayRouteTablePropagationsOutput, lastPage bool) bool {
28890//            pageNum++
28891//            fmt.Println(page)
28892//            return pageNum <= 3
28893//        })
28894//
28895func (c *EC2) GetTransitGatewayRouteTablePropagationsPages(input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool) error {
28896	return c.GetTransitGatewayRouteTablePropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
28897}
28898
28899// GetTransitGatewayRouteTablePropagationsPagesWithContext same as GetTransitGatewayRouteTablePropagationsPages except
28900// it takes a Context and allows setting request options on the pages.
28901//
28902// The context must be non-nil and will be used for request cancellation. If
28903// the context is nil a panic will occur. In the future the SDK may create
28904// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28905// for more information on using Contexts.
28906func (c *EC2) GetTransitGatewayRouteTablePropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool, opts ...request.Option) error {
28907	p := request.Pagination{
28908		NewRequest: func() (*request.Request, error) {
28909			var inCpy *GetTransitGatewayRouteTablePropagationsInput
28910			if input != nil {
28911				tmp := *input
28912				inCpy = &tmp
28913			}
28914			req, _ := c.GetTransitGatewayRouteTablePropagationsRequest(inCpy)
28915			req.SetContext(ctx)
28916			req.ApplyOptions(opts...)
28917			return req, nil
28918		},
28919	}
28920
28921	for p.Next() {
28922		if !fn(p.Page().(*GetTransitGatewayRouteTablePropagationsOutput), !p.HasNextPage()) {
28923			break
28924		}
28925	}
28926
28927	return p.Err()
28928}
28929
28930const opImportClientVpnClientCertificateRevocationList = "ImportClientVpnClientCertificateRevocationList"
28931
28932// ImportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
28933// client's request for the ImportClientVpnClientCertificateRevocationList operation. The "output" return
28934// value will be populated with the request's response once the request completes
28935// successfully.
28936//
28937// Use "Send" method on the returned Request to send the API call to the service.
28938// the "output" return value is not valid until after Send returns without error.
28939//
28940// See ImportClientVpnClientCertificateRevocationList for more information on using the ImportClientVpnClientCertificateRevocationList
28941// API call, and error handling.
28942//
28943// This method is useful when you want to inject custom logic or configuration
28944// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28945//
28946//
28947//    // Example sending a request using the ImportClientVpnClientCertificateRevocationListRequest method.
28948//    req, resp := client.ImportClientVpnClientCertificateRevocationListRequest(params)
28949//
28950//    err := req.Send()
28951//    if err == nil { // resp is now filled
28952//        fmt.Println(resp)
28953//    }
28954//
28955// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
28956func (c *EC2) ImportClientVpnClientCertificateRevocationListRequest(input *ImportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ImportClientVpnClientCertificateRevocationListOutput) {
28957	op := &request.Operation{
28958		Name:       opImportClientVpnClientCertificateRevocationList,
28959		HTTPMethod: "POST",
28960		HTTPPath:   "/",
28961	}
28962
28963	if input == nil {
28964		input = &ImportClientVpnClientCertificateRevocationListInput{}
28965	}
28966
28967	output = &ImportClientVpnClientCertificateRevocationListOutput{}
28968	req = c.newRequest(op, input, output)
28969	return
28970}
28971
28972// ImportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
28973//
28974// Uploads a client certificate revocation list to the specified Client VPN
28975// endpoint. Uploading a client certificate revocation list overwrites the existing
28976// client certificate revocation list.
28977//
28978// Uploading a client certificate revocation list resets existing client connections.
28979//
28980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28981// with awserr.Error's Code and Message methods to get detailed information about
28982// the error.
28983//
28984// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28985// API operation ImportClientVpnClientCertificateRevocationList for usage and error information.
28986// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
28987func (c *EC2) ImportClientVpnClientCertificateRevocationList(input *ImportClientVpnClientCertificateRevocationListInput) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
28988	req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
28989	return out, req.Send()
28990}
28991
28992// ImportClientVpnClientCertificateRevocationListWithContext is the same as ImportClientVpnClientCertificateRevocationList with the addition of
28993// the ability to pass a context and additional request options.
28994//
28995// See ImportClientVpnClientCertificateRevocationList for details on how to use this API operation.
28996//
28997// The context must be non-nil and will be used for request cancellation. If
28998// the context is nil a panic will occur. In the future the SDK may create
28999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29000// for more information on using Contexts.
29001func (c *EC2) ImportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ImportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
29002	req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
29003	req.SetContext(ctx)
29004	req.ApplyOptions(opts...)
29005	return out, req.Send()
29006}
29007
29008const opImportImage = "ImportImage"
29009
29010// ImportImageRequest generates a "aws/request.Request" representing the
29011// client's request for the ImportImage operation. The "output" return
29012// value will be populated with the request's response once the request completes
29013// successfully.
29014//
29015// Use "Send" method on the returned Request to send the API call to the service.
29016// the "output" return value is not valid until after Send returns without error.
29017//
29018// See ImportImage for more information on using the ImportImage
29019// API call, and error handling.
29020//
29021// This method is useful when you want to inject custom logic or configuration
29022// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29023//
29024//
29025//    // Example sending a request using the ImportImageRequest method.
29026//    req, resp := client.ImportImageRequest(params)
29027//
29028//    err := req.Send()
29029//    if err == nil { // resp is now filled
29030//        fmt.Println(resp)
29031//    }
29032//
29033// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
29034func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
29035	op := &request.Operation{
29036		Name:       opImportImage,
29037		HTTPMethod: "POST",
29038		HTTPPath:   "/",
29039	}
29040
29041	if input == nil {
29042		input = &ImportImageInput{}
29043	}
29044
29045	output = &ImportImageOutput{}
29046	req = c.newRequest(op, input, output)
29047	return
29048}
29049
29050// ImportImage API operation for Amazon Elastic Compute Cloud.
29051//
29052// Import single or multi-volume disk images or EBS snapshots into an Amazon
29053// Machine Image (AMI). For more information, see Importing a VM as an Image
29054// Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
29055// in the VM Import/Export User Guide.
29056//
29057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29058// with awserr.Error's Code and Message methods to get detailed information about
29059// the error.
29060//
29061// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29062// API operation ImportImage for usage and error information.
29063// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
29064func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
29065	req, out := c.ImportImageRequest(input)
29066	return out, req.Send()
29067}
29068
29069// ImportImageWithContext is the same as ImportImage with the addition of
29070// the ability to pass a context and additional request options.
29071//
29072// See ImportImage for details on how to use this API operation.
29073//
29074// The context must be non-nil and will be used for request cancellation. If
29075// the context is nil a panic will occur. In the future the SDK may create
29076// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29077// for more information on using Contexts.
29078func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
29079	req, out := c.ImportImageRequest(input)
29080	req.SetContext(ctx)
29081	req.ApplyOptions(opts...)
29082	return out, req.Send()
29083}
29084
29085const opImportInstance = "ImportInstance"
29086
29087// ImportInstanceRequest generates a "aws/request.Request" representing the
29088// client's request for the ImportInstance operation. The "output" return
29089// value will be populated with the request's response once the request completes
29090// successfully.
29091//
29092// Use "Send" method on the returned Request to send the API call to the service.
29093// the "output" return value is not valid until after Send returns without error.
29094//
29095// See ImportInstance for more information on using the ImportInstance
29096// API call, and error handling.
29097//
29098// This method is useful when you want to inject custom logic or configuration
29099// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29100//
29101//
29102//    // Example sending a request using the ImportInstanceRequest method.
29103//    req, resp := client.ImportInstanceRequest(params)
29104//
29105//    err := req.Send()
29106//    if err == nil { // resp is now filled
29107//        fmt.Println(resp)
29108//    }
29109//
29110// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
29111func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
29112	op := &request.Operation{
29113		Name:       opImportInstance,
29114		HTTPMethod: "POST",
29115		HTTPPath:   "/",
29116	}
29117
29118	if input == nil {
29119		input = &ImportInstanceInput{}
29120	}
29121
29122	output = &ImportInstanceOutput{}
29123	req = c.newRequest(op, input, output)
29124	return
29125}
29126
29127// ImportInstance API operation for Amazon Elastic Compute Cloud.
29128//
29129// Creates an import instance task using metadata from the specified disk image.
29130// ImportInstance only supports single-volume VMs. To import multi-volume VMs,
29131// use ImportImage. For more information, see Importing a Virtual Machine Using
29132// the Amazon EC2 CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
29133//
29134// For information about the import manifest referenced by this API action,
29135// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
29136//
29137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29138// with awserr.Error's Code and Message methods to get detailed information about
29139// the error.
29140//
29141// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29142// API operation ImportInstance for usage and error information.
29143// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
29144func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
29145	req, out := c.ImportInstanceRequest(input)
29146	return out, req.Send()
29147}
29148
29149// ImportInstanceWithContext is the same as ImportInstance with the addition of
29150// the ability to pass a context and additional request options.
29151//
29152// See ImportInstance for details on how to use this API operation.
29153//
29154// The context must be non-nil and will be used for request cancellation. If
29155// the context is nil a panic will occur. In the future the SDK may create
29156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29157// for more information on using Contexts.
29158func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
29159	req, out := c.ImportInstanceRequest(input)
29160	req.SetContext(ctx)
29161	req.ApplyOptions(opts...)
29162	return out, req.Send()
29163}
29164
29165const opImportKeyPair = "ImportKeyPair"
29166
29167// ImportKeyPairRequest generates a "aws/request.Request" representing the
29168// client's request for the ImportKeyPair operation. The "output" return
29169// value will be populated with the request's response once the request completes
29170// successfully.
29171//
29172// Use "Send" method on the returned Request to send the API call to the service.
29173// the "output" return value is not valid until after Send returns without error.
29174//
29175// See ImportKeyPair for more information on using the ImportKeyPair
29176// API call, and error handling.
29177//
29178// This method is useful when you want to inject custom logic or configuration
29179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29180//
29181//
29182//    // Example sending a request using the ImportKeyPairRequest method.
29183//    req, resp := client.ImportKeyPairRequest(params)
29184//
29185//    err := req.Send()
29186//    if err == nil { // resp is now filled
29187//        fmt.Println(resp)
29188//    }
29189//
29190// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
29191func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
29192	op := &request.Operation{
29193		Name:       opImportKeyPair,
29194		HTTPMethod: "POST",
29195		HTTPPath:   "/",
29196	}
29197
29198	if input == nil {
29199		input = &ImportKeyPairInput{}
29200	}
29201
29202	output = &ImportKeyPairOutput{}
29203	req = c.newRequest(op, input, output)
29204	return
29205}
29206
29207// ImportKeyPair API operation for Amazon Elastic Compute Cloud.
29208//
29209// Imports the public key from an RSA key pair that you created with a third-party
29210// tool. Compare this with CreateKeyPair, in which AWS creates the key pair
29211// and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
29212// you create the key pair and give AWS just the public key. The private key
29213// is never transferred between you and AWS.
29214//
29215// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
29216// in the Amazon Elastic Compute Cloud User Guide.
29217//
29218// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29219// with awserr.Error's Code and Message methods to get detailed information about
29220// the error.
29221//
29222// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29223// API operation ImportKeyPair for usage and error information.
29224// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
29225func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
29226	req, out := c.ImportKeyPairRequest(input)
29227	return out, req.Send()
29228}
29229
29230// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
29231// the ability to pass a context and additional request options.
29232//
29233// See ImportKeyPair for details on how to use this API operation.
29234//
29235// The context must be non-nil and will be used for request cancellation. If
29236// the context is nil a panic will occur. In the future the SDK may create
29237// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29238// for more information on using Contexts.
29239func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
29240	req, out := c.ImportKeyPairRequest(input)
29241	req.SetContext(ctx)
29242	req.ApplyOptions(opts...)
29243	return out, req.Send()
29244}
29245
29246const opImportSnapshot = "ImportSnapshot"
29247
29248// ImportSnapshotRequest generates a "aws/request.Request" representing the
29249// client's request for the ImportSnapshot operation. The "output" return
29250// value will be populated with the request's response once the request completes
29251// successfully.
29252//
29253// Use "Send" method on the returned Request to send the API call to the service.
29254// the "output" return value is not valid until after Send returns without error.
29255//
29256// See ImportSnapshot for more information on using the ImportSnapshot
29257// API call, and error handling.
29258//
29259// This method is useful when you want to inject custom logic or configuration
29260// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29261//
29262//
29263//    // Example sending a request using the ImportSnapshotRequest method.
29264//    req, resp := client.ImportSnapshotRequest(params)
29265//
29266//    err := req.Send()
29267//    if err == nil { // resp is now filled
29268//        fmt.Println(resp)
29269//    }
29270//
29271// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
29272func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
29273	op := &request.Operation{
29274		Name:       opImportSnapshot,
29275		HTTPMethod: "POST",
29276		HTTPPath:   "/",
29277	}
29278
29279	if input == nil {
29280		input = &ImportSnapshotInput{}
29281	}
29282
29283	output = &ImportSnapshotOutput{}
29284	req = c.newRequest(op, input, output)
29285	return
29286}
29287
29288// ImportSnapshot API operation for Amazon Elastic Compute Cloud.
29289//
29290// Imports a disk into an EBS snapshot.
29291//
29292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29293// with awserr.Error's Code and Message methods to get detailed information about
29294// the error.
29295//
29296// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29297// API operation ImportSnapshot for usage and error information.
29298// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
29299func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
29300	req, out := c.ImportSnapshotRequest(input)
29301	return out, req.Send()
29302}
29303
29304// ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
29305// the ability to pass a context and additional request options.
29306//
29307// See ImportSnapshot for details on how to use this API operation.
29308//
29309// The context must be non-nil and will be used for request cancellation. If
29310// the context is nil a panic will occur. In the future the SDK may create
29311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29312// for more information on using Contexts.
29313func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
29314	req, out := c.ImportSnapshotRequest(input)
29315	req.SetContext(ctx)
29316	req.ApplyOptions(opts...)
29317	return out, req.Send()
29318}
29319
29320const opImportVolume = "ImportVolume"
29321
29322// ImportVolumeRequest generates a "aws/request.Request" representing the
29323// client's request for the ImportVolume operation. The "output" return
29324// value will be populated with the request's response once the request completes
29325// successfully.
29326//
29327// Use "Send" method on the returned Request to send the API call to the service.
29328// the "output" return value is not valid until after Send returns without error.
29329//
29330// See ImportVolume for more information on using the ImportVolume
29331// API call, and error handling.
29332//
29333// This method is useful when you want to inject custom logic or configuration
29334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29335//
29336//
29337//    // Example sending a request using the ImportVolumeRequest method.
29338//    req, resp := client.ImportVolumeRequest(params)
29339//
29340//    err := req.Send()
29341//    if err == nil { // resp is now filled
29342//        fmt.Println(resp)
29343//    }
29344//
29345// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
29346func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
29347	op := &request.Operation{
29348		Name:       opImportVolume,
29349		HTTPMethod: "POST",
29350		HTTPPath:   "/",
29351	}
29352
29353	if input == nil {
29354		input = &ImportVolumeInput{}
29355	}
29356
29357	output = &ImportVolumeOutput{}
29358	req = c.newRequest(op, input, output)
29359	return
29360}
29361
29362// ImportVolume API operation for Amazon Elastic Compute Cloud.
29363//
29364// Creates an import volume task using metadata from the specified disk image.For
29365// more information, see Importing Disks to Amazon EBS (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
29366//
29367// For information about the import manifest referenced by this API action,
29368// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
29369//
29370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29371// with awserr.Error's Code and Message methods to get detailed information about
29372// the error.
29373//
29374// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29375// API operation ImportVolume for usage and error information.
29376// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
29377func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
29378	req, out := c.ImportVolumeRequest(input)
29379	return out, req.Send()
29380}
29381
29382// ImportVolumeWithContext is the same as ImportVolume with the addition of
29383// the ability to pass a context and additional request options.
29384//
29385// See ImportVolume for details on how to use this API operation.
29386//
29387// The context must be non-nil and will be used for request cancellation. If
29388// the context is nil a panic will occur. In the future the SDK may create
29389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29390// for more information on using Contexts.
29391func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
29392	req, out := c.ImportVolumeRequest(input)
29393	req.SetContext(ctx)
29394	req.ApplyOptions(opts...)
29395	return out, req.Send()
29396}
29397
29398const opModifyAvailabilityZoneGroup = "ModifyAvailabilityZoneGroup"
29399
29400// ModifyAvailabilityZoneGroupRequest generates a "aws/request.Request" representing the
29401// client's request for the ModifyAvailabilityZoneGroup operation. The "output" return
29402// value will be populated with the request's response once the request completes
29403// successfully.
29404//
29405// Use "Send" method on the returned Request to send the API call to the service.
29406// the "output" return value is not valid until after Send returns without error.
29407//
29408// See ModifyAvailabilityZoneGroup for more information on using the ModifyAvailabilityZoneGroup
29409// API call, and error handling.
29410//
29411// This method is useful when you want to inject custom logic or configuration
29412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29413//
29414//
29415//    // Example sending a request using the ModifyAvailabilityZoneGroupRequest method.
29416//    req, resp := client.ModifyAvailabilityZoneGroupRequest(params)
29417//
29418//    err := req.Send()
29419//    if err == nil { // resp is now filled
29420//        fmt.Println(resp)
29421//    }
29422//
29423// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAvailabilityZoneGroup
29424func (c *EC2) ModifyAvailabilityZoneGroupRequest(input *ModifyAvailabilityZoneGroupInput) (req *request.Request, output *ModifyAvailabilityZoneGroupOutput) {
29425	op := &request.Operation{
29426		Name:       opModifyAvailabilityZoneGroup,
29427		HTTPMethod: "POST",
29428		HTTPPath:   "/",
29429	}
29430
29431	if input == nil {
29432		input = &ModifyAvailabilityZoneGroupInput{}
29433	}
29434
29435	output = &ModifyAvailabilityZoneGroupOutput{}
29436	req = c.newRequest(op, input, output)
29437	return
29438}
29439
29440// ModifyAvailabilityZoneGroup API operation for Amazon Elastic Compute Cloud.
29441//
29442// Enables or disables a Zone Group for your account. To use Local Zones, you
29443// must first enable the Zone Group.
29444//
29445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29446// with awserr.Error's Code and Message methods to get detailed information about
29447// the error.
29448//
29449// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29450// API operation ModifyAvailabilityZoneGroup for usage and error information.
29451// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyAvailabilityZoneGroup
29452func (c *EC2) ModifyAvailabilityZoneGroup(input *ModifyAvailabilityZoneGroupInput) (*ModifyAvailabilityZoneGroupOutput, error) {
29453	req, out := c.ModifyAvailabilityZoneGroupRequest(input)
29454	return out, req.Send()
29455}
29456
29457// ModifyAvailabilityZoneGroupWithContext is the same as ModifyAvailabilityZoneGroup with the addition of
29458// the ability to pass a context and additional request options.
29459//
29460// See ModifyAvailabilityZoneGroup for details on how to use this API operation.
29461//
29462// The context must be non-nil and will be used for request cancellation. If
29463// the context is nil a panic will occur. In the future the SDK may create
29464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29465// for more information on using Contexts.
29466func (c *EC2) ModifyAvailabilityZoneGroupWithContext(ctx aws.Context, input *ModifyAvailabilityZoneGroupInput, opts ...request.Option) (*ModifyAvailabilityZoneGroupOutput, error) {
29467	req, out := c.ModifyAvailabilityZoneGroupRequest(input)
29468	req.SetContext(ctx)
29469	req.ApplyOptions(opts...)
29470	return out, req.Send()
29471}
29472
29473const opModifyCapacityReservation = "ModifyCapacityReservation"
29474
29475// ModifyCapacityReservationRequest generates a "aws/request.Request" representing the
29476// client's request for the ModifyCapacityReservation operation. The "output" return
29477// value will be populated with the request's response once the request completes
29478// successfully.
29479//
29480// Use "Send" method on the returned Request to send the API call to the service.
29481// the "output" return value is not valid until after Send returns without error.
29482//
29483// See ModifyCapacityReservation for more information on using the ModifyCapacityReservation
29484// API call, and error handling.
29485//
29486// This method is useful when you want to inject custom logic or configuration
29487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29488//
29489//
29490//    // Example sending a request using the ModifyCapacityReservationRequest method.
29491//    req, resp := client.ModifyCapacityReservationRequest(params)
29492//
29493//    err := req.Send()
29494//    if err == nil { // resp is now filled
29495//        fmt.Println(resp)
29496//    }
29497//
29498// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
29499func (c *EC2) ModifyCapacityReservationRequest(input *ModifyCapacityReservationInput) (req *request.Request, output *ModifyCapacityReservationOutput) {
29500	op := &request.Operation{
29501		Name:       opModifyCapacityReservation,
29502		HTTPMethod: "POST",
29503		HTTPPath:   "/",
29504	}
29505
29506	if input == nil {
29507		input = &ModifyCapacityReservationInput{}
29508	}
29509
29510	output = &ModifyCapacityReservationOutput{}
29511	req = c.newRequest(op, input, output)
29512	return
29513}
29514
29515// ModifyCapacityReservation API operation for Amazon Elastic Compute Cloud.
29516//
29517// Modifies a Capacity Reservation's capacity and the conditions under which
29518// it is to be released. You cannot change a Capacity Reservation's instance
29519// type, EBS optimization, instance store settings, platform, Availability Zone,
29520// or instance eligibility. If you need to modify any of these attributes, we
29521// recommend that you cancel the Capacity Reservation, and then create a new
29522// one with the required attributes.
29523//
29524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29525// with awserr.Error's Code and Message methods to get detailed information about
29526// the error.
29527//
29528// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29529// API operation ModifyCapacityReservation for usage and error information.
29530// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
29531func (c *EC2) ModifyCapacityReservation(input *ModifyCapacityReservationInput) (*ModifyCapacityReservationOutput, error) {
29532	req, out := c.ModifyCapacityReservationRequest(input)
29533	return out, req.Send()
29534}
29535
29536// ModifyCapacityReservationWithContext is the same as ModifyCapacityReservation with the addition of
29537// the ability to pass a context and additional request options.
29538//
29539// See ModifyCapacityReservation for details on how to use this API operation.
29540//
29541// The context must be non-nil and will be used for request cancellation. If
29542// the context is nil a panic will occur. In the future the SDK may create
29543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29544// for more information on using Contexts.
29545func (c *EC2) ModifyCapacityReservationWithContext(ctx aws.Context, input *ModifyCapacityReservationInput, opts ...request.Option) (*ModifyCapacityReservationOutput, error) {
29546	req, out := c.ModifyCapacityReservationRequest(input)
29547	req.SetContext(ctx)
29548	req.ApplyOptions(opts...)
29549	return out, req.Send()
29550}
29551
29552const opModifyClientVpnEndpoint = "ModifyClientVpnEndpoint"
29553
29554// ModifyClientVpnEndpointRequest generates a "aws/request.Request" representing the
29555// client's request for the ModifyClientVpnEndpoint operation. The "output" return
29556// value will be populated with the request's response once the request completes
29557// successfully.
29558//
29559// Use "Send" method on the returned Request to send the API call to the service.
29560// the "output" return value is not valid until after Send returns without error.
29561//
29562// See ModifyClientVpnEndpoint for more information on using the ModifyClientVpnEndpoint
29563// API call, and error handling.
29564//
29565// This method is useful when you want to inject custom logic or configuration
29566// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29567//
29568//
29569//    // Example sending a request using the ModifyClientVpnEndpointRequest method.
29570//    req, resp := client.ModifyClientVpnEndpointRequest(params)
29571//
29572//    err := req.Send()
29573//    if err == nil { // resp is now filled
29574//        fmt.Println(resp)
29575//    }
29576//
29577// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
29578func (c *EC2) ModifyClientVpnEndpointRequest(input *ModifyClientVpnEndpointInput) (req *request.Request, output *ModifyClientVpnEndpointOutput) {
29579	op := &request.Operation{
29580		Name:       opModifyClientVpnEndpoint,
29581		HTTPMethod: "POST",
29582		HTTPPath:   "/",
29583	}
29584
29585	if input == nil {
29586		input = &ModifyClientVpnEndpointInput{}
29587	}
29588
29589	output = &ModifyClientVpnEndpointOutput{}
29590	req = c.newRequest(op, input, output)
29591	return
29592}
29593
29594// ModifyClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
29595//
29596// Modifies the specified Client VPN endpoint. Modifying the DNS server resets
29597// existing client connections.
29598//
29599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29600// with awserr.Error's Code and Message methods to get detailed information about
29601// the error.
29602//
29603// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29604// API operation ModifyClientVpnEndpoint for usage and error information.
29605// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
29606func (c *EC2) ModifyClientVpnEndpoint(input *ModifyClientVpnEndpointInput) (*ModifyClientVpnEndpointOutput, error) {
29607	req, out := c.ModifyClientVpnEndpointRequest(input)
29608	return out, req.Send()
29609}
29610
29611// ModifyClientVpnEndpointWithContext is the same as ModifyClientVpnEndpoint with the addition of
29612// the ability to pass a context and additional request options.
29613//
29614// See ModifyClientVpnEndpoint for details on how to use this API operation.
29615//
29616// The context must be non-nil and will be used for request cancellation. If
29617// the context is nil a panic will occur. In the future the SDK may create
29618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29619// for more information on using Contexts.
29620func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyClientVpnEndpointInput, opts ...request.Option) (*ModifyClientVpnEndpointOutput, error) {
29621	req, out := c.ModifyClientVpnEndpointRequest(input)
29622	req.SetContext(ctx)
29623	req.ApplyOptions(opts...)
29624	return out, req.Send()
29625}
29626
29627const opModifyDefaultCreditSpecification = "ModifyDefaultCreditSpecification"
29628
29629// ModifyDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
29630// client's request for the ModifyDefaultCreditSpecification operation. The "output" return
29631// value will be populated with the request's response once the request completes
29632// successfully.
29633//
29634// Use "Send" method on the returned Request to send the API call to the service.
29635// the "output" return value is not valid until after Send returns without error.
29636//
29637// See ModifyDefaultCreditSpecification for more information on using the ModifyDefaultCreditSpecification
29638// API call, and error handling.
29639//
29640// This method is useful when you want to inject custom logic or configuration
29641// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29642//
29643//
29644//    // Example sending a request using the ModifyDefaultCreditSpecificationRequest method.
29645//    req, resp := client.ModifyDefaultCreditSpecificationRequest(params)
29646//
29647//    err := req.Send()
29648//    if err == nil { // resp is now filled
29649//        fmt.Println(resp)
29650//    }
29651//
29652// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
29653func (c *EC2) ModifyDefaultCreditSpecificationRequest(input *ModifyDefaultCreditSpecificationInput) (req *request.Request, output *ModifyDefaultCreditSpecificationOutput) {
29654	op := &request.Operation{
29655		Name:       opModifyDefaultCreditSpecification,
29656		HTTPMethod: "POST",
29657		HTTPPath:   "/",
29658	}
29659
29660	if input == nil {
29661		input = &ModifyDefaultCreditSpecificationInput{}
29662	}
29663
29664	output = &ModifyDefaultCreditSpecificationOutput{}
29665	req = c.newRequest(op, input, output)
29666	return
29667}
29668
29669// ModifyDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
29670//
29671// Modifies the default credit option for CPU usage of burstable performance
29672// instances. The default credit option is set at the account level per AWS
29673// Region, and is specified per instance family. All new burstable performance
29674// instances in the account launch using the default credit option.
29675//
29676// ModifyDefaultCreditSpecification is an asynchronous operation, which works
29677// at an AWS Region level and modifies the credit option for each Availability
29678// Zone. All zones in a Region are updated within five minutes. But if instances
29679// are launched during this operation, they might not get the new credit option
29680// until the zone is updated. To verify whether the update has occurred, you
29681// can call GetDefaultCreditSpecification and check DefaultCreditSpecification
29682// for updates.
29683//
29684// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
29685// in the Amazon Elastic Compute Cloud User Guide.
29686//
29687// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29688// with awserr.Error's Code and Message methods to get detailed information about
29689// the error.
29690//
29691// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29692// API operation ModifyDefaultCreditSpecification for usage and error information.
29693// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
29694func (c *EC2) ModifyDefaultCreditSpecification(input *ModifyDefaultCreditSpecificationInput) (*ModifyDefaultCreditSpecificationOutput, error) {
29695	req, out := c.ModifyDefaultCreditSpecificationRequest(input)
29696	return out, req.Send()
29697}
29698
29699// ModifyDefaultCreditSpecificationWithContext is the same as ModifyDefaultCreditSpecification with the addition of
29700// the ability to pass a context and additional request options.
29701//
29702// See ModifyDefaultCreditSpecification for details on how to use this API operation.
29703//
29704// The context must be non-nil and will be used for request cancellation. If
29705// the context is nil a panic will occur. In the future the SDK may create
29706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29707// for more information on using Contexts.
29708func (c *EC2) ModifyDefaultCreditSpecificationWithContext(ctx aws.Context, input *ModifyDefaultCreditSpecificationInput, opts ...request.Option) (*ModifyDefaultCreditSpecificationOutput, error) {
29709	req, out := c.ModifyDefaultCreditSpecificationRequest(input)
29710	req.SetContext(ctx)
29711	req.ApplyOptions(opts...)
29712	return out, req.Send()
29713}
29714
29715const opModifyEbsDefaultKmsKeyId = "ModifyEbsDefaultKmsKeyId"
29716
29717// ModifyEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
29718// client's request for the ModifyEbsDefaultKmsKeyId operation. The "output" return
29719// value will be populated with the request's response once the request completes
29720// successfully.
29721//
29722// Use "Send" method on the returned Request to send the API call to the service.
29723// the "output" return value is not valid until after Send returns without error.
29724//
29725// See ModifyEbsDefaultKmsKeyId for more information on using the ModifyEbsDefaultKmsKeyId
29726// API call, and error handling.
29727//
29728// This method is useful when you want to inject custom logic or configuration
29729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29730//
29731//
29732//    // Example sending a request using the ModifyEbsDefaultKmsKeyIdRequest method.
29733//    req, resp := client.ModifyEbsDefaultKmsKeyIdRequest(params)
29734//
29735//    err := req.Send()
29736//    if err == nil { // resp is now filled
29737//        fmt.Println(resp)
29738//    }
29739//
29740// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
29741func (c *EC2) ModifyEbsDefaultKmsKeyIdRequest(input *ModifyEbsDefaultKmsKeyIdInput) (req *request.Request, output *ModifyEbsDefaultKmsKeyIdOutput) {
29742	op := &request.Operation{
29743		Name:       opModifyEbsDefaultKmsKeyId,
29744		HTTPMethod: "POST",
29745		HTTPPath:   "/",
29746	}
29747
29748	if input == nil {
29749		input = &ModifyEbsDefaultKmsKeyIdInput{}
29750	}
29751
29752	output = &ModifyEbsDefaultKmsKeyIdOutput{}
29753	req = c.newRequest(op, input, output)
29754	return
29755}
29756
29757// ModifyEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
29758//
29759// Changes the default customer master key (CMK) for EBS encryption by default
29760// for your account in this Region.
29761//
29762// AWS creates a unique AWS managed CMK in each Region for use with encryption
29763// by default. If you change the default CMK to a symmetric customer managed
29764// CMK, it is used instead of the AWS managed CMK. To reset the default CMK
29765// to the AWS managed CMK for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does
29766// not support asymmetric CMKs.
29767//
29768// If you delete or disable the customer managed CMK that you specified for
29769// use with encryption by default, your instances will fail to launch.
29770//
29771// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
29772// in the Amazon Elastic Compute Cloud User Guide.
29773//
29774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29775// with awserr.Error's Code and Message methods to get detailed information about
29776// the error.
29777//
29778// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29779// API operation ModifyEbsDefaultKmsKeyId for usage and error information.
29780// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
29781func (c *EC2) ModifyEbsDefaultKmsKeyId(input *ModifyEbsDefaultKmsKeyIdInput) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
29782	req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
29783	return out, req.Send()
29784}
29785
29786// ModifyEbsDefaultKmsKeyIdWithContext is the same as ModifyEbsDefaultKmsKeyId with the addition of
29787// the ability to pass a context and additional request options.
29788//
29789// See ModifyEbsDefaultKmsKeyId for details on how to use this API operation.
29790//
29791// The context must be non-nil and will be used for request cancellation. If
29792// the context is nil a panic will occur. In the future the SDK may create
29793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29794// for more information on using Contexts.
29795func (c *EC2) ModifyEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ModifyEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
29796	req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
29797	req.SetContext(ctx)
29798	req.ApplyOptions(opts...)
29799	return out, req.Send()
29800}
29801
29802const opModifyFleet = "ModifyFleet"
29803
29804// ModifyFleetRequest generates a "aws/request.Request" representing the
29805// client's request for the ModifyFleet operation. The "output" return
29806// value will be populated with the request's response once the request completes
29807// successfully.
29808//
29809// Use "Send" method on the returned Request to send the API call to the service.
29810// the "output" return value is not valid until after Send returns without error.
29811//
29812// See ModifyFleet for more information on using the ModifyFleet
29813// API call, and error handling.
29814//
29815// This method is useful when you want to inject custom logic or configuration
29816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29817//
29818//
29819//    // Example sending a request using the ModifyFleetRequest method.
29820//    req, resp := client.ModifyFleetRequest(params)
29821//
29822//    err := req.Send()
29823//    if err == nil { // resp is now filled
29824//        fmt.Println(resp)
29825//    }
29826//
29827// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
29828func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, output *ModifyFleetOutput) {
29829	op := &request.Operation{
29830		Name:       opModifyFleet,
29831		HTTPMethod: "POST",
29832		HTTPPath:   "/",
29833	}
29834
29835	if input == nil {
29836		input = &ModifyFleetInput{}
29837	}
29838
29839	output = &ModifyFleetOutput{}
29840	req = c.newRequest(op, input, output)
29841	return
29842}
29843
29844// ModifyFleet API operation for Amazon Elastic Compute Cloud.
29845//
29846// Modifies the specified EC2 Fleet.
29847//
29848// You can only modify an EC2 Fleet request of type maintain.
29849//
29850// While the EC2 Fleet is being modified, it is in the modifying state.
29851//
29852// To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches
29853// the additional Spot Instances according to the allocation strategy for the
29854// EC2 Fleet request. If the allocation strategy is lowest-price, the EC2 Fleet
29855// launches instances using the Spot Instance pool with the lowest price. If
29856// the allocation strategy is diversified, the EC2 Fleet distributes the instances
29857// across the Spot Instance pools. If the allocation strategy is capacity-optimized,
29858// EC2 Fleet launches instances from Spot Instance pools with optimal capacity
29859// for the number of instances that are launching.
29860//
29861// To scale down your EC2 Fleet, decrease its target capacity. First, the EC2
29862// Fleet cancels any open requests that exceed the new target capacity. You
29863// can request that the EC2 Fleet terminate Spot Instances until the size of
29864// the fleet no longer exceeds the new target capacity. If the allocation strategy
29865// is lowest-price, the EC2 Fleet terminates the instances with the highest
29866// price per unit. If the allocation strategy is capacity-optimized, the EC2
29867// Fleet terminates the instances in the Spot Instance pools that have the least
29868// available Spot Instance capacity. If the allocation strategy is diversified,
29869// the EC2 Fleet terminates instances across the Spot Instance pools. Alternatively,
29870// you can request that the EC2 Fleet keep the fleet at its current size, but
29871// not replace any Spot Instances that are interrupted or that you terminate
29872// manually.
29873//
29874// If you are finished with your EC2 Fleet for now, but will use it again later,
29875// you can set the target capacity to 0.
29876//
29877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29878// with awserr.Error's Code and Message methods to get detailed information about
29879// the error.
29880//
29881// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29882// API operation ModifyFleet for usage and error information.
29883// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
29884func (c *EC2) ModifyFleet(input *ModifyFleetInput) (*ModifyFleetOutput, error) {
29885	req, out := c.ModifyFleetRequest(input)
29886	return out, req.Send()
29887}
29888
29889// ModifyFleetWithContext is the same as ModifyFleet with the addition of
29890// the ability to pass a context and additional request options.
29891//
29892// See ModifyFleet for details on how to use this API operation.
29893//
29894// The context must be non-nil and will be used for request cancellation. If
29895// the context is nil a panic will occur. In the future the SDK may create
29896// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29897// for more information on using Contexts.
29898func (c *EC2) ModifyFleetWithContext(ctx aws.Context, input *ModifyFleetInput, opts ...request.Option) (*ModifyFleetOutput, error) {
29899	req, out := c.ModifyFleetRequest(input)
29900	req.SetContext(ctx)
29901	req.ApplyOptions(opts...)
29902	return out, req.Send()
29903}
29904
29905const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute"
29906
29907// ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the
29908// client's request for the ModifyFpgaImageAttribute operation. The "output" return
29909// value will be populated with the request's response once the request completes
29910// successfully.
29911//
29912// Use "Send" method on the returned Request to send the API call to the service.
29913// the "output" return value is not valid until after Send returns without error.
29914//
29915// See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute
29916// API call, and error handling.
29917//
29918// This method is useful when you want to inject custom logic or configuration
29919// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29920//
29921//
29922//    // Example sending a request using the ModifyFpgaImageAttributeRequest method.
29923//    req, resp := client.ModifyFpgaImageAttributeRequest(params)
29924//
29925//    err := req.Send()
29926//    if err == nil { // resp is now filled
29927//        fmt.Println(resp)
29928//    }
29929//
29930// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
29931func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) {
29932	op := &request.Operation{
29933		Name:       opModifyFpgaImageAttribute,
29934		HTTPMethod: "POST",
29935		HTTPPath:   "/",
29936	}
29937
29938	if input == nil {
29939		input = &ModifyFpgaImageAttributeInput{}
29940	}
29941
29942	output = &ModifyFpgaImageAttributeOutput{}
29943	req = c.newRequest(op, input, output)
29944	return
29945}
29946
29947// ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
29948//
29949// Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
29950//
29951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29952// with awserr.Error's Code and Message methods to get detailed information about
29953// the error.
29954//
29955// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29956// API operation ModifyFpgaImageAttribute for usage and error information.
29957// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
29958func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) {
29959	req, out := c.ModifyFpgaImageAttributeRequest(input)
29960	return out, req.Send()
29961}
29962
29963// ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of
29964// the ability to pass a context and additional request options.
29965//
29966// See ModifyFpgaImageAttribute for details on how to use this API operation.
29967//
29968// The context must be non-nil and will be used for request cancellation. If
29969// the context is nil a panic will occur. In the future the SDK may create
29970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29971// for more information on using Contexts.
29972func (c *EC2) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) {
29973	req, out := c.ModifyFpgaImageAttributeRequest(input)
29974	req.SetContext(ctx)
29975	req.ApplyOptions(opts...)
29976	return out, req.Send()
29977}
29978
29979const opModifyHosts = "ModifyHosts"
29980
29981// ModifyHostsRequest generates a "aws/request.Request" representing the
29982// client's request for the ModifyHosts operation. The "output" return
29983// value will be populated with the request's response once the request completes
29984// successfully.
29985//
29986// Use "Send" method on the returned Request to send the API call to the service.
29987// the "output" return value is not valid until after Send returns without error.
29988//
29989// See ModifyHosts for more information on using the ModifyHosts
29990// API call, and error handling.
29991//
29992// This method is useful when you want to inject custom logic or configuration
29993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29994//
29995//
29996//    // Example sending a request using the ModifyHostsRequest method.
29997//    req, resp := client.ModifyHostsRequest(params)
29998//
29999//    err := req.Send()
30000//    if err == nil { // resp is now filled
30001//        fmt.Println(resp)
30002//    }
30003//
30004// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
30005func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
30006	op := &request.Operation{
30007		Name:       opModifyHosts,
30008		HTTPMethod: "POST",
30009		HTTPPath:   "/",
30010	}
30011
30012	if input == nil {
30013		input = &ModifyHostsInput{}
30014	}
30015
30016	output = &ModifyHostsOutput{}
30017	req = c.newRequest(op, input, output)
30018	return
30019}
30020
30021// ModifyHosts API operation for Amazon Elastic Compute Cloud.
30022//
30023// Modify the auto-placement setting of a Dedicated Host. When auto-placement
30024// is enabled, any instances that you launch with a tenancy of host but without
30025// a specific host ID are placed onto any available Dedicated Host in your account
30026// that has auto-placement enabled. When auto-placement is disabled, you need
30027// to provide a host ID to have the instance launch onto a specific host. If
30028// no host ID is provided, the instance is launched onto a suitable host with
30029// auto-placement enabled.
30030//
30031// You can also use this API action to modify a Dedicated Host to support either
30032// multiple instance types in an instance family, or to support a specific instance
30033// type only.
30034//
30035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30036// with awserr.Error's Code and Message methods to get detailed information about
30037// the error.
30038//
30039// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30040// API operation ModifyHosts for usage and error information.
30041// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
30042func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
30043	req, out := c.ModifyHostsRequest(input)
30044	return out, req.Send()
30045}
30046
30047// ModifyHostsWithContext is the same as ModifyHosts with the addition of
30048// the ability to pass a context and additional request options.
30049//
30050// See ModifyHosts for details on how to use this API operation.
30051//
30052// The context must be non-nil and will be used for request cancellation. If
30053// the context is nil a panic will occur. In the future the SDK may create
30054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30055// for more information on using Contexts.
30056func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
30057	req, out := c.ModifyHostsRequest(input)
30058	req.SetContext(ctx)
30059	req.ApplyOptions(opts...)
30060	return out, req.Send()
30061}
30062
30063const opModifyIdFormat = "ModifyIdFormat"
30064
30065// ModifyIdFormatRequest generates a "aws/request.Request" representing the
30066// client's request for the ModifyIdFormat operation. The "output" return
30067// value will be populated with the request's response once the request completes
30068// successfully.
30069//
30070// Use "Send" method on the returned Request to send the API call to the service.
30071// the "output" return value is not valid until after Send returns without error.
30072//
30073// See ModifyIdFormat for more information on using the ModifyIdFormat
30074// API call, and error handling.
30075//
30076// This method is useful when you want to inject custom logic or configuration
30077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30078//
30079//
30080//    // Example sending a request using the ModifyIdFormatRequest method.
30081//    req, resp := client.ModifyIdFormatRequest(params)
30082//
30083//    err := req.Send()
30084//    if err == nil { // resp is now filled
30085//        fmt.Println(resp)
30086//    }
30087//
30088// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
30089func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
30090	op := &request.Operation{
30091		Name:       opModifyIdFormat,
30092		HTTPMethod: "POST",
30093		HTTPPath:   "/",
30094	}
30095
30096	if input == nil {
30097		input = &ModifyIdFormatInput{}
30098	}
30099
30100	output = &ModifyIdFormatOutput{}
30101	req = c.newRequest(op, input, output)
30102	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30103	return
30104}
30105
30106// ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
30107//
30108// Modifies the ID format for the specified resource on a per-Region basis.
30109// You can specify that resources should receive longer IDs (17-character IDs)
30110// when they are created.
30111//
30112// This request can only be used to modify longer ID settings for resource types
30113// that are within the opt-in period. Resources currently in their opt-in period
30114// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
30115// | elastic-ip-association | export-task | flow-log | image | import-task |
30116// internet-gateway | network-acl | network-acl-association | network-interface
30117// | network-interface-attachment | prefix-list | route-table | route-table-association
30118// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
30119// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
30120//
30121// This setting applies to the IAM user who makes the request; it does not apply
30122// to the entire AWS account. By default, an IAM user defaults to the same settings
30123// as the root user. If you're using this action as the root user, then these
30124// settings apply to the entire account, unless an IAM user explicitly overrides
30125// these settings for themselves. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
30126// in the Amazon Elastic Compute Cloud User Guide.
30127//
30128// Resources created with longer IDs are visible to all IAM roles and users,
30129// regardless of these settings and provided that they have permission to use
30130// the relevant Describe command for the resource type.
30131//
30132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30133// with awserr.Error's Code and Message methods to get detailed information about
30134// the error.
30135//
30136// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30137// API operation ModifyIdFormat for usage and error information.
30138// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
30139func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
30140	req, out := c.ModifyIdFormatRequest(input)
30141	return out, req.Send()
30142}
30143
30144// ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
30145// the ability to pass a context and additional request options.
30146//
30147// See ModifyIdFormat for details on how to use this API operation.
30148//
30149// The context must be non-nil and will be used for request cancellation. If
30150// the context is nil a panic will occur. In the future the SDK may create
30151// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30152// for more information on using Contexts.
30153func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
30154	req, out := c.ModifyIdFormatRequest(input)
30155	req.SetContext(ctx)
30156	req.ApplyOptions(opts...)
30157	return out, req.Send()
30158}
30159
30160const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
30161
30162// ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
30163// client's request for the ModifyIdentityIdFormat operation. The "output" return
30164// value will be populated with the request's response once the request completes
30165// successfully.
30166//
30167// Use "Send" method on the returned Request to send the API call to the service.
30168// the "output" return value is not valid until after Send returns without error.
30169//
30170// See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
30171// API call, and error handling.
30172//
30173// This method is useful when you want to inject custom logic or configuration
30174// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30175//
30176//
30177//    // Example sending a request using the ModifyIdentityIdFormatRequest method.
30178//    req, resp := client.ModifyIdentityIdFormatRequest(params)
30179//
30180//    err := req.Send()
30181//    if err == nil { // resp is now filled
30182//        fmt.Println(resp)
30183//    }
30184//
30185// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
30186func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
30187	op := &request.Operation{
30188		Name:       opModifyIdentityIdFormat,
30189		HTTPMethod: "POST",
30190		HTTPPath:   "/",
30191	}
30192
30193	if input == nil {
30194		input = &ModifyIdentityIdFormatInput{}
30195	}
30196
30197	output = &ModifyIdentityIdFormatOutput{}
30198	req = c.newRequest(op, input, output)
30199	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30200	return
30201}
30202
30203// ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
30204//
30205// Modifies the ID format of a resource for a specified IAM user, IAM role,
30206// or the root user for an account; or all IAM users, IAM roles, and the root
30207// user for an account. You can specify that resources should receive longer
30208// IDs (17-character IDs) when they are created.
30209//
30210// This request can only be used to modify longer ID settings for resource types
30211// that are within the opt-in period. Resources currently in their opt-in period
30212// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
30213// | elastic-ip-association | export-task | flow-log | image | import-task |
30214// internet-gateway | network-acl | network-acl-association | network-interface
30215// | network-interface-attachment | prefix-list | route-table | route-table-association
30216// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
30217// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
30218//
30219// For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
30220// in the Amazon Elastic Compute Cloud User Guide.
30221//
30222// This setting applies to the principal specified in the request; it does not
30223// apply to the principal that makes the request.
30224//
30225// Resources created with longer IDs are visible to all IAM roles and users,
30226// regardless of these settings and provided that they have permission to use
30227// the relevant Describe command for the resource type.
30228//
30229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30230// with awserr.Error's Code and Message methods to get detailed information about
30231// the error.
30232//
30233// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30234// API operation ModifyIdentityIdFormat for usage and error information.
30235// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
30236func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
30237	req, out := c.ModifyIdentityIdFormatRequest(input)
30238	return out, req.Send()
30239}
30240
30241// ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
30242// the ability to pass a context and additional request options.
30243//
30244// See ModifyIdentityIdFormat for details on how to use this API operation.
30245//
30246// The context must be non-nil and will be used for request cancellation. If
30247// the context is nil a panic will occur. In the future the SDK may create
30248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30249// for more information on using Contexts.
30250func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
30251	req, out := c.ModifyIdentityIdFormatRequest(input)
30252	req.SetContext(ctx)
30253	req.ApplyOptions(opts...)
30254	return out, req.Send()
30255}
30256
30257const opModifyImageAttribute = "ModifyImageAttribute"
30258
30259// ModifyImageAttributeRequest generates a "aws/request.Request" representing the
30260// client's request for the ModifyImageAttribute operation. The "output" return
30261// value will be populated with the request's response once the request completes
30262// successfully.
30263//
30264// Use "Send" method on the returned Request to send the API call to the service.
30265// the "output" return value is not valid until after Send returns without error.
30266//
30267// See ModifyImageAttribute for more information on using the ModifyImageAttribute
30268// API call, and error handling.
30269//
30270// This method is useful when you want to inject custom logic or configuration
30271// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30272//
30273//
30274//    // Example sending a request using the ModifyImageAttributeRequest method.
30275//    req, resp := client.ModifyImageAttributeRequest(params)
30276//
30277//    err := req.Send()
30278//    if err == nil { // resp is now filled
30279//        fmt.Println(resp)
30280//    }
30281//
30282// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
30283func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
30284	op := &request.Operation{
30285		Name:       opModifyImageAttribute,
30286		HTTPMethod: "POST",
30287		HTTPPath:   "/",
30288	}
30289
30290	if input == nil {
30291		input = &ModifyImageAttributeInput{}
30292	}
30293
30294	output = &ModifyImageAttributeOutput{}
30295	req = c.newRequest(op, input, output)
30296	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30297	return
30298}
30299
30300// ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
30301//
30302// Modifies the specified attribute of the specified AMI. You can specify only
30303// one attribute at a time. You can use the Attribute parameter to specify the
30304// attribute or one of the following parameters: Description, LaunchPermission,
30305// or ProductCode.
30306//
30307// AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
30308// product code cannot be made public.
30309//
30310// To enable the SriovNetSupport enhanced networking attribute of an image,
30311// enable SriovNetSupport on an instance and create an AMI from the instance.
30312//
30313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30314// with awserr.Error's Code and Message methods to get detailed information about
30315// the error.
30316//
30317// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30318// API operation ModifyImageAttribute for usage and error information.
30319// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
30320func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
30321	req, out := c.ModifyImageAttributeRequest(input)
30322	return out, req.Send()
30323}
30324
30325// ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
30326// the ability to pass a context and additional request options.
30327//
30328// See ModifyImageAttribute for details on how to use this API operation.
30329//
30330// The context must be non-nil and will be used for request cancellation. If
30331// the context is nil a panic will occur. In the future the SDK may create
30332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30333// for more information on using Contexts.
30334func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
30335	req, out := c.ModifyImageAttributeRequest(input)
30336	req.SetContext(ctx)
30337	req.ApplyOptions(opts...)
30338	return out, req.Send()
30339}
30340
30341const opModifyInstanceAttribute = "ModifyInstanceAttribute"
30342
30343// ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
30344// client's request for the ModifyInstanceAttribute operation. The "output" return
30345// value will be populated with the request's response once the request completes
30346// successfully.
30347//
30348// Use "Send" method on the returned Request to send the API call to the service.
30349// the "output" return value is not valid until after Send returns without error.
30350//
30351// See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
30352// API call, and error handling.
30353//
30354// This method is useful when you want to inject custom logic or configuration
30355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30356//
30357//
30358//    // Example sending a request using the ModifyInstanceAttributeRequest method.
30359//    req, resp := client.ModifyInstanceAttributeRequest(params)
30360//
30361//    err := req.Send()
30362//    if err == nil { // resp is now filled
30363//        fmt.Println(resp)
30364//    }
30365//
30366// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
30367func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
30368	op := &request.Operation{
30369		Name:       opModifyInstanceAttribute,
30370		HTTPMethod: "POST",
30371		HTTPPath:   "/",
30372	}
30373
30374	if input == nil {
30375		input = &ModifyInstanceAttributeInput{}
30376	}
30377
30378	output = &ModifyInstanceAttributeOutput{}
30379	req = c.newRequest(op, input, output)
30380	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30381	return
30382}
30383
30384// ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
30385//
30386// Modifies the specified attribute of the specified instance. You can specify
30387// only one attribute at a time.
30388//
30389// Note: Using this action to change the security groups associated with an
30390// elastic network interface (ENI) attached to an instance in a VPC can result
30391// in an error if the instance has more than one ENI. To change the security
30392// groups associated with an ENI attached to an instance that has multiple ENIs,
30393// we recommend that you use the ModifyNetworkInterfaceAttribute action.
30394//
30395// To modify some attributes, the instance must be stopped. For more information,
30396// see Modifying Attributes of a Stopped Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
30397// in the Amazon Elastic Compute Cloud User Guide.
30398//
30399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30400// with awserr.Error's Code and Message methods to get detailed information about
30401// the error.
30402//
30403// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30404// API operation ModifyInstanceAttribute for usage and error information.
30405// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
30406func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
30407	req, out := c.ModifyInstanceAttributeRequest(input)
30408	return out, req.Send()
30409}
30410
30411// ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
30412// the ability to pass a context and additional request options.
30413//
30414// See ModifyInstanceAttribute for details on how to use this API operation.
30415//
30416// The context must be non-nil and will be used for request cancellation. If
30417// the context is nil a panic will occur. In the future the SDK may create
30418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30419// for more information on using Contexts.
30420func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
30421	req, out := c.ModifyInstanceAttributeRequest(input)
30422	req.SetContext(ctx)
30423	req.ApplyOptions(opts...)
30424	return out, req.Send()
30425}
30426
30427const opModifyInstanceCapacityReservationAttributes = "ModifyInstanceCapacityReservationAttributes"
30428
30429// ModifyInstanceCapacityReservationAttributesRequest generates a "aws/request.Request" representing the
30430// client's request for the ModifyInstanceCapacityReservationAttributes operation. The "output" return
30431// value will be populated with the request's response once the request completes
30432// successfully.
30433//
30434// Use "Send" method on the returned Request to send the API call to the service.
30435// the "output" return value is not valid until after Send returns without error.
30436//
30437// See ModifyInstanceCapacityReservationAttributes for more information on using the ModifyInstanceCapacityReservationAttributes
30438// API call, and error handling.
30439//
30440// This method is useful when you want to inject custom logic or configuration
30441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30442//
30443//
30444//    // Example sending a request using the ModifyInstanceCapacityReservationAttributesRequest method.
30445//    req, resp := client.ModifyInstanceCapacityReservationAttributesRequest(params)
30446//
30447//    err := req.Send()
30448//    if err == nil { // resp is now filled
30449//        fmt.Println(resp)
30450//    }
30451//
30452// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
30453func (c *EC2) ModifyInstanceCapacityReservationAttributesRequest(input *ModifyInstanceCapacityReservationAttributesInput) (req *request.Request, output *ModifyInstanceCapacityReservationAttributesOutput) {
30454	op := &request.Operation{
30455		Name:       opModifyInstanceCapacityReservationAttributes,
30456		HTTPMethod: "POST",
30457		HTTPPath:   "/",
30458	}
30459
30460	if input == nil {
30461		input = &ModifyInstanceCapacityReservationAttributesInput{}
30462	}
30463
30464	output = &ModifyInstanceCapacityReservationAttributesOutput{}
30465	req = c.newRequest(op, input, output)
30466	return
30467}
30468
30469// ModifyInstanceCapacityReservationAttributes API operation for Amazon Elastic Compute Cloud.
30470//
30471// Modifies the Capacity Reservation settings for a stopped instance. Use this
30472// action to configure an instance to target a specific Capacity Reservation,
30473// run in any open Capacity Reservation with matching attributes, or run On-Demand
30474// Instance capacity.
30475//
30476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30477// with awserr.Error's Code and Message methods to get detailed information about
30478// the error.
30479//
30480// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30481// API operation ModifyInstanceCapacityReservationAttributes for usage and error information.
30482// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
30483func (c *EC2) ModifyInstanceCapacityReservationAttributes(input *ModifyInstanceCapacityReservationAttributesInput) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
30484	req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
30485	return out, req.Send()
30486}
30487
30488// ModifyInstanceCapacityReservationAttributesWithContext is the same as ModifyInstanceCapacityReservationAttributes with the addition of
30489// the ability to pass a context and additional request options.
30490//
30491// See ModifyInstanceCapacityReservationAttributes for details on how to use this API operation.
30492//
30493// The context must be non-nil and will be used for request cancellation. If
30494// the context is nil a panic will occur. In the future the SDK may create
30495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30496// for more information on using Contexts.
30497func (c *EC2) ModifyInstanceCapacityReservationAttributesWithContext(ctx aws.Context, input *ModifyInstanceCapacityReservationAttributesInput, opts ...request.Option) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
30498	req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
30499	req.SetContext(ctx)
30500	req.ApplyOptions(opts...)
30501	return out, req.Send()
30502}
30503
30504const opModifyInstanceCreditSpecification = "ModifyInstanceCreditSpecification"
30505
30506// ModifyInstanceCreditSpecificationRequest generates a "aws/request.Request" representing the
30507// client's request for the ModifyInstanceCreditSpecification operation. The "output" return
30508// value will be populated with the request's response once the request completes
30509// successfully.
30510//
30511// Use "Send" method on the returned Request to send the API call to the service.
30512// the "output" return value is not valid until after Send returns without error.
30513//
30514// See ModifyInstanceCreditSpecification for more information on using the ModifyInstanceCreditSpecification
30515// API call, and error handling.
30516//
30517// This method is useful when you want to inject custom logic or configuration
30518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30519//
30520//
30521//    // Example sending a request using the ModifyInstanceCreditSpecificationRequest method.
30522//    req, resp := client.ModifyInstanceCreditSpecificationRequest(params)
30523//
30524//    err := req.Send()
30525//    if err == nil { // resp is now filled
30526//        fmt.Println(resp)
30527//    }
30528//
30529// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
30530func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCreditSpecificationInput) (req *request.Request, output *ModifyInstanceCreditSpecificationOutput) {
30531	op := &request.Operation{
30532		Name:       opModifyInstanceCreditSpecification,
30533		HTTPMethod: "POST",
30534		HTTPPath:   "/",
30535	}
30536
30537	if input == nil {
30538		input = &ModifyInstanceCreditSpecificationInput{}
30539	}
30540
30541	output = &ModifyInstanceCreditSpecificationOutput{}
30542	req = c.newRequest(op, input, output)
30543	return
30544}
30545
30546// ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
30547//
30548// Modifies the credit option for CPU usage on a running or stopped burstable
30549// performance instance. The credit options are standard and unlimited.
30550//
30551// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
30552// in the Amazon Elastic Compute Cloud User Guide.
30553//
30554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30555// with awserr.Error's Code and Message methods to get detailed information about
30556// the error.
30557//
30558// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30559// API operation ModifyInstanceCreditSpecification for usage and error information.
30560// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
30561func (c *EC2) ModifyInstanceCreditSpecification(input *ModifyInstanceCreditSpecificationInput) (*ModifyInstanceCreditSpecificationOutput, error) {
30562	req, out := c.ModifyInstanceCreditSpecificationRequest(input)
30563	return out, req.Send()
30564}
30565
30566// ModifyInstanceCreditSpecificationWithContext is the same as ModifyInstanceCreditSpecification with the addition of
30567// the ability to pass a context and additional request options.
30568//
30569// See ModifyInstanceCreditSpecification for details on how to use this API operation.
30570//
30571// The context must be non-nil and will be used for request cancellation. If
30572// the context is nil a panic will occur. In the future the SDK may create
30573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30574// for more information on using Contexts.
30575func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, input *ModifyInstanceCreditSpecificationInput, opts ...request.Option) (*ModifyInstanceCreditSpecificationOutput, error) {
30576	req, out := c.ModifyInstanceCreditSpecificationRequest(input)
30577	req.SetContext(ctx)
30578	req.ApplyOptions(opts...)
30579	return out, req.Send()
30580}
30581
30582const opModifyInstanceEventStartTime = "ModifyInstanceEventStartTime"
30583
30584// ModifyInstanceEventStartTimeRequest generates a "aws/request.Request" representing the
30585// client's request for the ModifyInstanceEventStartTime operation. The "output" return
30586// value will be populated with the request's response once the request completes
30587// successfully.
30588//
30589// Use "Send" method on the returned Request to send the API call to the service.
30590// the "output" return value is not valid until after Send returns without error.
30591//
30592// See ModifyInstanceEventStartTime for more information on using the ModifyInstanceEventStartTime
30593// API call, and error handling.
30594//
30595// This method is useful when you want to inject custom logic or configuration
30596// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30597//
30598//
30599//    // Example sending a request using the ModifyInstanceEventStartTimeRequest method.
30600//    req, resp := client.ModifyInstanceEventStartTimeRequest(params)
30601//
30602//    err := req.Send()
30603//    if err == nil { // resp is now filled
30604//        fmt.Println(resp)
30605//    }
30606//
30607// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
30608func (c *EC2) ModifyInstanceEventStartTimeRequest(input *ModifyInstanceEventStartTimeInput) (req *request.Request, output *ModifyInstanceEventStartTimeOutput) {
30609	op := &request.Operation{
30610		Name:       opModifyInstanceEventStartTime,
30611		HTTPMethod: "POST",
30612		HTTPPath:   "/",
30613	}
30614
30615	if input == nil {
30616		input = &ModifyInstanceEventStartTimeInput{}
30617	}
30618
30619	output = &ModifyInstanceEventStartTimeOutput{}
30620	req = c.newRequest(op, input, output)
30621	return
30622}
30623
30624// ModifyInstanceEventStartTime API operation for Amazon Elastic Compute Cloud.
30625//
30626// Modifies the start time for a scheduled Amazon EC2 instance event.
30627//
30628// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30629// with awserr.Error's Code and Message methods to get detailed information about
30630// the error.
30631//
30632// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30633// API operation ModifyInstanceEventStartTime for usage and error information.
30634// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
30635func (c *EC2) ModifyInstanceEventStartTime(input *ModifyInstanceEventStartTimeInput) (*ModifyInstanceEventStartTimeOutput, error) {
30636	req, out := c.ModifyInstanceEventStartTimeRequest(input)
30637	return out, req.Send()
30638}
30639
30640// ModifyInstanceEventStartTimeWithContext is the same as ModifyInstanceEventStartTime with the addition of
30641// the ability to pass a context and additional request options.
30642//
30643// See ModifyInstanceEventStartTime for details on how to use this API operation.
30644//
30645// The context must be non-nil and will be used for request cancellation. If
30646// the context is nil a panic will occur. In the future the SDK may create
30647// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30648// for more information on using Contexts.
30649func (c *EC2) ModifyInstanceEventStartTimeWithContext(ctx aws.Context, input *ModifyInstanceEventStartTimeInput, opts ...request.Option) (*ModifyInstanceEventStartTimeOutput, error) {
30650	req, out := c.ModifyInstanceEventStartTimeRequest(input)
30651	req.SetContext(ctx)
30652	req.ApplyOptions(opts...)
30653	return out, req.Send()
30654}
30655
30656const opModifyInstanceMetadataOptions = "ModifyInstanceMetadataOptions"
30657
30658// ModifyInstanceMetadataOptionsRequest generates a "aws/request.Request" representing the
30659// client's request for the ModifyInstanceMetadataOptions operation. The "output" return
30660// value will be populated with the request's response once the request completes
30661// successfully.
30662//
30663// Use "Send" method on the returned Request to send the API call to the service.
30664// the "output" return value is not valid until after Send returns without error.
30665//
30666// See ModifyInstanceMetadataOptions for more information on using the ModifyInstanceMetadataOptions
30667// API call, and error handling.
30668//
30669// This method is useful when you want to inject custom logic or configuration
30670// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30671//
30672//
30673//    // Example sending a request using the ModifyInstanceMetadataOptionsRequest method.
30674//    req, resp := client.ModifyInstanceMetadataOptionsRequest(params)
30675//
30676//    err := req.Send()
30677//    if err == nil { // resp is now filled
30678//        fmt.Println(resp)
30679//    }
30680//
30681// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions
30682func (c *EC2) ModifyInstanceMetadataOptionsRequest(input *ModifyInstanceMetadataOptionsInput) (req *request.Request, output *ModifyInstanceMetadataOptionsOutput) {
30683	op := &request.Operation{
30684		Name:       opModifyInstanceMetadataOptions,
30685		HTTPMethod: "POST",
30686		HTTPPath:   "/",
30687	}
30688
30689	if input == nil {
30690		input = &ModifyInstanceMetadataOptionsInput{}
30691	}
30692
30693	output = &ModifyInstanceMetadataOptionsOutput{}
30694	req = c.newRequest(op, input, output)
30695	return
30696}
30697
30698// ModifyInstanceMetadataOptions API operation for Amazon Elastic Compute Cloud.
30699//
30700// Modify the instance metadata parameters on a running or stopped instance.
30701// When you modify the parameters on a stopped instance, they are applied when
30702// the instance is started. When you modify the parameters on a running instance,
30703// the API responds with a state of “pending”. After the parameter modifications
30704// are successfully applied to the instance, the state of the modifications
30705// changes from “pending” to “applied” in subsequent describe-instances
30706// API calls. For more information, see Instance Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).
30707//
30708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30709// with awserr.Error's Code and Message methods to get detailed information about
30710// the error.
30711//
30712// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30713// API operation ModifyInstanceMetadataOptions for usage and error information.
30714// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions
30715func (c *EC2) ModifyInstanceMetadataOptions(input *ModifyInstanceMetadataOptionsInput) (*ModifyInstanceMetadataOptionsOutput, error) {
30716	req, out := c.ModifyInstanceMetadataOptionsRequest(input)
30717	return out, req.Send()
30718}
30719
30720// ModifyInstanceMetadataOptionsWithContext is the same as ModifyInstanceMetadataOptions with the addition of
30721// the ability to pass a context and additional request options.
30722//
30723// See ModifyInstanceMetadataOptions for details on how to use this API operation.
30724//
30725// The context must be non-nil and will be used for request cancellation. If
30726// the context is nil a panic will occur. In the future the SDK may create
30727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30728// for more information on using Contexts.
30729func (c *EC2) ModifyInstanceMetadataOptionsWithContext(ctx aws.Context, input *ModifyInstanceMetadataOptionsInput, opts ...request.Option) (*ModifyInstanceMetadataOptionsOutput, error) {
30730	req, out := c.ModifyInstanceMetadataOptionsRequest(input)
30731	req.SetContext(ctx)
30732	req.ApplyOptions(opts...)
30733	return out, req.Send()
30734}
30735
30736const opModifyInstancePlacement = "ModifyInstancePlacement"
30737
30738// ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
30739// client's request for the ModifyInstancePlacement operation. The "output" return
30740// value will be populated with the request's response once the request completes
30741// successfully.
30742//
30743// Use "Send" method on the returned Request to send the API call to the service.
30744// the "output" return value is not valid until after Send returns without error.
30745//
30746// See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
30747// API call, and error handling.
30748//
30749// This method is useful when you want to inject custom logic or configuration
30750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30751//
30752//
30753//    // Example sending a request using the ModifyInstancePlacementRequest method.
30754//    req, resp := client.ModifyInstancePlacementRequest(params)
30755//
30756//    err := req.Send()
30757//    if err == nil { // resp is now filled
30758//        fmt.Println(resp)
30759//    }
30760//
30761// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
30762func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
30763	op := &request.Operation{
30764		Name:       opModifyInstancePlacement,
30765		HTTPMethod: "POST",
30766		HTTPPath:   "/",
30767	}
30768
30769	if input == nil {
30770		input = &ModifyInstancePlacementInput{}
30771	}
30772
30773	output = &ModifyInstancePlacementOutput{}
30774	req = c.newRequest(op, input, output)
30775	return
30776}
30777
30778// ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
30779//
30780// Modifies the placement attributes for a specified instance. You can do the
30781// following:
30782//
30783//    * Modify the affinity between an instance and a Dedicated Host (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html).
30784//    When affinity is set to host and the instance is not associated with a
30785//    specific Dedicated Host, the next time the instance is launched, it is
30786//    automatically associated with the host on which it lands. If the instance
30787//    is restarted or rebooted, this relationship persists.
30788//
30789//    * Change the Dedicated Host with which an instance is associated.
30790//
30791//    * Change the instance tenancy of an instance from host to dedicated, or
30792//    from dedicated to host.
30793//
30794//    * Move an instance to or from a placement group (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).
30795//
30796// At least one attribute for affinity, host ID, tenancy, or placement group
30797// name must be specified in the request. Affinity and tenancy can be modified
30798// in the same request.
30799//
30800// To modify the host ID, tenancy, placement group, or partition for an instance,
30801// the instance must be in the stopped state.
30802//
30803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30804// with awserr.Error's Code and Message methods to get detailed information about
30805// the error.
30806//
30807// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30808// API operation ModifyInstancePlacement for usage and error information.
30809// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
30810func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
30811	req, out := c.ModifyInstancePlacementRequest(input)
30812	return out, req.Send()
30813}
30814
30815// ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
30816// the ability to pass a context and additional request options.
30817//
30818// See ModifyInstancePlacement for details on how to use this API operation.
30819//
30820// The context must be non-nil and will be used for request cancellation. If
30821// the context is nil a panic will occur. In the future the SDK may create
30822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30823// for more information on using Contexts.
30824func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
30825	req, out := c.ModifyInstancePlacementRequest(input)
30826	req.SetContext(ctx)
30827	req.ApplyOptions(opts...)
30828	return out, req.Send()
30829}
30830
30831const opModifyLaunchTemplate = "ModifyLaunchTemplate"
30832
30833// ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the
30834// client's request for the ModifyLaunchTemplate operation. The "output" return
30835// value will be populated with the request's response once the request completes
30836// successfully.
30837//
30838// Use "Send" method on the returned Request to send the API call to the service.
30839// the "output" return value is not valid until after Send returns without error.
30840//
30841// See ModifyLaunchTemplate for more information on using the ModifyLaunchTemplate
30842// API call, and error handling.
30843//
30844// This method is useful when you want to inject custom logic or configuration
30845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30846//
30847//
30848//    // Example sending a request using the ModifyLaunchTemplateRequest method.
30849//    req, resp := client.ModifyLaunchTemplateRequest(params)
30850//
30851//    err := req.Send()
30852//    if err == nil { // resp is now filled
30853//        fmt.Println(resp)
30854//    }
30855//
30856// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
30857func (c *EC2) ModifyLaunchTemplateRequest(input *ModifyLaunchTemplateInput) (req *request.Request, output *ModifyLaunchTemplateOutput) {
30858	op := &request.Operation{
30859		Name:       opModifyLaunchTemplate,
30860		HTTPMethod: "POST",
30861		HTTPPath:   "/",
30862	}
30863
30864	if input == nil {
30865		input = &ModifyLaunchTemplateInput{}
30866	}
30867
30868	output = &ModifyLaunchTemplateOutput{}
30869	req = c.newRequest(op, input, output)
30870	return
30871}
30872
30873// ModifyLaunchTemplate API operation for Amazon Elastic Compute Cloud.
30874//
30875// Modifies a launch template. You can specify which version of the launch template
30876// to set as the default version. When launching an instance, the default version
30877// applies when a launch template version is not specified.
30878//
30879// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30880// with awserr.Error's Code and Message methods to get detailed information about
30881// the error.
30882//
30883// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30884// API operation ModifyLaunchTemplate for usage and error information.
30885// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
30886func (c *EC2) ModifyLaunchTemplate(input *ModifyLaunchTemplateInput) (*ModifyLaunchTemplateOutput, error) {
30887	req, out := c.ModifyLaunchTemplateRequest(input)
30888	return out, req.Send()
30889}
30890
30891// ModifyLaunchTemplateWithContext is the same as ModifyLaunchTemplate with the addition of
30892// the ability to pass a context and additional request options.
30893//
30894// See ModifyLaunchTemplate for details on how to use this API operation.
30895//
30896// The context must be non-nil and will be used for request cancellation. If
30897// the context is nil a panic will occur. In the future the SDK may create
30898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30899// for more information on using Contexts.
30900func (c *EC2) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaunchTemplateInput, opts ...request.Option) (*ModifyLaunchTemplateOutput, error) {
30901	req, out := c.ModifyLaunchTemplateRequest(input)
30902	req.SetContext(ctx)
30903	req.ApplyOptions(opts...)
30904	return out, req.Send()
30905}
30906
30907const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
30908
30909// ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
30910// client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
30911// value will be populated with the request's response once the request completes
30912// successfully.
30913//
30914// Use "Send" method on the returned Request to send the API call to the service.
30915// the "output" return value is not valid until after Send returns without error.
30916//
30917// See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
30918// API call, and error handling.
30919//
30920// This method is useful when you want to inject custom logic or configuration
30921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30922//
30923//
30924//    // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
30925//    req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
30926//
30927//    err := req.Send()
30928//    if err == nil { // resp is now filled
30929//        fmt.Println(resp)
30930//    }
30931//
30932// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
30933func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
30934	op := &request.Operation{
30935		Name:       opModifyNetworkInterfaceAttribute,
30936		HTTPMethod: "POST",
30937		HTTPPath:   "/",
30938	}
30939
30940	if input == nil {
30941		input = &ModifyNetworkInterfaceAttributeInput{}
30942	}
30943
30944	output = &ModifyNetworkInterfaceAttributeOutput{}
30945	req = c.newRequest(op, input, output)
30946	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30947	return
30948}
30949
30950// ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
30951//
30952// Modifies the specified network interface attribute. You can specify only
30953// one attribute at a time. You can use this action to attach and detach security
30954// groups from an existing EC2 instance.
30955//
30956// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30957// with awserr.Error's Code and Message methods to get detailed information about
30958// the error.
30959//
30960// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30961// API operation ModifyNetworkInterfaceAttribute for usage and error information.
30962// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
30963func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
30964	req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
30965	return out, req.Send()
30966}
30967
30968// ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
30969// the ability to pass a context and additional request options.
30970//
30971// See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
30972//
30973// The context must be non-nil and will be used for request cancellation. If
30974// the context is nil a panic will occur. In the future the SDK may create
30975// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30976// for more information on using Contexts.
30977func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
30978	req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
30979	req.SetContext(ctx)
30980	req.ApplyOptions(opts...)
30981	return out, req.Send()
30982}
30983
30984const opModifyReservedInstances = "ModifyReservedInstances"
30985
30986// ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
30987// client's request for the ModifyReservedInstances operation. The "output" return
30988// value will be populated with the request's response once the request completes
30989// successfully.
30990//
30991// Use "Send" method on the returned Request to send the API call to the service.
30992// the "output" return value is not valid until after Send returns without error.
30993//
30994// See ModifyReservedInstances for more information on using the ModifyReservedInstances
30995// API call, and error handling.
30996//
30997// This method is useful when you want to inject custom logic or configuration
30998// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30999//
31000//
31001//    // Example sending a request using the ModifyReservedInstancesRequest method.
31002//    req, resp := client.ModifyReservedInstancesRequest(params)
31003//
31004//    err := req.Send()
31005//    if err == nil { // resp is now filled
31006//        fmt.Println(resp)
31007//    }
31008//
31009// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
31010func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
31011	op := &request.Operation{
31012		Name:       opModifyReservedInstances,
31013		HTTPMethod: "POST",
31014		HTTPPath:   "/",
31015	}
31016
31017	if input == nil {
31018		input = &ModifyReservedInstancesInput{}
31019	}
31020
31021	output = &ModifyReservedInstancesOutput{}
31022	req = c.newRequest(op, input, output)
31023	return
31024}
31025
31026// ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
31027//
31028// Modifies the Availability Zone, instance count, instance type, or network
31029// platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
31030// Instances to be modified must be identical, except for Availability Zone,
31031// network platform, and instance type.
31032//
31033// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
31034// in the Amazon Elastic Compute Cloud User Guide.
31035//
31036// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31037// with awserr.Error's Code and Message methods to get detailed information about
31038// the error.
31039//
31040// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31041// API operation ModifyReservedInstances for usage and error information.
31042// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
31043func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
31044	req, out := c.ModifyReservedInstancesRequest(input)
31045	return out, req.Send()
31046}
31047
31048// ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
31049// the ability to pass a context and additional request options.
31050//
31051// See ModifyReservedInstances for details on how to use this API operation.
31052//
31053// The context must be non-nil and will be used for request cancellation. If
31054// the context is nil a panic will occur. In the future the SDK may create
31055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31056// for more information on using Contexts.
31057func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
31058	req, out := c.ModifyReservedInstancesRequest(input)
31059	req.SetContext(ctx)
31060	req.ApplyOptions(opts...)
31061	return out, req.Send()
31062}
31063
31064const opModifySnapshotAttribute = "ModifySnapshotAttribute"
31065
31066// ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
31067// client's request for the ModifySnapshotAttribute operation. The "output" return
31068// value will be populated with the request's response once the request completes
31069// successfully.
31070//
31071// Use "Send" method on the returned Request to send the API call to the service.
31072// the "output" return value is not valid until after Send returns without error.
31073//
31074// See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
31075// API call, and error handling.
31076//
31077// This method is useful when you want to inject custom logic or configuration
31078// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31079//
31080//
31081//    // Example sending a request using the ModifySnapshotAttributeRequest method.
31082//    req, resp := client.ModifySnapshotAttributeRequest(params)
31083//
31084//    err := req.Send()
31085//    if err == nil { // resp is now filled
31086//        fmt.Println(resp)
31087//    }
31088//
31089// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
31090func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
31091	op := &request.Operation{
31092		Name:       opModifySnapshotAttribute,
31093		HTTPMethod: "POST",
31094		HTTPPath:   "/",
31095	}
31096
31097	if input == nil {
31098		input = &ModifySnapshotAttributeInput{}
31099	}
31100
31101	output = &ModifySnapshotAttributeOutput{}
31102	req = c.newRequest(op, input, output)
31103	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
31104	return
31105}
31106
31107// ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
31108//
31109// Adds or removes permission settings for the specified snapshot. You may add
31110// or remove specified AWS account IDs from a snapshot's list of create volume
31111// permissions, but you cannot do both in a single operation. If you need to
31112// both add and remove account IDs for a snapshot, you must use multiple operations.
31113// You can make up to 500 modifications to a snapshot in a single operation.
31114//
31115// Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
31116// be made public. Snapshots encrypted with your default CMK cannot be shared
31117// with other accounts.
31118//
31119// For more information about modifying snapshot permissions, see Sharing Snapshots
31120// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
31121// in the Amazon Elastic Compute Cloud User Guide.
31122//
31123// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31124// with awserr.Error's Code and Message methods to get detailed information about
31125// the error.
31126//
31127// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31128// API operation ModifySnapshotAttribute for usage and error information.
31129// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
31130func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
31131	req, out := c.ModifySnapshotAttributeRequest(input)
31132	return out, req.Send()
31133}
31134
31135// ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
31136// the ability to pass a context and additional request options.
31137//
31138// See ModifySnapshotAttribute for details on how to use this API operation.
31139//
31140// The context must be non-nil and will be used for request cancellation. If
31141// the context is nil a panic will occur. In the future the SDK may create
31142// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31143// for more information on using Contexts.
31144func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
31145	req, out := c.ModifySnapshotAttributeRequest(input)
31146	req.SetContext(ctx)
31147	req.ApplyOptions(opts...)
31148	return out, req.Send()
31149}
31150
31151const opModifySpotFleetRequest = "ModifySpotFleetRequest"
31152
31153// ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
31154// client's request for the ModifySpotFleetRequest operation. The "output" return
31155// value will be populated with the request's response once the request completes
31156// successfully.
31157//
31158// Use "Send" method on the returned Request to send the API call to the service.
31159// the "output" return value is not valid until after Send returns without error.
31160//
31161// See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
31162// API call, and error handling.
31163//
31164// This method is useful when you want to inject custom logic or configuration
31165// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31166//
31167//
31168//    // Example sending a request using the ModifySpotFleetRequestRequest method.
31169//    req, resp := client.ModifySpotFleetRequestRequest(params)
31170//
31171//    err := req.Send()
31172//    if err == nil { // resp is now filled
31173//        fmt.Println(resp)
31174//    }
31175//
31176// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
31177func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
31178	op := &request.Operation{
31179		Name:       opModifySpotFleetRequest,
31180		HTTPMethod: "POST",
31181		HTTPPath:   "/",
31182	}
31183
31184	if input == nil {
31185		input = &ModifySpotFleetRequestInput{}
31186	}
31187
31188	output = &ModifySpotFleetRequestOutput{}
31189	req = c.newRequest(op, input, output)
31190	return
31191}
31192
31193// ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
31194//
31195// Modifies the specified Spot Fleet request.
31196//
31197// You can only modify a Spot Fleet request of type maintain.
31198//
31199// While the Spot Fleet request is being modified, it is in the modifying state.
31200//
31201// To scale up your Spot Fleet, increase its target capacity. The Spot Fleet
31202// launches the additional Spot Instances according to the allocation strategy
31203// for the Spot Fleet request. If the allocation strategy is lowestPrice, the
31204// Spot Fleet launches instances using the Spot Instance pool with the lowest
31205// price. If the allocation strategy is diversified, the Spot Fleet distributes
31206// the instances across the Spot Instance pools. If the allocation strategy
31207// is capacityOptimized, Spot Fleet launches instances from Spot Instance pools
31208// with optimal capacity for the number of instances that are launching.
31209//
31210// To scale down your Spot Fleet, decrease its target capacity. First, the Spot
31211// Fleet cancels any open requests that exceed the new target capacity. You
31212// can request that the Spot Fleet terminate Spot Instances until the size of
31213// the fleet no longer exceeds the new target capacity. If the allocation strategy
31214// is lowestPrice, the Spot Fleet terminates the instances with the highest
31215// price per unit. If the allocation strategy is capacityOptimized, the Spot
31216// Fleet terminates the instances in the Spot Instance pools that have the least
31217// available Spot Instance capacity. If the allocation strategy is diversified,
31218// the Spot Fleet terminates instances across the Spot Instance pools. Alternatively,
31219// you can request that the Spot Fleet keep the fleet at its current size, but
31220// not replace any Spot Instances that are interrupted or that you terminate
31221// manually.
31222//
31223// If you are finished with your Spot Fleet for now, but will use it again later,
31224// you can set the target capacity to 0.
31225//
31226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31227// with awserr.Error's Code and Message methods to get detailed information about
31228// the error.
31229//
31230// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31231// API operation ModifySpotFleetRequest for usage and error information.
31232// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
31233func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
31234	req, out := c.ModifySpotFleetRequestRequest(input)
31235	return out, req.Send()
31236}
31237
31238// ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
31239// the ability to pass a context and additional request options.
31240//
31241// See ModifySpotFleetRequest for details on how to use this API operation.
31242//
31243// The context must be non-nil and will be used for request cancellation. If
31244// the context is nil a panic will occur. In the future the SDK may create
31245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31246// for more information on using Contexts.
31247func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
31248	req, out := c.ModifySpotFleetRequestRequest(input)
31249	req.SetContext(ctx)
31250	req.ApplyOptions(opts...)
31251	return out, req.Send()
31252}
31253
31254const opModifySubnetAttribute = "ModifySubnetAttribute"
31255
31256// ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
31257// client's request for the ModifySubnetAttribute operation. The "output" return
31258// value will be populated with the request's response once the request completes
31259// successfully.
31260//
31261// Use "Send" method on the returned Request to send the API call to the service.
31262// the "output" return value is not valid until after Send returns without error.
31263//
31264// See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
31265// API call, and error handling.
31266//
31267// This method is useful when you want to inject custom logic or configuration
31268// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31269//
31270//
31271//    // Example sending a request using the ModifySubnetAttributeRequest method.
31272//    req, resp := client.ModifySubnetAttributeRequest(params)
31273//
31274//    err := req.Send()
31275//    if err == nil { // resp is now filled
31276//        fmt.Println(resp)
31277//    }
31278//
31279// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
31280func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
31281	op := &request.Operation{
31282		Name:       opModifySubnetAttribute,
31283		HTTPMethod: "POST",
31284		HTTPPath:   "/",
31285	}
31286
31287	if input == nil {
31288		input = &ModifySubnetAttributeInput{}
31289	}
31290
31291	output = &ModifySubnetAttributeOutput{}
31292	req = c.newRequest(op, input, output)
31293	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
31294	return
31295}
31296
31297// ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
31298//
31299// Modifies a subnet attribute. You can only modify one attribute at a time.
31300//
31301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31302// with awserr.Error's Code and Message methods to get detailed information about
31303// the error.
31304//
31305// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31306// API operation ModifySubnetAttribute for usage and error information.
31307// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
31308func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
31309	req, out := c.ModifySubnetAttributeRequest(input)
31310	return out, req.Send()
31311}
31312
31313// ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
31314// the ability to pass a context and additional request options.
31315//
31316// See ModifySubnetAttribute for details on how to use this API operation.
31317//
31318// The context must be non-nil and will be used for request cancellation. If
31319// the context is nil a panic will occur. In the future the SDK may create
31320// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31321// for more information on using Contexts.
31322func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
31323	req, out := c.ModifySubnetAttributeRequest(input)
31324	req.SetContext(ctx)
31325	req.ApplyOptions(opts...)
31326	return out, req.Send()
31327}
31328
31329const opModifyTrafficMirrorFilterNetworkServices = "ModifyTrafficMirrorFilterNetworkServices"
31330
31331// ModifyTrafficMirrorFilterNetworkServicesRequest generates a "aws/request.Request" representing the
31332// client's request for the ModifyTrafficMirrorFilterNetworkServices operation. The "output" return
31333// value will be populated with the request's response once the request completes
31334// successfully.
31335//
31336// Use "Send" method on the returned Request to send the API call to the service.
31337// the "output" return value is not valid until after Send returns without error.
31338//
31339// See ModifyTrafficMirrorFilterNetworkServices for more information on using the ModifyTrafficMirrorFilterNetworkServices
31340// API call, and error handling.
31341//
31342// This method is useful when you want to inject custom logic or configuration
31343// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31344//
31345//
31346//    // Example sending a request using the ModifyTrafficMirrorFilterNetworkServicesRequest method.
31347//    req, resp := client.ModifyTrafficMirrorFilterNetworkServicesRequest(params)
31348//
31349//    err := req.Send()
31350//    if err == nil { // resp is now filled
31351//        fmt.Println(resp)
31352//    }
31353//
31354// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices
31355func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesRequest(input *ModifyTrafficMirrorFilterNetworkServicesInput) (req *request.Request, output *ModifyTrafficMirrorFilterNetworkServicesOutput) {
31356	op := &request.Operation{
31357		Name:       opModifyTrafficMirrorFilterNetworkServices,
31358		HTTPMethod: "POST",
31359		HTTPPath:   "/",
31360	}
31361
31362	if input == nil {
31363		input = &ModifyTrafficMirrorFilterNetworkServicesInput{}
31364	}
31365
31366	output = &ModifyTrafficMirrorFilterNetworkServicesOutput{}
31367	req = c.newRequest(op, input, output)
31368	return
31369}
31370
31371// ModifyTrafficMirrorFilterNetworkServices API operation for Amazon Elastic Compute Cloud.
31372//
31373// Allows or restricts mirroring network services.
31374//
31375// By default, Amazon DNS network services are not eligible for Traffic Mirror.
31376// Use AddNetworkServices to add network services to a Traffic Mirror filter.
31377// When a network service is added to the Traffic Mirror filter, all traffic
31378// related to that network service will be mirrored. When you no longer want
31379// to mirror network services, use RemoveNetworkServices to remove the network
31380// services from the Traffic Mirror filter.
31381//
31382// For information about filter rule properties, see Network Services (https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html)
31383// in the Traffic Mirroring User Guide .
31384//
31385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31386// with awserr.Error's Code and Message methods to get detailed information about
31387// the error.
31388//
31389// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31390// API operation ModifyTrafficMirrorFilterNetworkServices for usage and error information.
31391// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices
31392func (c *EC2) ModifyTrafficMirrorFilterNetworkServices(input *ModifyTrafficMirrorFilterNetworkServicesInput) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) {
31393	req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input)
31394	return out, req.Send()
31395}
31396
31397// ModifyTrafficMirrorFilterNetworkServicesWithContext is the same as ModifyTrafficMirrorFilterNetworkServices with the addition of
31398// the ability to pass a context and additional request options.
31399//
31400// See ModifyTrafficMirrorFilterNetworkServices for details on how to use this API operation.
31401//
31402// The context must be non-nil and will be used for request cancellation. If
31403// the context is nil a panic will occur. In the future the SDK may create
31404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31405// for more information on using Contexts.
31406func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterNetworkServicesInput, opts ...request.Option) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) {
31407	req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input)
31408	req.SetContext(ctx)
31409	req.ApplyOptions(opts...)
31410	return out, req.Send()
31411}
31412
31413const opModifyTrafficMirrorFilterRule = "ModifyTrafficMirrorFilterRule"
31414
31415// ModifyTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
31416// client's request for the ModifyTrafficMirrorFilterRule operation. The "output" return
31417// value will be populated with the request's response once the request completes
31418// successfully.
31419//
31420// Use "Send" method on the returned Request to send the API call to the service.
31421// the "output" return value is not valid until after Send returns without error.
31422//
31423// See ModifyTrafficMirrorFilterRule for more information on using the ModifyTrafficMirrorFilterRule
31424// API call, and error handling.
31425//
31426// This method is useful when you want to inject custom logic or configuration
31427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31428//
31429//
31430//    // Example sending a request using the ModifyTrafficMirrorFilterRuleRequest method.
31431//    req, resp := client.ModifyTrafficMirrorFilterRuleRequest(params)
31432//
31433//    err := req.Send()
31434//    if err == nil { // resp is now filled
31435//        fmt.Println(resp)
31436//    }
31437//
31438// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule
31439func (c *EC2) ModifyTrafficMirrorFilterRuleRequest(input *ModifyTrafficMirrorFilterRuleInput) (req *request.Request, output *ModifyTrafficMirrorFilterRuleOutput) {
31440	op := &request.Operation{
31441		Name:       opModifyTrafficMirrorFilterRule,
31442		HTTPMethod: "POST",
31443		HTTPPath:   "/",
31444	}
31445
31446	if input == nil {
31447		input = &ModifyTrafficMirrorFilterRuleInput{}
31448	}
31449
31450	output = &ModifyTrafficMirrorFilterRuleOutput{}
31451	req = c.newRequest(op, input, output)
31452	return
31453}
31454
31455// ModifyTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
31456//
31457// Modifies the specified Traffic Mirror rule.
31458//
31459// DestinationCidrBlock and SourceCidrBlock must both be an IPv4 range or an
31460// IPv6 range.
31461//
31462// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31463// with awserr.Error's Code and Message methods to get detailed information about
31464// the error.
31465//
31466// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31467// API operation ModifyTrafficMirrorFilterRule for usage and error information.
31468// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule
31469func (c *EC2) ModifyTrafficMirrorFilterRule(input *ModifyTrafficMirrorFilterRuleInput) (*ModifyTrafficMirrorFilterRuleOutput, error) {
31470	req, out := c.ModifyTrafficMirrorFilterRuleRequest(input)
31471	return out, req.Send()
31472}
31473
31474// ModifyTrafficMirrorFilterRuleWithContext is the same as ModifyTrafficMirrorFilterRule with the addition of
31475// the ability to pass a context and additional request options.
31476//
31477// See ModifyTrafficMirrorFilterRule for details on how to use this API operation.
31478//
31479// The context must be non-nil and will be used for request cancellation. If
31480// the context is nil a panic will occur. In the future the SDK may create
31481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31482// for more information on using Contexts.
31483func (c *EC2) ModifyTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterRuleInput, opts ...request.Option) (*ModifyTrafficMirrorFilterRuleOutput, error) {
31484	req, out := c.ModifyTrafficMirrorFilterRuleRequest(input)
31485	req.SetContext(ctx)
31486	req.ApplyOptions(opts...)
31487	return out, req.Send()
31488}
31489
31490const opModifyTrafficMirrorSession = "ModifyTrafficMirrorSession"
31491
31492// ModifyTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
31493// client's request for the ModifyTrafficMirrorSession operation. The "output" return
31494// value will be populated with the request's response once the request completes
31495// successfully.
31496//
31497// Use "Send" method on the returned Request to send the API call to the service.
31498// the "output" return value is not valid until after Send returns without error.
31499//
31500// See ModifyTrafficMirrorSession for more information on using the ModifyTrafficMirrorSession
31501// API call, and error handling.
31502//
31503// This method is useful when you want to inject custom logic or configuration
31504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31505//
31506//
31507//    // Example sending a request using the ModifyTrafficMirrorSessionRequest method.
31508//    req, resp := client.ModifyTrafficMirrorSessionRequest(params)
31509//
31510//    err := req.Send()
31511//    if err == nil { // resp is now filled
31512//        fmt.Println(resp)
31513//    }
31514//
31515// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession
31516func (c *EC2) ModifyTrafficMirrorSessionRequest(input *ModifyTrafficMirrorSessionInput) (req *request.Request, output *ModifyTrafficMirrorSessionOutput) {
31517	op := &request.Operation{
31518		Name:       opModifyTrafficMirrorSession,
31519		HTTPMethod: "POST",
31520		HTTPPath:   "/",
31521	}
31522
31523	if input == nil {
31524		input = &ModifyTrafficMirrorSessionInput{}
31525	}
31526
31527	output = &ModifyTrafficMirrorSessionOutput{}
31528	req = c.newRequest(op, input, output)
31529	return
31530}
31531
31532// ModifyTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
31533//
31534// Modifies a Traffic Mirror session.
31535//
31536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31537// with awserr.Error's Code and Message methods to get detailed information about
31538// the error.
31539//
31540// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31541// API operation ModifyTrafficMirrorSession for usage and error information.
31542// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession
31543func (c *EC2) ModifyTrafficMirrorSession(input *ModifyTrafficMirrorSessionInput) (*ModifyTrafficMirrorSessionOutput, error) {
31544	req, out := c.ModifyTrafficMirrorSessionRequest(input)
31545	return out, req.Send()
31546}
31547
31548// ModifyTrafficMirrorSessionWithContext is the same as ModifyTrafficMirrorSession with the addition of
31549// the ability to pass a context and additional request options.
31550//
31551// See ModifyTrafficMirrorSession for details on how to use this API operation.
31552//
31553// The context must be non-nil and will be used for request cancellation. If
31554// the context is nil a panic will occur. In the future the SDK may create
31555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31556// for more information on using Contexts.
31557func (c *EC2) ModifyTrafficMirrorSessionWithContext(ctx aws.Context, input *ModifyTrafficMirrorSessionInput, opts ...request.Option) (*ModifyTrafficMirrorSessionOutput, error) {
31558	req, out := c.ModifyTrafficMirrorSessionRequest(input)
31559	req.SetContext(ctx)
31560	req.ApplyOptions(opts...)
31561	return out, req.Send()
31562}
31563
31564const opModifyTransitGatewayVpcAttachment = "ModifyTransitGatewayVpcAttachment"
31565
31566// ModifyTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
31567// client's request for the ModifyTransitGatewayVpcAttachment operation. The "output" return
31568// value will be populated with the request's response once the request completes
31569// successfully.
31570//
31571// Use "Send" method on the returned Request to send the API call to the service.
31572// the "output" return value is not valid until after Send returns without error.
31573//
31574// See ModifyTransitGatewayVpcAttachment for more information on using the ModifyTransitGatewayVpcAttachment
31575// API call, and error handling.
31576//
31577// This method is useful when you want to inject custom logic or configuration
31578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31579//
31580//
31581//    // Example sending a request using the ModifyTransitGatewayVpcAttachmentRequest method.
31582//    req, resp := client.ModifyTransitGatewayVpcAttachmentRequest(params)
31583//
31584//    err := req.Send()
31585//    if err == nil { // resp is now filled
31586//        fmt.Println(resp)
31587//    }
31588//
31589// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
31590func (c *EC2) ModifyTransitGatewayVpcAttachmentRequest(input *ModifyTransitGatewayVpcAttachmentInput) (req *request.Request, output *ModifyTransitGatewayVpcAttachmentOutput) {
31591	op := &request.Operation{
31592		Name:       opModifyTransitGatewayVpcAttachment,
31593		HTTPMethod: "POST",
31594		HTTPPath:   "/",
31595	}
31596
31597	if input == nil {
31598		input = &ModifyTransitGatewayVpcAttachmentInput{}
31599	}
31600
31601	output = &ModifyTransitGatewayVpcAttachmentOutput{}
31602	req = c.newRequest(op, input, output)
31603	return
31604}
31605
31606// ModifyTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
31607//
31608// Modifies the specified VPC attachment.
31609//
31610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31611// with awserr.Error's Code and Message methods to get detailed information about
31612// the error.
31613//
31614// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31615// API operation ModifyTransitGatewayVpcAttachment for usage and error information.
31616// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
31617func (c *EC2) ModifyTransitGatewayVpcAttachment(input *ModifyTransitGatewayVpcAttachmentInput) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
31618	req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
31619	return out, req.Send()
31620}
31621
31622// ModifyTransitGatewayVpcAttachmentWithContext is the same as ModifyTransitGatewayVpcAttachment with the addition of
31623// the ability to pass a context and additional request options.
31624//
31625// See ModifyTransitGatewayVpcAttachment for details on how to use this API operation.
31626//
31627// The context must be non-nil and will be used for request cancellation. If
31628// the context is nil a panic will occur. In the future the SDK may create
31629// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31630// for more information on using Contexts.
31631func (c *EC2) ModifyTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *ModifyTransitGatewayVpcAttachmentInput, opts ...request.Option) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
31632	req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
31633	req.SetContext(ctx)
31634	req.ApplyOptions(opts...)
31635	return out, req.Send()
31636}
31637
31638const opModifyVolume = "ModifyVolume"
31639
31640// ModifyVolumeRequest generates a "aws/request.Request" representing the
31641// client's request for the ModifyVolume operation. The "output" return
31642// value will be populated with the request's response once the request completes
31643// successfully.
31644//
31645// Use "Send" method on the returned Request to send the API call to the service.
31646// the "output" return value is not valid until after Send returns without error.
31647//
31648// See ModifyVolume for more information on using the ModifyVolume
31649// API call, and error handling.
31650//
31651// This method is useful when you want to inject custom logic or configuration
31652// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31653//
31654//
31655//    // Example sending a request using the ModifyVolumeRequest method.
31656//    req, resp := client.ModifyVolumeRequest(params)
31657//
31658//    err := req.Send()
31659//    if err == nil { // resp is now filled
31660//        fmt.Println(resp)
31661//    }
31662//
31663// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
31664func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
31665	op := &request.Operation{
31666		Name:       opModifyVolume,
31667		HTTPMethod: "POST",
31668		HTTPPath:   "/",
31669	}
31670
31671	if input == nil {
31672		input = &ModifyVolumeInput{}
31673	}
31674
31675	output = &ModifyVolumeOutput{}
31676	req = c.newRequest(op, input, output)
31677	return
31678}
31679
31680// ModifyVolume API operation for Amazon Elastic Compute Cloud.
31681//
31682// You can modify several parameters of an existing EBS volume, including volume
31683// size, volume type, and IOPS capacity. If your EBS volume is attached to a
31684// current-generation EC2 instance type, you may be able to apply these changes
31685// without stopping the instance or detaching the volume from it. For more information
31686// about modifying an EBS volume running Linux, see Modifying the Size, IOPS,
31687// or Type of an EBS Volume on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
31688// For more information about modifying an EBS volume running Windows, see Modifying
31689// the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
31690//
31691// When you complete a resize operation on your volume, you need to extend the
31692// volume's file-system size to take advantage of the new storage capacity.
31693// For information about extending a Linux file system, see Extending a Linux
31694// File System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
31695// For information about extending a Windows file system, see Extending a Windows
31696// File System (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
31697//
31698// You can use CloudWatch Events to check the status of a modification to an
31699// EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
31700// Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
31701// You can also track the status of a modification using DescribeVolumesModifications.
31702// For information about tracking status changes using either method, see Monitoring
31703// Volume Modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
31704//
31705// With previous-generation instance types, resizing an EBS volume may require
31706// detaching and reattaching the volume or stopping and restarting the instance.
31707// For more information, see Modifying the Size, IOPS, or Type of an EBS Volume
31708// on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html)
31709// and Modifying the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
31710//
31711// If you reach the maximum volume modification rate per volume limit, you will
31712// need to wait at least six hours before applying further modifications to
31713// the affected EBS volume.
31714//
31715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31716// with awserr.Error's Code and Message methods to get detailed information about
31717// the error.
31718//
31719// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31720// API operation ModifyVolume for usage and error information.
31721// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
31722func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
31723	req, out := c.ModifyVolumeRequest(input)
31724	return out, req.Send()
31725}
31726
31727// ModifyVolumeWithContext is the same as ModifyVolume with the addition of
31728// the ability to pass a context and additional request options.
31729//
31730// See ModifyVolume for details on how to use this API operation.
31731//
31732// The context must be non-nil and will be used for request cancellation. If
31733// the context is nil a panic will occur. In the future the SDK may create
31734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31735// for more information on using Contexts.
31736func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
31737	req, out := c.ModifyVolumeRequest(input)
31738	req.SetContext(ctx)
31739	req.ApplyOptions(opts...)
31740	return out, req.Send()
31741}
31742
31743const opModifyVolumeAttribute = "ModifyVolumeAttribute"
31744
31745// ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
31746// client's request for the ModifyVolumeAttribute operation. The "output" return
31747// value will be populated with the request's response once the request completes
31748// successfully.
31749//
31750// Use "Send" method on the returned Request to send the API call to the service.
31751// the "output" return value is not valid until after Send returns without error.
31752//
31753// See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
31754// API call, and error handling.
31755//
31756// This method is useful when you want to inject custom logic or configuration
31757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31758//
31759//
31760//    // Example sending a request using the ModifyVolumeAttributeRequest method.
31761//    req, resp := client.ModifyVolumeAttributeRequest(params)
31762//
31763//    err := req.Send()
31764//    if err == nil { // resp is now filled
31765//        fmt.Println(resp)
31766//    }
31767//
31768// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
31769func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
31770	op := &request.Operation{
31771		Name:       opModifyVolumeAttribute,
31772		HTTPMethod: "POST",
31773		HTTPPath:   "/",
31774	}
31775
31776	if input == nil {
31777		input = &ModifyVolumeAttributeInput{}
31778	}
31779
31780	output = &ModifyVolumeAttributeOutput{}
31781	req = c.newRequest(op, input, output)
31782	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
31783	return
31784}
31785
31786// ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
31787//
31788// Modifies a volume attribute.
31789//
31790// By default, all I/O operations for the volume are suspended when the data
31791// on the volume is determined to be potentially inconsistent, to prevent undetectable,
31792// latent data corruption. The I/O access to the volume can be resumed by first
31793// enabling I/O access and then checking the data consistency on your volume.
31794//
31795// You can change the default behavior to resume I/O operations. We recommend
31796// that you change this only for boot volumes or for volumes that are stateless
31797// or disposable.
31798//
31799// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31800// with awserr.Error's Code and Message methods to get detailed information about
31801// the error.
31802//
31803// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31804// API operation ModifyVolumeAttribute for usage and error information.
31805// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
31806func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
31807	req, out := c.ModifyVolumeAttributeRequest(input)
31808	return out, req.Send()
31809}
31810
31811// ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
31812// the ability to pass a context and additional request options.
31813//
31814// See ModifyVolumeAttribute for details on how to use this API operation.
31815//
31816// The context must be non-nil and will be used for request cancellation. If
31817// the context is nil a panic will occur. In the future the SDK may create
31818// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31819// for more information on using Contexts.
31820func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
31821	req, out := c.ModifyVolumeAttributeRequest(input)
31822	req.SetContext(ctx)
31823	req.ApplyOptions(opts...)
31824	return out, req.Send()
31825}
31826
31827const opModifyVpcAttribute = "ModifyVpcAttribute"
31828
31829// ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
31830// client's request for the ModifyVpcAttribute operation. The "output" return
31831// value will be populated with the request's response once the request completes
31832// successfully.
31833//
31834// Use "Send" method on the returned Request to send the API call to the service.
31835// the "output" return value is not valid until after Send returns without error.
31836//
31837// See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
31838// API call, and error handling.
31839//
31840// This method is useful when you want to inject custom logic or configuration
31841// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31842//
31843//
31844//    // Example sending a request using the ModifyVpcAttributeRequest method.
31845//    req, resp := client.ModifyVpcAttributeRequest(params)
31846//
31847//    err := req.Send()
31848//    if err == nil { // resp is now filled
31849//        fmt.Println(resp)
31850//    }
31851//
31852// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
31853func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
31854	op := &request.Operation{
31855		Name:       opModifyVpcAttribute,
31856		HTTPMethod: "POST",
31857		HTTPPath:   "/",
31858	}
31859
31860	if input == nil {
31861		input = &ModifyVpcAttributeInput{}
31862	}
31863
31864	output = &ModifyVpcAttributeOutput{}
31865	req = c.newRequest(op, input, output)
31866	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
31867	return
31868}
31869
31870// ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
31871//
31872// Modifies the specified attribute of the specified VPC.
31873//
31874// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31875// with awserr.Error's Code and Message methods to get detailed information about
31876// the error.
31877//
31878// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31879// API operation ModifyVpcAttribute for usage and error information.
31880// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
31881func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
31882	req, out := c.ModifyVpcAttributeRequest(input)
31883	return out, req.Send()
31884}
31885
31886// ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
31887// the ability to pass a context and additional request options.
31888//
31889// See ModifyVpcAttribute for details on how to use this API operation.
31890//
31891// The context must be non-nil and will be used for request cancellation. If
31892// the context is nil a panic will occur. In the future the SDK may create
31893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31894// for more information on using Contexts.
31895func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
31896	req, out := c.ModifyVpcAttributeRequest(input)
31897	req.SetContext(ctx)
31898	req.ApplyOptions(opts...)
31899	return out, req.Send()
31900}
31901
31902const opModifyVpcEndpoint = "ModifyVpcEndpoint"
31903
31904// ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
31905// client's request for the ModifyVpcEndpoint operation. The "output" return
31906// value will be populated with the request's response once the request completes
31907// successfully.
31908//
31909// Use "Send" method on the returned Request to send the API call to the service.
31910// the "output" return value is not valid until after Send returns without error.
31911//
31912// See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
31913// API call, and error handling.
31914//
31915// This method is useful when you want to inject custom logic or configuration
31916// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31917//
31918//
31919//    // Example sending a request using the ModifyVpcEndpointRequest method.
31920//    req, resp := client.ModifyVpcEndpointRequest(params)
31921//
31922//    err := req.Send()
31923//    if err == nil { // resp is now filled
31924//        fmt.Println(resp)
31925//    }
31926//
31927// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
31928func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
31929	op := &request.Operation{
31930		Name:       opModifyVpcEndpoint,
31931		HTTPMethod: "POST",
31932		HTTPPath:   "/",
31933	}
31934
31935	if input == nil {
31936		input = &ModifyVpcEndpointInput{}
31937	}
31938
31939	output = &ModifyVpcEndpointOutput{}
31940	req = c.newRequest(op, input, output)
31941	return
31942}
31943
31944// ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
31945//
31946// Modifies attributes of a specified VPC endpoint. The attributes that you
31947// can modify depend on the type of VPC endpoint (interface or gateway). For
31948// more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
31949// in the Amazon Virtual Private Cloud User Guide.
31950//
31951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31952// with awserr.Error's Code and Message methods to get detailed information about
31953// the error.
31954//
31955// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31956// API operation ModifyVpcEndpoint for usage and error information.
31957// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
31958func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
31959	req, out := c.ModifyVpcEndpointRequest(input)
31960	return out, req.Send()
31961}
31962
31963// ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
31964// the ability to pass a context and additional request options.
31965//
31966// See ModifyVpcEndpoint for details on how to use this API operation.
31967//
31968// The context must be non-nil and will be used for request cancellation. If
31969// the context is nil a panic will occur. In the future the SDK may create
31970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31971// for more information on using Contexts.
31972func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
31973	req, out := c.ModifyVpcEndpointRequest(input)
31974	req.SetContext(ctx)
31975	req.ApplyOptions(opts...)
31976	return out, req.Send()
31977}
31978
31979const opModifyVpcEndpointConnectionNotification = "ModifyVpcEndpointConnectionNotification"
31980
31981// ModifyVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
31982// client's request for the ModifyVpcEndpointConnectionNotification operation. The "output" return
31983// value will be populated with the request's response once the request completes
31984// successfully.
31985//
31986// Use "Send" method on the returned Request to send the API call to the service.
31987// the "output" return value is not valid until after Send returns without error.
31988//
31989// See ModifyVpcEndpointConnectionNotification for more information on using the ModifyVpcEndpointConnectionNotification
31990// API call, and error handling.
31991//
31992// This method is useful when you want to inject custom logic or configuration
31993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31994//
31995//
31996//    // Example sending a request using the ModifyVpcEndpointConnectionNotificationRequest method.
31997//    req, resp := client.ModifyVpcEndpointConnectionNotificationRequest(params)
31998//
31999//    err := req.Send()
32000//    if err == nil { // resp is now filled
32001//        fmt.Println(resp)
32002//    }
32003//
32004// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
32005func (c *EC2) ModifyVpcEndpointConnectionNotificationRequest(input *ModifyVpcEndpointConnectionNotificationInput) (req *request.Request, output *ModifyVpcEndpointConnectionNotificationOutput) {
32006	op := &request.Operation{
32007		Name:       opModifyVpcEndpointConnectionNotification,
32008		HTTPMethod: "POST",
32009		HTTPPath:   "/",
32010	}
32011
32012	if input == nil {
32013		input = &ModifyVpcEndpointConnectionNotificationInput{}
32014	}
32015
32016	output = &ModifyVpcEndpointConnectionNotificationOutput{}
32017	req = c.newRequest(op, input, output)
32018	return
32019}
32020
32021// ModifyVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
32022//
32023// Modifies a connection notification for VPC endpoint or VPC endpoint service.
32024// You can change the SNS topic for the notification, or the events for which
32025// to be notified.
32026//
32027// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32028// with awserr.Error's Code and Message methods to get detailed information about
32029// the error.
32030//
32031// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32032// API operation ModifyVpcEndpointConnectionNotification for usage and error information.
32033// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
32034func (c *EC2) ModifyVpcEndpointConnectionNotification(input *ModifyVpcEndpointConnectionNotificationInput) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
32035	req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
32036	return out, req.Send()
32037}
32038
32039// ModifyVpcEndpointConnectionNotificationWithContext is the same as ModifyVpcEndpointConnectionNotification with the addition of
32040// the ability to pass a context and additional request options.
32041//
32042// See ModifyVpcEndpointConnectionNotification for details on how to use this API operation.
32043//
32044// The context must be non-nil and will be used for request cancellation. If
32045// the context is nil a panic will occur. In the future the SDK may create
32046// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32047// for more information on using Contexts.
32048func (c *EC2) ModifyVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *ModifyVpcEndpointConnectionNotificationInput, opts ...request.Option) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
32049	req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
32050	req.SetContext(ctx)
32051	req.ApplyOptions(opts...)
32052	return out, req.Send()
32053}
32054
32055const opModifyVpcEndpointServiceConfiguration = "ModifyVpcEndpointServiceConfiguration"
32056
32057// ModifyVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
32058// client's request for the ModifyVpcEndpointServiceConfiguration operation. The "output" return
32059// value will be populated with the request's response once the request completes
32060// successfully.
32061//
32062// Use "Send" method on the returned Request to send the API call to the service.
32063// the "output" return value is not valid until after Send returns without error.
32064//
32065// See ModifyVpcEndpointServiceConfiguration for more information on using the ModifyVpcEndpointServiceConfiguration
32066// API call, and error handling.
32067//
32068// This method is useful when you want to inject custom logic or configuration
32069// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32070//
32071//
32072//    // Example sending a request using the ModifyVpcEndpointServiceConfigurationRequest method.
32073//    req, resp := client.ModifyVpcEndpointServiceConfigurationRequest(params)
32074//
32075//    err := req.Send()
32076//    if err == nil { // resp is now filled
32077//        fmt.Println(resp)
32078//    }
32079//
32080// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
32081func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpointServiceConfigurationInput) (req *request.Request, output *ModifyVpcEndpointServiceConfigurationOutput) {
32082	op := &request.Operation{
32083		Name:       opModifyVpcEndpointServiceConfiguration,
32084		HTTPMethod: "POST",
32085		HTTPPath:   "/",
32086	}
32087
32088	if input == nil {
32089		input = &ModifyVpcEndpointServiceConfigurationInput{}
32090	}
32091
32092	output = &ModifyVpcEndpointServiceConfigurationOutput{}
32093	req = c.newRequest(op, input, output)
32094	return
32095}
32096
32097// ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
32098//
32099// Modifies the attributes of your VPC endpoint service configuration. You can
32100// change the Network Load Balancers for your service, and you can specify whether
32101// acceptance is required for requests to connect to your endpoint service through
32102// an interface VPC endpoint.
32103//
32104// If you set or modify the private DNS name, you must prove that you own the
32105// private DNS domain name. For more information, see VPC Endpoint Service Private
32106// DNS Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-dns-validation.html)
32107// in the Amazon Virtual Private Cloud User Guide.
32108//
32109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32110// with awserr.Error's Code and Message methods to get detailed information about
32111// the error.
32112//
32113// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32114// API operation ModifyVpcEndpointServiceConfiguration for usage and error information.
32115// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
32116func (c *EC2) ModifyVpcEndpointServiceConfiguration(input *ModifyVpcEndpointServiceConfigurationInput) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
32117	req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
32118	return out, req.Send()
32119}
32120
32121// ModifyVpcEndpointServiceConfigurationWithContext is the same as ModifyVpcEndpointServiceConfiguration with the addition of
32122// the ability to pass a context and additional request options.
32123//
32124// See ModifyVpcEndpointServiceConfiguration for details on how to use this API operation.
32125//
32126// The context must be non-nil and will be used for request cancellation. If
32127// the context is nil a panic will occur. In the future the SDK may create
32128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32129// for more information on using Contexts.
32130func (c *EC2) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *ModifyVpcEndpointServiceConfigurationInput, opts ...request.Option) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
32131	req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
32132	req.SetContext(ctx)
32133	req.ApplyOptions(opts...)
32134	return out, req.Send()
32135}
32136
32137const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions"
32138
32139// ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
32140// client's request for the ModifyVpcEndpointServicePermissions operation. The "output" return
32141// value will be populated with the request's response once the request completes
32142// successfully.
32143//
32144// Use "Send" method on the returned Request to send the API call to the service.
32145// the "output" return value is not valid until after Send returns without error.
32146//
32147// See ModifyVpcEndpointServicePermissions for more information on using the ModifyVpcEndpointServicePermissions
32148// API call, and error handling.
32149//
32150// This method is useful when you want to inject custom logic or configuration
32151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32152//
32153//
32154//    // Example sending a request using the ModifyVpcEndpointServicePermissionsRequest method.
32155//    req, resp := client.ModifyVpcEndpointServicePermissionsRequest(params)
32156//
32157//    err := req.Send()
32158//    if err == nil { // resp is now filled
32159//        fmt.Println(resp)
32160//    }
32161//
32162// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
32163func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpointServicePermissionsInput) (req *request.Request, output *ModifyVpcEndpointServicePermissionsOutput) {
32164	op := &request.Operation{
32165		Name:       opModifyVpcEndpointServicePermissions,
32166		HTTPMethod: "POST",
32167		HTTPPath:   "/",
32168	}
32169
32170	if input == nil {
32171		input = &ModifyVpcEndpointServicePermissionsInput{}
32172	}
32173
32174	output = &ModifyVpcEndpointServicePermissionsOutput{}
32175	req = c.newRequest(op, input, output)
32176	return
32177}
32178
32179// ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
32180//
32181// Modifies the permissions for your VPC endpoint service (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html).
32182// You can add or remove permissions for service consumers (IAM users, IAM roles,
32183// and AWS accounts) to connect to your endpoint service.
32184//
32185// If you grant permissions to all principals, the service is public. Any users
32186// who know the name of a public service can send a request to attach an endpoint.
32187// If the service does not require manual approval, attachments are automatically
32188// approved.
32189//
32190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32191// with awserr.Error's Code and Message methods to get detailed information about
32192// the error.
32193//
32194// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32195// API operation ModifyVpcEndpointServicePermissions for usage and error information.
32196// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
32197func (c *EC2) ModifyVpcEndpointServicePermissions(input *ModifyVpcEndpointServicePermissionsInput) (*ModifyVpcEndpointServicePermissionsOutput, error) {
32198	req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
32199	return out, req.Send()
32200}
32201
32202// ModifyVpcEndpointServicePermissionsWithContext is the same as ModifyVpcEndpointServicePermissions with the addition of
32203// the ability to pass a context and additional request options.
32204//
32205// See ModifyVpcEndpointServicePermissions for details on how to use this API operation.
32206//
32207// The context must be non-nil and will be used for request cancellation. If
32208// the context is nil a panic will occur. In the future the SDK may create
32209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32210// for more information on using Contexts.
32211func (c *EC2) ModifyVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePermissionsInput, opts ...request.Option) (*ModifyVpcEndpointServicePermissionsOutput, error) {
32212	req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
32213	req.SetContext(ctx)
32214	req.ApplyOptions(opts...)
32215	return out, req.Send()
32216}
32217
32218const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
32219
32220// ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
32221// client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
32222// value will be populated with the request's response once the request completes
32223// successfully.
32224//
32225// Use "Send" method on the returned Request to send the API call to the service.
32226// the "output" return value is not valid until after Send returns without error.
32227//
32228// See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
32229// API call, and error handling.
32230//
32231// This method is useful when you want to inject custom logic or configuration
32232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32233//
32234//
32235//    // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
32236//    req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
32237//
32238//    err := req.Send()
32239//    if err == nil { // resp is now filled
32240//        fmt.Println(resp)
32241//    }
32242//
32243// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
32244func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
32245	op := &request.Operation{
32246		Name:       opModifyVpcPeeringConnectionOptions,
32247		HTTPMethod: "POST",
32248		HTTPPath:   "/",
32249	}
32250
32251	if input == nil {
32252		input = &ModifyVpcPeeringConnectionOptionsInput{}
32253	}
32254
32255	output = &ModifyVpcPeeringConnectionOptionsOutput{}
32256	req = c.newRequest(op, input, output)
32257	return
32258}
32259
32260// ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
32261//
32262// Modifies the VPC peering connection options on one side of a VPC peering
32263// connection. You can do the following:
32264//
32265//    * Enable/disable communication over the peering connection between an
32266//    EC2-Classic instance that's linked to your VPC (using ClassicLink) and
32267//    instances in the peer VPC.
32268//
32269//    * Enable/disable communication over the peering connection between instances
32270//    in your VPC and an EC2-Classic instance that's linked to the peer VPC.
32271//
32272//    * Enable/disable the ability to resolve public DNS hostnames to private
32273//    IP addresses when queried from instances in the peer VPC.
32274//
32275// If the peered VPCs are in the same AWS account, you can enable DNS resolution
32276// for queries from the local VPC. This ensures that queries from the local
32277// VPC resolve to private IP addresses in the peer VPC. This option is not available
32278// if the peered VPCs are in different AWS accounts or different Regions. For
32279// peered VPCs in different AWS accounts, each AWS account owner must initiate
32280// a separate request to modify the peering connection options. For inter-region
32281// peering connections, you must use the Region for the requester VPC to modify
32282// the requester VPC peering options and the Region for the accepter VPC to
32283// modify the accepter VPC peering options. To verify which VPCs are the accepter
32284// and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections
32285// command.
32286//
32287// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32288// with awserr.Error's Code and Message methods to get detailed information about
32289// the error.
32290//
32291// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32292// API operation ModifyVpcPeeringConnectionOptions for usage and error information.
32293// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
32294func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
32295	req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
32296	return out, req.Send()
32297}
32298
32299// ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
32300// the ability to pass a context and additional request options.
32301//
32302// See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
32303//
32304// The context must be non-nil and will be used for request cancellation. If
32305// the context is nil a panic will occur. In the future the SDK may create
32306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32307// for more information on using Contexts.
32308func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
32309	req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
32310	req.SetContext(ctx)
32311	req.ApplyOptions(opts...)
32312	return out, req.Send()
32313}
32314
32315const opModifyVpcTenancy = "ModifyVpcTenancy"
32316
32317// ModifyVpcTenancyRequest generates a "aws/request.Request" representing the
32318// client's request for the ModifyVpcTenancy operation. The "output" return
32319// value will be populated with the request's response once the request completes
32320// successfully.
32321//
32322// Use "Send" method on the returned Request to send the API call to the service.
32323// the "output" return value is not valid until after Send returns without error.
32324//
32325// See ModifyVpcTenancy for more information on using the ModifyVpcTenancy
32326// API call, and error handling.
32327//
32328// This method is useful when you want to inject custom logic or configuration
32329// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32330//
32331//
32332//    // Example sending a request using the ModifyVpcTenancyRequest method.
32333//    req, resp := client.ModifyVpcTenancyRequest(params)
32334//
32335//    err := req.Send()
32336//    if err == nil { // resp is now filled
32337//        fmt.Println(resp)
32338//    }
32339//
32340// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
32341func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *request.Request, output *ModifyVpcTenancyOutput) {
32342	op := &request.Operation{
32343		Name:       opModifyVpcTenancy,
32344		HTTPMethod: "POST",
32345		HTTPPath:   "/",
32346	}
32347
32348	if input == nil {
32349		input = &ModifyVpcTenancyInput{}
32350	}
32351
32352	output = &ModifyVpcTenancyOutput{}
32353	req = c.newRequest(op, input, output)
32354	return
32355}
32356
32357// ModifyVpcTenancy API operation for Amazon Elastic Compute Cloud.
32358//
32359// Modifies the instance tenancy attribute of the specified VPC. You can change
32360// the instance tenancy attribute of a VPC to default only. You cannot change
32361// the instance tenancy attribute to dedicated.
32362//
32363// After you modify the tenancy of the VPC, any new instances that you launch
32364// into the VPC have a tenancy of default, unless you specify otherwise during
32365// launch. The tenancy of any existing instances in the VPC is not affected.
32366//
32367// For more information, see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
32368// in the Amazon Elastic Compute Cloud User Guide.
32369//
32370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32371// with awserr.Error's Code and Message methods to get detailed information about
32372// the error.
32373//
32374// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32375// API operation ModifyVpcTenancy for usage and error information.
32376// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
32377func (c *EC2) ModifyVpcTenancy(input *ModifyVpcTenancyInput) (*ModifyVpcTenancyOutput, error) {
32378	req, out := c.ModifyVpcTenancyRequest(input)
32379	return out, req.Send()
32380}
32381
32382// ModifyVpcTenancyWithContext is the same as ModifyVpcTenancy with the addition of
32383// the ability to pass a context and additional request options.
32384//
32385// See ModifyVpcTenancy for details on how to use this API operation.
32386//
32387// The context must be non-nil and will be used for request cancellation. If
32388// the context is nil a panic will occur. In the future the SDK may create
32389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32390// for more information on using Contexts.
32391func (c *EC2) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenancyInput, opts ...request.Option) (*ModifyVpcTenancyOutput, error) {
32392	req, out := c.ModifyVpcTenancyRequest(input)
32393	req.SetContext(ctx)
32394	req.ApplyOptions(opts...)
32395	return out, req.Send()
32396}
32397
32398const opModifyVpnConnection = "ModifyVpnConnection"
32399
32400// ModifyVpnConnectionRequest generates a "aws/request.Request" representing the
32401// client's request for the ModifyVpnConnection operation. The "output" return
32402// value will be populated with the request's response once the request completes
32403// successfully.
32404//
32405// Use "Send" method on the returned Request to send the API call to the service.
32406// the "output" return value is not valid until after Send returns without error.
32407//
32408// See ModifyVpnConnection for more information on using the ModifyVpnConnection
32409// API call, and error handling.
32410//
32411// This method is useful when you want to inject custom logic or configuration
32412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32413//
32414//
32415//    // Example sending a request using the ModifyVpnConnectionRequest method.
32416//    req, resp := client.ModifyVpnConnectionRequest(params)
32417//
32418//    err := req.Send()
32419//    if err == nil { // resp is now filled
32420//        fmt.Println(resp)
32421//    }
32422//
32423// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
32424func (c *EC2) ModifyVpnConnectionRequest(input *ModifyVpnConnectionInput) (req *request.Request, output *ModifyVpnConnectionOutput) {
32425	op := &request.Operation{
32426		Name:       opModifyVpnConnection,
32427		HTTPMethod: "POST",
32428		HTTPPath:   "/",
32429	}
32430
32431	if input == nil {
32432		input = &ModifyVpnConnectionInput{}
32433	}
32434
32435	output = &ModifyVpnConnectionOutput{}
32436	req = c.newRequest(op, input, output)
32437	return
32438}
32439
32440// ModifyVpnConnection API operation for Amazon Elastic Compute Cloud.
32441//
32442// Modifies the target gateway of an AWS Site-to-Site VPN connection. The following
32443// migration options are available:
32444//
32445//    * An existing virtual private gateway to a new virtual private gateway
32446//
32447//    * An existing virtual private gateway to a transit gateway
32448//
32449//    * An existing transit gateway to a new transit gateway
32450//
32451//    * An existing transit gateway to a virtual private gateway
32452//
32453// Before you perform the migration to the new gateway, you must configure the
32454// new gateway. Use CreateVpnGateway to create a virtual private gateway, or
32455// CreateTransitGateway to create a transit gateway.
32456//
32457// This step is required when you migrate from a virtual private gateway with
32458// static routes to a transit gateway.
32459//
32460// You must delete the static routes before you migrate to the new gateway.
32461//
32462// Keep a copy of the static route before you delete it. You will need to add
32463// back these routes to the transit gateway after the VPN connection migration
32464// is complete.
32465//
32466// After you migrate to the new gateway, you might need to modify your VPC route
32467// table. Use CreateRoute and DeleteRoute to make the changes described in VPN
32468// Gateway Target Modification Required VPC Route Table Updates (https://docs.aws.amazon.com/vpn/latest/s2svpn/modify-vpn-target.html#step-update-routing)
32469// in the AWS Site-to-Site VPN User Guide.
32470//
32471// When the new gateway is a transit gateway, modify the transit gateway route
32472// table to allow traffic between the VPC and the AWS Site-to-Site VPN connection.
32473// Use CreateTransitGatewayRoute to add the routes.
32474//
32475// If you deleted VPN static routes, you must add the static routes to the transit
32476// gateway route table.
32477//
32478// After you perform this operation, the AWS VPN endpoint's IP addresses on
32479// the AWS side and the tunnel options remain intact. Your AWS Site-to-Site
32480// VPN connection will be temporarily unavailable for a brief period while we
32481// provision the new endpoints.
32482//
32483// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32484// with awserr.Error's Code and Message methods to get detailed information about
32485// the error.
32486//
32487// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32488// API operation ModifyVpnConnection for usage and error information.
32489// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
32490func (c *EC2) ModifyVpnConnection(input *ModifyVpnConnectionInput) (*ModifyVpnConnectionOutput, error) {
32491	req, out := c.ModifyVpnConnectionRequest(input)
32492	return out, req.Send()
32493}
32494
32495// ModifyVpnConnectionWithContext is the same as ModifyVpnConnection with the addition of
32496// the ability to pass a context and additional request options.
32497//
32498// See ModifyVpnConnection for details on how to use this API operation.
32499//
32500// The context must be non-nil and will be used for request cancellation. If
32501// the context is nil a panic will occur. In the future the SDK may create
32502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32503// for more information on using Contexts.
32504func (c *EC2) ModifyVpnConnectionWithContext(ctx aws.Context, input *ModifyVpnConnectionInput, opts ...request.Option) (*ModifyVpnConnectionOutput, error) {
32505	req, out := c.ModifyVpnConnectionRequest(input)
32506	req.SetContext(ctx)
32507	req.ApplyOptions(opts...)
32508	return out, req.Send()
32509}
32510
32511const opModifyVpnTunnelCertificate = "ModifyVpnTunnelCertificate"
32512
32513// ModifyVpnTunnelCertificateRequest generates a "aws/request.Request" representing the
32514// client's request for the ModifyVpnTunnelCertificate operation. The "output" return
32515// value will be populated with the request's response once the request completes
32516// successfully.
32517//
32518// Use "Send" method on the returned Request to send the API call to the service.
32519// the "output" return value is not valid until after Send returns without error.
32520//
32521// See ModifyVpnTunnelCertificate for more information on using the ModifyVpnTunnelCertificate
32522// API call, and error handling.
32523//
32524// This method is useful when you want to inject custom logic or configuration
32525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32526//
32527//
32528//    // Example sending a request using the ModifyVpnTunnelCertificateRequest method.
32529//    req, resp := client.ModifyVpnTunnelCertificateRequest(params)
32530//
32531//    err := req.Send()
32532//    if err == nil { // resp is now filled
32533//        fmt.Println(resp)
32534//    }
32535//
32536// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate
32537func (c *EC2) ModifyVpnTunnelCertificateRequest(input *ModifyVpnTunnelCertificateInput) (req *request.Request, output *ModifyVpnTunnelCertificateOutput) {
32538	op := &request.Operation{
32539		Name:       opModifyVpnTunnelCertificate,
32540		HTTPMethod: "POST",
32541		HTTPPath:   "/",
32542	}
32543
32544	if input == nil {
32545		input = &ModifyVpnTunnelCertificateInput{}
32546	}
32547
32548	output = &ModifyVpnTunnelCertificateOutput{}
32549	req = c.newRequest(op, input, output)
32550	return
32551}
32552
32553// ModifyVpnTunnelCertificate API operation for Amazon Elastic Compute Cloud.
32554//
32555// Modifies the VPN tunnel endpoint certificate.
32556//
32557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32558// with awserr.Error's Code and Message methods to get detailed information about
32559// the error.
32560//
32561// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32562// API operation ModifyVpnTunnelCertificate for usage and error information.
32563// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate
32564func (c *EC2) ModifyVpnTunnelCertificate(input *ModifyVpnTunnelCertificateInput) (*ModifyVpnTunnelCertificateOutput, error) {
32565	req, out := c.ModifyVpnTunnelCertificateRequest(input)
32566	return out, req.Send()
32567}
32568
32569// ModifyVpnTunnelCertificateWithContext is the same as ModifyVpnTunnelCertificate with the addition of
32570// the ability to pass a context and additional request options.
32571//
32572// See ModifyVpnTunnelCertificate for details on how to use this API operation.
32573//
32574// The context must be non-nil and will be used for request cancellation. If
32575// the context is nil a panic will occur. In the future the SDK may create
32576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32577// for more information on using Contexts.
32578func (c *EC2) ModifyVpnTunnelCertificateWithContext(ctx aws.Context, input *ModifyVpnTunnelCertificateInput, opts ...request.Option) (*ModifyVpnTunnelCertificateOutput, error) {
32579	req, out := c.ModifyVpnTunnelCertificateRequest(input)
32580	req.SetContext(ctx)
32581	req.ApplyOptions(opts...)
32582	return out, req.Send()
32583}
32584
32585const opModifyVpnTunnelOptions = "ModifyVpnTunnelOptions"
32586
32587// ModifyVpnTunnelOptionsRequest generates a "aws/request.Request" representing the
32588// client's request for the ModifyVpnTunnelOptions operation. The "output" return
32589// value will be populated with the request's response once the request completes
32590// successfully.
32591//
32592// Use "Send" method on the returned Request to send the API call to the service.
32593// the "output" return value is not valid until after Send returns without error.
32594//
32595// See ModifyVpnTunnelOptions for more information on using the ModifyVpnTunnelOptions
32596// API call, and error handling.
32597//
32598// This method is useful when you want to inject custom logic or configuration
32599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32600//
32601//
32602//    // Example sending a request using the ModifyVpnTunnelOptionsRequest method.
32603//    req, resp := client.ModifyVpnTunnelOptionsRequest(params)
32604//
32605//    err := req.Send()
32606//    if err == nil { // resp is now filled
32607//        fmt.Println(resp)
32608//    }
32609//
32610// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions
32611func (c *EC2) ModifyVpnTunnelOptionsRequest(input *ModifyVpnTunnelOptionsInput) (req *request.Request, output *ModifyVpnTunnelOptionsOutput) {
32612	op := &request.Operation{
32613		Name:       opModifyVpnTunnelOptions,
32614		HTTPMethod: "POST",
32615		HTTPPath:   "/",
32616	}
32617
32618	if input == nil {
32619		input = &ModifyVpnTunnelOptionsInput{}
32620	}
32621
32622	output = &ModifyVpnTunnelOptionsOutput{}
32623	req = c.newRequest(op, input, output)
32624	return
32625}
32626
32627// ModifyVpnTunnelOptions API operation for Amazon Elastic Compute Cloud.
32628//
32629// Modifies the options for a VPN tunnel in an AWS Site-to-Site VPN connection.
32630// You can modify multiple options for a tunnel in a single request, but you
32631// can only modify one tunnel at a time. For more information, see Site-to-Site
32632// VPN Tunnel Options for Your Site-to-Site VPN Connection (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNTunnels.html)
32633// in the AWS Site-to-Site VPN User Guide.
32634//
32635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32636// with awserr.Error's Code and Message methods to get detailed information about
32637// the error.
32638//
32639// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32640// API operation ModifyVpnTunnelOptions for usage and error information.
32641// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions
32642func (c *EC2) ModifyVpnTunnelOptions(input *ModifyVpnTunnelOptionsInput) (*ModifyVpnTunnelOptionsOutput, error) {
32643	req, out := c.ModifyVpnTunnelOptionsRequest(input)
32644	return out, req.Send()
32645}
32646
32647// ModifyVpnTunnelOptionsWithContext is the same as ModifyVpnTunnelOptions with the addition of
32648// the ability to pass a context and additional request options.
32649//
32650// See ModifyVpnTunnelOptions for details on how to use this API operation.
32651//
32652// The context must be non-nil and will be used for request cancellation. If
32653// the context is nil a panic will occur. In the future the SDK may create
32654// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32655// for more information on using Contexts.
32656func (c *EC2) ModifyVpnTunnelOptionsWithContext(ctx aws.Context, input *ModifyVpnTunnelOptionsInput, opts ...request.Option) (*ModifyVpnTunnelOptionsOutput, error) {
32657	req, out := c.ModifyVpnTunnelOptionsRequest(input)
32658	req.SetContext(ctx)
32659	req.ApplyOptions(opts...)
32660	return out, req.Send()
32661}
32662
32663const opMonitorInstances = "MonitorInstances"
32664
32665// MonitorInstancesRequest generates a "aws/request.Request" representing the
32666// client's request for the MonitorInstances operation. The "output" return
32667// value will be populated with the request's response once the request completes
32668// successfully.
32669//
32670// Use "Send" method on the returned Request to send the API call to the service.
32671// the "output" return value is not valid until after Send returns without error.
32672//
32673// See MonitorInstances for more information on using the MonitorInstances
32674// API call, and error handling.
32675//
32676// This method is useful when you want to inject custom logic or configuration
32677// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32678//
32679//
32680//    // Example sending a request using the MonitorInstancesRequest method.
32681//    req, resp := client.MonitorInstancesRequest(params)
32682//
32683//    err := req.Send()
32684//    if err == nil { // resp is now filled
32685//        fmt.Println(resp)
32686//    }
32687//
32688// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
32689func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
32690	op := &request.Operation{
32691		Name:       opMonitorInstances,
32692		HTTPMethod: "POST",
32693		HTTPPath:   "/",
32694	}
32695
32696	if input == nil {
32697		input = &MonitorInstancesInput{}
32698	}
32699
32700	output = &MonitorInstancesOutput{}
32701	req = c.newRequest(op, input, output)
32702	return
32703}
32704
32705// MonitorInstances API operation for Amazon Elastic Compute Cloud.
32706//
32707// Enables detailed monitoring for a running instance. Otherwise, basic monitoring
32708// is enabled. For more information, see Monitoring Your Instances and Volumes
32709// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
32710// in the Amazon Elastic Compute Cloud User Guide.
32711//
32712// To disable detailed monitoring, see .
32713//
32714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32715// with awserr.Error's Code and Message methods to get detailed information about
32716// the error.
32717//
32718// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32719// API operation MonitorInstances for usage and error information.
32720// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
32721func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
32722	req, out := c.MonitorInstancesRequest(input)
32723	return out, req.Send()
32724}
32725
32726// MonitorInstancesWithContext is the same as MonitorInstances with the addition of
32727// the ability to pass a context and additional request options.
32728//
32729// See MonitorInstances for details on how to use this API operation.
32730//
32731// The context must be non-nil and will be used for request cancellation. If
32732// the context is nil a panic will occur. In the future the SDK may create
32733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32734// for more information on using Contexts.
32735func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
32736	req, out := c.MonitorInstancesRequest(input)
32737	req.SetContext(ctx)
32738	req.ApplyOptions(opts...)
32739	return out, req.Send()
32740}
32741
32742const opMoveAddressToVpc = "MoveAddressToVpc"
32743
32744// MoveAddressToVpcRequest generates a "aws/request.Request" representing the
32745// client's request for the MoveAddressToVpc operation. The "output" return
32746// value will be populated with the request's response once the request completes
32747// successfully.
32748//
32749// Use "Send" method on the returned Request to send the API call to the service.
32750// the "output" return value is not valid until after Send returns without error.
32751//
32752// See MoveAddressToVpc for more information on using the MoveAddressToVpc
32753// API call, and error handling.
32754//
32755// This method is useful when you want to inject custom logic or configuration
32756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32757//
32758//
32759//    // Example sending a request using the MoveAddressToVpcRequest method.
32760//    req, resp := client.MoveAddressToVpcRequest(params)
32761//
32762//    err := req.Send()
32763//    if err == nil { // resp is now filled
32764//        fmt.Println(resp)
32765//    }
32766//
32767// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
32768func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
32769	op := &request.Operation{
32770		Name:       opMoveAddressToVpc,
32771		HTTPMethod: "POST",
32772		HTTPPath:   "/",
32773	}
32774
32775	if input == nil {
32776		input = &MoveAddressToVpcInput{}
32777	}
32778
32779	output = &MoveAddressToVpcOutput{}
32780	req = c.newRequest(op, input, output)
32781	return
32782}
32783
32784// MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
32785//
32786// Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
32787// platform. The Elastic IP address must be allocated to your account for more
32788// than 24 hours, and it must not be associated with an instance. After the
32789// Elastic IP address is moved, it is no longer available for use in the EC2-Classic
32790// platform, unless you move it back using the RestoreAddressToClassic request.
32791// You cannot move an Elastic IP address that was originally allocated for use
32792// in the EC2-VPC platform to the EC2-Classic platform.
32793//
32794// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32795// with awserr.Error's Code and Message methods to get detailed information about
32796// the error.
32797//
32798// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32799// API operation MoveAddressToVpc for usage and error information.
32800// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
32801func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
32802	req, out := c.MoveAddressToVpcRequest(input)
32803	return out, req.Send()
32804}
32805
32806// MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
32807// the ability to pass a context and additional request options.
32808//
32809// See MoveAddressToVpc for details on how to use this API operation.
32810//
32811// The context must be non-nil and will be used for request cancellation. If
32812// the context is nil a panic will occur. In the future the SDK may create
32813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32814// for more information on using Contexts.
32815func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
32816	req, out := c.MoveAddressToVpcRequest(input)
32817	req.SetContext(ctx)
32818	req.ApplyOptions(opts...)
32819	return out, req.Send()
32820}
32821
32822const opProvisionByoipCidr = "ProvisionByoipCidr"
32823
32824// ProvisionByoipCidrRequest generates a "aws/request.Request" representing the
32825// client's request for the ProvisionByoipCidr operation. The "output" return
32826// value will be populated with the request's response once the request completes
32827// successfully.
32828//
32829// Use "Send" method on the returned Request to send the API call to the service.
32830// the "output" return value is not valid until after Send returns without error.
32831//
32832// See ProvisionByoipCidr for more information on using the ProvisionByoipCidr
32833// API call, and error handling.
32834//
32835// This method is useful when you want to inject custom logic or configuration
32836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32837//
32838//
32839//    // Example sending a request using the ProvisionByoipCidrRequest method.
32840//    req, resp := client.ProvisionByoipCidrRequest(params)
32841//
32842//    err := req.Send()
32843//    if err == nil { // resp is now filled
32844//        fmt.Println(resp)
32845//    }
32846//
32847// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
32848func (c *EC2) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *request.Request, output *ProvisionByoipCidrOutput) {
32849	op := &request.Operation{
32850		Name:       opProvisionByoipCidr,
32851		HTTPMethod: "POST",
32852		HTTPPath:   "/",
32853	}
32854
32855	if input == nil {
32856		input = &ProvisionByoipCidrInput{}
32857	}
32858
32859	output = &ProvisionByoipCidrOutput{}
32860	req = c.newRequest(op, input, output)
32861	return
32862}
32863
32864// ProvisionByoipCidr API operation for Amazon Elastic Compute Cloud.
32865//
32866// Provisions an IPv4 or IPv6 address range for use with your AWS resources
32867// through bring your own IP addresses (BYOIP) and creates a corresponding address
32868// pool. After the address range is provisioned, it is ready to be advertised
32869// using AdvertiseByoipCidr.
32870//
32871// AWS verifies that you own the address range and are authorized to advertise
32872// it. You must ensure that the address range is registered to you and that
32873// you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise
32874// the address range. For more information, see Bring Your Own IP Addresses
32875// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
32876// in the Amazon Elastic Compute Cloud User Guide.
32877//
32878// Provisioning an address range is an asynchronous operation, so the call returns
32879// immediately, but the address range is not ready to use until its status changes
32880// from pending-provision to provisioned. To monitor the status of an address
32881// range, use DescribeByoipCidrs. To allocate an Elastic IP address from your
32882// IPv4 address pool, use AllocateAddress with either the specific address from
32883// the address pool or the ID of the address pool.
32884//
32885// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32886// with awserr.Error's Code and Message methods to get detailed information about
32887// the error.
32888//
32889// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32890// API operation ProvisionByoipCidr for usage and error information.
32891// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
32892func (c *EC2) ProvisionByoipCidr(input *ProvisionByoipCidrInput) (*ProvisionByoipCidrOutput, error) {
32893	req, out := c.ProvisionByoipCidrRequest(input)
32894	return out, req.Send()
32895}
32896
32897// ProvisionByoipCidrWithContext is the same as ProvisionByoipCidr with the addition of
32898// the ability to pass a context and additional request options.
32899//
32900// See ProvisionByoipCidr for details on how to use this API operation.
32901//
32902// The context must be non-nil and will be used for request cancellation. If
32903// the context is nil a panic will occur. In the future the SDK may create
32904// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32905// for more information on using Contexts.
32906func (c *EC2) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByoipCidrInput, opts ...request.Option) (*ProvisionByoipCidrOutput, error) {
32907	req, out := c.ProvisionByoipCidrRequest(input)
32908	req.SetContext(ctx)
32909	req.ApplyOptions(opts...)
32910	return out, req.Send()
32911}
32912
32913const opPurchaseHostReservation = "PurchaseHostReservation"
32914
32915// PurchaseHostReservationRequest generates a "aws/request.Request" representing the
32916// client's request for the PurchaseHostReservation operation. The "output" return
32917// value will be populated with the request's response once the request completes
32918// successfully.
32919//
32920// Use "Send" method on the returned Request to send the API call to the service.
32921// the "output" return value is not valid until after Send returns without error.
32922//
32923// See PurchaseHostReservation for more information on using the PurchaseHostReservation
32924// API call, and error handling.
32925//
32926// This method is useful when you want to inject custom logic or configuration
32927// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32928//
32929//
32930//    // Example sending a request using the PurchaseHostReservationRequest method.
32931//    req, resp := client.PurchaseHostReservationRequest(params)
32932//
32933//    err := req.Send()
32934//    if err == nil { // resp is now filled
32935//        fmt.Println(resp)
32936//    }
32937//
32938// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
32939func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
32940	op := &request.Operation{
32941		Name:       opPurchaseHostReservation,
32942		HTTPMethod: "POST",
32943		HTTPPath:   "/",
32944	}
32945
32946	if input == nil {
32947		input = &PurchaseHostReservationInput{}
32948	}
32949
32950	output = &PurchaseHostReservationOutput{}
32951	req = c.newRequest(op, input, output)
32952	return
32953}
32954
32955// PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
32956//
32957// Purchase a reservation with configurations that match those of your Dedicated
32958// Host. You must have active Dedicated Hosts in your account before you purchase
32959// a reservation. This action results in the specified reservation being purchased
32960// and charged to your account.
32961//
32962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32963// with awserr.Error's Code and Message methods to get detailed information about
32964// the error.
32965//
32966// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32967// API operation PurchaseHostReservation for usage and error information.
32968// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
32969func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
32970	req, out := c.PurchaseHostReservationRequest(input)
32971	return out, req.Send()
32972}
32973
32974// PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
32975// the ability to pass a context and additional request options.
32976//
32977// See PurchaseHostReservation for details on how to use this API operation.
32978//
32979// The context must be non-nil and will be used for request cancellation. If
32980// the context is nil a panic will occur. In the future the SDK may create
32981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32982// for more information on using Contexts.
32983func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
32984	req, out := c.PurchaseHostReservationRequest(input)
32985	req.SetContext(ctx)
32986	req.ApplyOptions(opts...)
32987	return out, req.Send()
32988}
32989
32990const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
32991
32992// PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
32993// client's request for the PurchaseReservedInstancesOffering operation. The "output" return
32994// value will be populated with the request's response once the request completes
32995// successfully.
32996//
32997// Use "Send" method on the returned Request to send the API call to the service.
32998// the "output" return value is not valid until after Send returns without error.
32999//
33000// See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
33001// API call, and error handling.
33002//
33003// This method is useful when you want to inject custom logic or configuration
33004// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33005//
33006//
33007//    // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
33008//    req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
33009//
33010//    err := req.Send()
33011//    if err == nil { // resp is now filled
33012//        fmt.Println(resp)
33013//    }
33014//
33015// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
33016func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
33017	op := &request.Operation{
33018		Name:       opPurchaseReservedInstancesOffering,
33019		HTTPMethod: "POST",
33020		HTTPPath:   "/",
33021	}
33022
33023	if input == nil {
33024		input = &PurchaseReservedInstancesOfferingInput{}
33025	}
33026
33027	output = &PurchaseReservedInstancesOfferingOutput{}
33028	req = c.newRequest(op, input, output)
33029	return
33030}
33031
33032// PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
33033//
33034// Purchases a Reserved Instance for use with your account. With Reserved Instances,
33035// you pay a lower hourly rate compared to On-Demand instance pricing.
33036//
33037// Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
33038// offerings that match your specifications. After you've purchased a Reserved
33039// Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
33040//
33041// To queue a purchase for a future date and time, specify a purchase time.
33042// If you do not specify a purchase time, the default is the current time.
33043//
33044// For more information, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
33045// and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
33046// in the Amazon Elastic Compute Cloud User Guide.
33047//
33048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33049// with awserr.Error's Code and Message methods to get detailed information about
33050// the error.
33051//
33052// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33053// API operation PurchaseReservedInstancesOffering for usage and error information.
33054// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
33055func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
33056	req, out := c.PurchaseReservedInstancesOfferingRequest(input)
33057	return out, req.Send()
33058}
33059
33060// PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
33061// the ability to pass a context and additional request options.
33062//
33063// See PurchaseReservedInstancesOffering for details on how to use this API operation.
33064//
33065// The context must be non-nil and will be used for request cancellation. If
33066// the context is nil a panic will occur. In the future the SDK may create
33067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33068// for more information on using Contexts.
33069func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
33070	req, out := c.PurchaseReservedInstancesOfferingRequest(input)
33071	req.SetContext(ctx)
33072	req.ApplyOptions(opts...)
33073	return out, req.Send()
33074}
33075
33076const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
33077
33078// PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
33079// client's request for the PurchaseScheduledInstances operation. The "output" return
33080// value will be populated with the request's response once the request completes
33081// successfully.
33082//
33083// Use "Send" method on the returned Request to send the API call to the service.
33084// the "output" return value is not valid until after Send returns without error.
33085//
33086// See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
33087// API call, and error handling.
33088//
33089// This method is useful when you want to inject custom logic or configuration
33090// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33091//
33092//
33093//    // Example sending a request using the PurchaseScheduledInstancesRequest method.
33094//    req, resp := client.PurchaseScheduledInstancesRequest(params)
33095//
33096//    err := req.Send()
33097//    if err == nil { // resp is now filled
33098//        fmt.Println(resp)
33099//    }
33100//
33101// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
33102func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
33103	op := &request.Operation{
33104		Name:       opPurchaseScheduledInstances,
33105		HTTPMethod: "POST",
33106		HTTPPath:   "/",
33107	}
33108
33109	if input == nil {
33110		input = &PurchaseScheduledInstancesInput{}
33111	}
33112
33113	output = &PurchaseScheduledInstancesOutput{}
33114	req = c.newRequest(op, input, output)
33115	return
33116}
33117
33118// PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
33119//
33120// Purchases the Scheduled Instances with the specified schedule.
33121//
33122// Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
33123// the hour for a one-year term. Before you can purchase a Scheduled Instance,
33124// you must call DescribeScheduledInstanceAvailability to check for available
33125// schedules and obtain a purchase token. After you purchase a Scheduled Instance,
33126// you must call RunScheduledInstances during each scheduled time period.
33127//
33128// After you purchase a Scheduled Instance, you can't cancel, modify, or resell
33129// your purchase.
33130//
33131// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33132// with awserr.Error's Code and Message methods to get detailed information about
33133// the error.
33134//
33135// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33136// API operation PurchaseScheduledInstances for usage and error information.
33137// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
33138func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
33139	req, out := c.PurchaseScheduledInstancesRequest(input)
33140	return out, req.Send()
33141}
33142
33143// PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
33144// the ability to pass a context and additional request options.
33145//
33146// See PurchaseScheduledInstances for details on how to use this API operation.
33147//
33148// The context must be non-nil and will be used for request cancellation. If
33149// the context is nil a panic will occur. In the future the SDK may create
33150// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33151// for more information on using Contexts.
33152func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
33153	req, out := c.PurchaseScheduledInstancesRequest(input)
33154	req.SetContext(ctx)
33155	req.ApplyOptions(opts...)
33156	return out, req.Send()
33157}
33158
33159const opRebootInstances = "RebootInstances"
33160
33161// RebootInstancesRequest generates a "aws/request.Request" representing the
33162// client's request for the RebootInstances operation. The "output" return
33163// value will be populated with the request's response once the request completes
33164// successfully.
33165//
33166// Use "Send" method on the returned Request to send the API call to the service.
33167// the "output" return value is not valid until after Send returns without error.
33168//
33169// See RebootInstances for more information on using the RebootInstances
33170// API call, and error handling.
33171//
33172// This method is useful when you want to inject custom logic or configuration
33173// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33174//
33175//
33176//    // Example sending a request using the RebootInstancesRequest method.
33177//    req, resp := client.RebootInstancesRequest(params)
33178//
33179//    err := req.Send()
33180//    if err == nil { // resp is now filled
33181//        fmt.Println(resp)
33182//    }
33183//
33184// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
33185func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
33186	op := &request.Operation{
33187		Name:       opRebootInstances,
33188		HTTPMethod: "POST",
33189		HTTPPath:   "/",
33190	}
33191
33192	if input == nil {
33193		input = &RebootInstancesInput{}
33194	}
33195
33196	output = &RebootInstancesOutput{}
33197	req = c.newRequest(op, input, output)
33198	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
33199	return
33200}
33201
33202// RebootInstances API operation for Amazon Elastic Compute Cloud.
33203//
33204// Requests a reboot of the specified instances. This operation is asynchronous;
33205// it only queues a request to reboot the specified instances. The operation
33206// succeeds if the instances are valid and belong to you. Requests to reboot
33207// terminated instances are ignored.
33208//
33209// If an instance does not cleanly shut down within four minutes, Amazon EC2
33210// performs a hard reboot.
33211//
33212// For more information about troubleshooting, see Getting Console Output and
33213// Rebooting Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
33214// in the Amazon Elastic Compute Cloud User Guide.
33215//
33216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33217// with awserr.Error's Code and Message methods to get detailed information about
33218// the error.
33219//
33220// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33221// API operation RebootInstances for usage and error information.
33222// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
33223func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
33224	req, out := c.RebootInstancesRequest(input)
33225	return out, req.Send()
33226}
33227
33228// RebootInstancesWithContext is the same as RebootInstances with the addition of
33229// the ability to pass a context and additional request options.
33230//
33231// See RebootInstances for details on how to use this API operation.
33232//
33233// The context must be non-nil and will be used for request cancellation. If
33234// the context is nil a panic will occur. In the future the SDK may create
33235// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33236// for more information on using Contexts.
33237func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
33238	req, out := c.RebootInstancesRequest(input)
33239	req.SetContext(ctx)
33240	req.ApplyOptions(opts...)
33241	return out, req.Send()
33242}
33243
33244const opRegisterImage = "RegisterImage"
33245
33246// RegisterImageRequest generates a "aws/request.Request" representing the
33247// client's request for the RegisterImage operation. The "output" return
33248// value will be populated with the request's response once the request completes
33249// successfully.
33250//
33251// Use "Send" method on the returned Request to send the API call to the service.
33252// the "output" return value is not valid until after Send returns without error.
33253//
33254// See RegisterImage for more information on using the RegisterImage
33255// API call, and error handling.
33256//
33257// This method is useful when you want to inject custom logic or configuration
33258// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33259//
33260//
33261//    // Example sending a request using the RegisterImageRequest method.
33262//    req, resp := client.RegisterImageRequest(params)
33263//
33264//    err := req.Send()
33265//    if err == nil { // resp is now filled
33266//        fmt.Println(resp)
33267//    }
33268//
33269// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
33270func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
33271	op := &request.Operation{
33272		Name:       opRegisterImage,
33273		HTTPMethod: "POST",
33274		HTTPPath:   "/",
33275	}
33276
33277	if input == nil {
33278		input = &RegisterImageInput{}
33279	}
33280
33281	output = &RegisterImageOutput{}
33282	req = c.newRequest(op, input, output)
33283	return
33284}
33285
33286// RegisterImage API operation for Amazon Elastic Compute Cloud.
33287//
33288// Registers an AMI. When you're creating an AMI, this is the final step you
33289// must complete before you can launch an instance from the AMI. For more information
33290// about creating AMIs, see Creating Your Own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
33291// in the Amazon Elastic Compute Cloud User Guide.
33292//
33293// For Amazon EBS-backed instances, CreateImage creates and registers the AMI
33294// in a single request, so you don't have to register the AMI yourself.
33295//
33296// You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
33297// a snapshot of a root device volume. You specify the snapshot using the block
33298// device mapping. For more information, see Launching a Linux Instance from
33299// a Backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
33300// in the Amazon Elastic Compute Cloud User Guide.
33301//
33302// You can't register an image where a secondary (non-root) snapshot has AWS
33303// Marketplace product codes.
33304//
33305// Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL)
33306// and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code
33307// associated with an AMI to verify the subscription status for package updates.
33308// To create a new AMI for operating systems that require a billing product
33309// code, instead of registering the AMI, do the following to preserve the billing
33310// product code association:
33311//
33312// Launch an instance from an existing AMI with that billing product code.
33313//
33314// Customize the instance.
33315//
33316// Create an AMI from the instance using CreateImage.
33317//
33318// If you purchase a Reserved Instance to apply to an On-Demand Instance that
33319// was launched from an AMI with a billing product code, make sure that the
33320// Reserved Instance has the matching billing product code. If you purchase
33321// a Reserved Instance without the matching billing product code, the Reserved
33322// Instance will not be applied to the On-Demand Instance. For information about
33323// how to obtain the platform details and billing information of an AMI, see
33324// Obtaining Billing Information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html)
33325// in the Amazon Elastic Compute Cloud User Guide.
33326//
33327// If needed, you can deregister an AMI at any time. Any modifications you make
33328// to an AMI backed by an instance store volume invalidates its registration.
33329// If you make changes to an image, deregister the previous image and register
33330// the new image.
33331//
33332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33333// with awserr.Error's Code and Message methods to get detailed information about
33334// the error.
33335//
33336// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33337// API operation RegisterImage for usage and error information.
33338// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
33339func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
33340	req, out := c.RegisterImageRequest(input)
33341	return out, req.Send()
33342}
33343
33344// RegisterImageWithContext is the same as RegisterImage with the addition of
33345// the ability to pass a context and additional request options.
33346//
33347// See RegisterImage for details on how to use this API operation.
33348//
33349// The context must be non-nil and will be used for request cancellation. If
33350// the context is nil a panic will occur. In the future the SDK may create
33351// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33352// for more information on using Contexts.
33353func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
33354	req, out := c.RegisterImageRequest(input)
33355	req.SetContext(ctx)
33356	req.ApplyOptions(opts...)
33357	return out, req.Send()
33358}
33359
33360const opRegisterTransitGatewayMulticastGroupMembers = "RegisterTransitGatewayMulticastGroupMembers"
33361
33362// RegisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
33363// client's request for the RegisterTransitGatewayMulticastGroupMembers operation. The "output" return
33364// value will be populated with the request's response once the request completes
33365// successfully.
33366//
33367// Use "Send" method on the returned Request to send the API call to the service.
33368// the "output" return value is not valid until after Send returns without error.
33369//
33370// See RegisterTransitGatewayMulticastGroupMembers for more information on using the RegisterTransitGatewayMulticastGroupMembers
33371// API call, and error handling.
33372//
33373// This method is useful when you want to inject custom logic or configuration
33374// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33375//
33376//
33377//    // Example sending a request using the RegisterTransitGatewayMulticastGroupMembersRequest method.
33378//    req, resp := client.RegisterTransitGatewayMulticastGroupMembersRequest(params)
33379//
33380//    err := req.Send()
33381//    if err == nil { // resp is now filled
33382//        fmt.Println(resp)
33383//    }
33384//
33385// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
33386func (c *EC2) RegisterTransitGatewayMulticastGroupMembersRequest(input *RegisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupMembersOutput) {
33387	op := &request.Operation{
33388		Name:       opRegisterTransitGatewayMulticastGroupMembers,
33389		HTTPMethod: "POST",
33390		HTTPPath:   "/",
33391	}
33392
33393	if input == nil {
33394		input = &RegisterTransitGatewayMulticastGroupMembersInput{}
33395	}
33396
33397	output = &RegisterTransitGatewayMulticastGroupMembersOutput{}
33398	req = c.newRequest(op, input, output)
33399	return
33400}
33401
33402// RegisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
33403//
33404// Registers members (network interfaces) with the transit gateway multicast
33405// group. A member is a network interface associated with a supported EC2 instance
33406// that receives multicast traffic. For information about supported instances,
33407// see Multicast Consideration (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
33408// in Amazon VPC Transit Gateways.
33409//
33410// After you add the members, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
33411// to verify that the members were added to the transit gateway multicast group.
33412//
33413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33414// with awserr.Error's Code and Message methods to get detailed information about
33415// the error.
33416//
33417// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33418// API operation RegisterTransitGatewayMulticastGroupMembers for usage and error information.
33419// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
33420func (c *EC2) RegisterTransitGatewayMulticastGroupMembers(input *RegisterTransitGatewayMulticastGroupMembersInput) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
33421	req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
33422	return out, req.Send()
33423}
33424
33425// RegisterTransitGatewayMulticastGroupMembersWithContext is the same as RegisterTransitGatewayMulticastGroupMembers with the addition of
33426// the ability to pass a context and additional request options.
33427//
33428// See RegisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
33429//
33430// The context must be non-nil and will be used for request cancellation. If
33431// the context is nil a panic will occur. In the future the SDK may create
33432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33433// for more information on using Contexts.
33434func (c *EC2) RegisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
33435	req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
33436	req.SetContext(ctx)
33437	req.ApplyOptions(opts...)
33438	return out, req.Send()
33439}
33440
33441const opRegisterTransitGatewayMulticastGroupSources = "RegisterTransitGatewayMulticastGroupSources"
33442
33443// RegisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
33444// client's request for the RegisterTransitGatewayMulticastGroupSources operation. The "output" return
33445// value will be populated with the request's response once the request completes
33446// successfully.
33447//
33448// Use "Send" method on the returned Request to send the API call to the service.
33449// the "output" return value is not valid until after Send returns without error.
33450//
33451// See RegisterTransitGatewayMulticastGroupSources for more information on using the RegisterTransitGatewayMulticastGroupSources
33452// API call, and error handling.
33453//
33454// This method is useful when you want to inject custom logic or configuration
33455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33456//
33457//
33458//    // Example sending a request using the RegisterTransitGatewayMulticastGroupSourcesRequest method.
33459//    req, resp := client.RegisterTransitGatewayMulticastGroupSourcesRequest(params)
33460//
33461//    err := req.Send()
33462//    if err == nil { // resp is now filled
33463//        fmt.Println(resp)
33464//    }
33465//
33466// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
33467func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesRequest(input *RegisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupSourcesOutput) {
33468	op := &request.Operation{
33469		Name:       opRegisterTransitGatewayMulticastGroupSources,
33470		HTTPMethod: "POST",
33471		HTTPPath:   "/",
33472	}
33473
33474	if input == nil {
33475		input = &RegisterTransitGatewayMulticastGroupSourcesInput{}
33476	}
33477
33478	output = &RegisterTransitGatewayMulticastGroupSourcesOutput{}
33479	req = c.newRequest(op, input, output)
33480	return
33481}
33482
33483// RegisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
33484//
33485// Registers sources (network interfaces) with the specified transit gateway
33486// multicast group.
33487//
33488// A multicast source is a network interface attached to a supported instance
33489// that sends multicast traffic. For information about supported instances,
33490// see Multicast Considerations (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
33491// in Amazon VPC Transit Gateways.
33492//
33493// After you add the source, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
33494// to verify that the source was added to the multicast group.
33495//
33496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33497// with awserr.Error's Code and Message methods to get detailed information about
33498// the error.
33499//
33500// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33501// API operation RegisterTransitGatewayMulticastGroupSources for usage and error information.
33502// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
33503func (c *EC2) RegisterTransitGatewayMulticastGroupSources(input *RegisterTransitGatewayMulticastGroupSourcesInput) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
33504	req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
33505	return out, req.Send()
33506}
33507
33508// RegisterTransitGatewayMulticastGroupSourcesWithContext is the same as RegisterTransitGatewayMulticastGroupSources with the addition of
33509// the ability to pass a context and additional request options.
33510//
33511// See RegisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
33512//
33513// The context must be non-nil and will be used for request cancellation. If
33514// the context is nil a panic will occur. In the future the SDK may create
33515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33516// for more information on using Contexts.
33517func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
33518	req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
33519	req.SetContext(ctx)
33520	req.ApplyOptions(opts...)
33521	return out, req.Send()
33522}
33523
33524const opRejectTransitGatewayPeeringAttachment = "RejectTransitGatewayPeeringAttachment"
33525
33526// RejectTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
33527// client's request for the RejectTransitGatewayPeeringAttachment operation. The "output" return
33528// value will be populated with the request's response once the request completes
33529// successfully.
33530//
33531// Use "Send" method on the returned Request to send the API call to the service.
33532// the "output" return value is not valid until after Send returns without error.
33533//
33534// See RejectTransitGatewayPeeringAttachment for more information on using the RejectTransitGatewayPeeringAttachment
33535// API call, and error handling.
33536//
33537// This method is useful when you want to inject custom logic or configuration
33538// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33539//
33540//
33541//    // Example sending a request using the RejectTransitGatewayPeeringAttachmentRequest method.
33542//    req, resp := client.RejectTransitGatewayPeeringAttachmentRequest(params)
33543//
33544//    err := req.Send()
33545//    if err == nil { // resp is now filled
33546//        fmt.Println(resp)
33547//    }
33548//
33549// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
33550func (c *EC2) RejectTransitGatewayPeeringAttachmentRequest(input *RejectTransitGatewayPeeringAttachmentInput) (req *request.Request, output *RejectTransitGatewayPeeringAttachmentOutput) {
33551	op := &request.Operation{
33552		Name:       opRejectTransitGatewayPeeringAttachment,
33553		HTTPMethod: "POST",
33554		HTTPPath:   "/",
33555	}
33556
33557	if input == nil {
33558		input = &RejectTransitGatewayPeeringAttachmentInput{}
33559	}
33560
33561	output = &RejectTransitGatewayPeeringAttachmentOutput{}
33562	req = c.newRequest(op, input, output)
33563	return
33564}
33565
33566// RejectTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
33567//
33568// Rejects a transit gateway peering attachment request.
33569//
33570// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33571// with awserr.Error's Code and Message methods to get detailed information about
33572// the error.
33573//
33574// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33575// API operation RejectTransitGatewayPeeringAttachment for usage and error information.
33576// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
33577func (c *EC2) RejectTransitGatewayPeeringAttachment(input *RejectTransitGatewayPeeringAttachmentInput) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
33578	req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
33579	return out, req.Send()
33580}
33581
33582// RejectTransitGatewayPeeringAttachmentWithContext is the same as RejectTransitGatewayPeeringAttachment with the addition of
33583// the ability to pass a context and additional request options.
33584//
33585// See RejectTransitGatewayPeeringAttachment for details on how to use this API operation.
33586//
33587// The context must be non-nil and will be used for request cancellation. If
33588// the context is nil a panic will occur. In the future the SDK may create
33589// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33590// for more information on using Contexts.
33591func (c *EC2) RejectTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
33592	req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
33593	req.SetContext(ctx)
33594	req.ApplyOptions(opts...)
33595	return out, req.Send()
33596}
33597
33598const opRejectTransitGatewayVpcAttachment = "RejectTransitGatewayVpcAttachment"
33599
33600// RejectTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
33601// client's request for the RejectTransitGatewayVpcAttachment operation. The "output" return
33602// value will be populated with the request's response once the request completes
33603// successfully.
33604//
33605// Use "Send" method on the returned Request to send the API call to the service.
33606// the "output" return value is not valid until after Send returns without error.
33607//
33608// See RejectTransitGatewayVpcAttachment for more information on using the RejectTransitGatewayVpcAttachment
33609// API call, and error handling.
33610//
33611// This method is useful when you want to inject custom logic or configuration
33612// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33613//
33614//
33615//    // Example sending a request using the RejectTransitGatewayVpcAttachmentRequest method.
33616//    req, resp := client.RejectTransitGatewayVpcAttachmentRequest(params)
33617//
33618//    err := req.Send()
33619//    if err == nil { // resp is now filled
33620//        fmt.Println(resp)
33621//    }
33622//
33623// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
33624func (c *EC2) RejectTransitGatewayVpcAttachmentRequest(input *RejectTransitGatewayVpcAttachmentInput) (req *request.Request, output *RejectTransitGatewayVpcAttachmentOutput) {
33625	op := &request.Operation{
33626		Name:       opRejectTransitGatewayVpcAttachment,
33627		HTTPMethod: "POST",
33628		HTTPPath:   "/",
33629	}
33630
33631	if input == nil {
33632		input = &RejectTransitGatewayVpcAttachmentInput{}
33633	}
33634
33635	output = &RejectTransitGatewayVpcAttachmentOutput{}
33636	req = c.newRequest(op, input, output)
33637	return
33638}
33639
33640// RejectTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
33641//
33642// Rejects a request to attach a VPC to a transit gateway.
33643//
33644// The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
33645// to view your pending VPC attachment requests. Use AcceptTransitGatewayVpcAttachment
33646// to accept a VPC attachment request.
33647//
33648// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33649// with awserr.Error's Code and Message methods to get detailed information about
33650// the error.
33651//
33652// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33653// API operation RejectTransitGatewayVpcAttachment for usage and error information.
33654// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
33655func (c *EC2) RejectTransitGatewayVpcAttachment(input *RejectTransitGatewayVpcAttachmentInput) (*RejectTransitGatewayVpcAttachmentOutput, error) {
33656	req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
33657	return out, req.Send()
33658}
33659
33660// RejectTransitGatewayVpcAttachmentWithContext is the same as RejectTransitGatewayVpcAttachment with the addition of
33661// the ability to pass a context and additional request options.
33662//
33663// See RejectTransitGatewayVpcAttachment for details on how to use this API operation.
33664//
33665// The context must be non-nil and will be used for request cancellation. If
33666// the context is nil a panic will occur. In the future the SDK may create
33667// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33668// for more information on using Contexts.
33669func (c *EC2) RejectTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayVpcAttachmentInput, opts ...request.Option) (*RejectTransitGatewayVpcAttachmentOutput, error) {
33670	req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
33671	req.SetContext(ctx)
33672	req.ApplyOptions(opts...)
33673	return out, req.Send()
33674}
33675
33676const opRejectVpcEndpointConnections = "RejectVpcEndpointConnections"
33677
33678// RejectVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
33679// client's request for the RejectVpcEndpointConnections operation. The "output" return
33680// value will be populated with the request's response once the request completes
33681// successfully.
33682//
33683// Use "Send" method on the returned Request to send the API call to the service.
33684// the "output" return value is not valid until after Send returns without error.
33685//
33686// See RejectVpcEndpointConnections for more information on using the RejectVpcEndpointConnections
33687// API call, and error handling.
33688//
33689// This method is useful when you want to inject custom logic or configuration
33690// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33691//
33692//
33693//    // Example sending a request using the RejectVpcEndpointConnectionsRequest method.
33694//    req, resp := client.RejectVpcEndpointConnectionsRequest(params)
33695//
33696//    err := req.Send()
33697//    if err == nil { // resp is now filled
33698//        fmt.Println(resp)
33699//    }
33700//
33701// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
33702func (c *EC2) RejectVpcEndpointConnectionsRequest(input *RejectVpcEndpointConnectionsInput) (req *request.Request, output *RejectVpcEndpointConnectionsOutput) {
33703	op := &request.Operation{
33704		Name:       opRejectVpcEndpointConnections,
33705		HTTPMethod: "POST",
33706		HTTPPath:   "/",
33707	}
33708
33709	if input == nil {
33710		input = &RejectVpcEndpointConnectionsInput{}
33711	}
33712
33713	output = &RejectVpcEndpointConnectionsOutput{}
33714	req = c.newRequest(op, input, output)
33715	return
33716}
33717
33718// RejectVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
33719//
33720// Rejects one or more VPC endpoint connection requests to your VPC endpoint
33721// service.
33722//
33723// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33724// with awserr.Error's Code and Message methods to get detailed information about
33725// the error.
33726//
33727// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33728// API operation RejectVpcEndpointConnections for usage and error information.
33729// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
33730func (c *EC2) RejectVpcEndpointConnections(input *RejectVpcEndpointConnectionsInput) (*RejectVpcEndpointConnectionsOutput, error) {
33731	req, out := c.RejectVpcEndpointConnectionsRequest(input)
33732	return out, req.Send()
33733}
33734
33735// RejectVpcEndpointConnectionsWithContext is the same as RejectVpcEndpointConnections with the addition of
33736// the ability to pass a context and additional request options.
33737//
33738// See RejectVpcEndpointConnections for details on how to use this API operation.
33739//
33740// The context must be non-nil and will be used for request cancellation. If
33741// the context is nil a panic will occur. In the future the SDK may create
33742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33743// for more information on using Contexts.
33744func (c *EC2) RejectVpcEndpointConnectionsWithContext(ctx aws.Context, input *RejectVpcEndpointConnectionsInput, opts ...request.Option) (*RejectVpcEndpointConnectionsOutput, error) {
33745	req, out := c.RejectVpcEndpointConnectionsRequest(input)
33746	req.SetContext(ctx)
33747	req.ApplyOptions(opts...)
33748	return out, req.Send()
33749}
33750
33751const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
33752
33753// RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
33754// client's request for the RejectVpcPeeringConnection operation. The "output" return
33755// value will be populated with the request's response once the request completes
33756// successfully.
33757//
33758// Use "Send" method on the returned Request to send the API call to the service.
33759// the "output" return value is not valid until after Send returns without error.
33760//
33761// See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
33762// API call, and error handling.
33763//
33764// This method is useful when you want to inject custom logic or configuration
33765// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33766//
33767//
33768//    // Example sending a request using the RejectVpcPeeringConnectionRequest method.
33769//    req, resp := client.RejectVpcPeeringConnectionRequest(params)
33770//
33771//    err := req.Send()
33772//    if err == nil { // resp is now filled
33773//        fmt.Println(resp)
33774//    }
33775//
33776// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
33777func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
33778	op := &request.Operation{
33779		Name:       opRejectVpcPeeringConnection,
33780		HTTPMethod: "POST",
33781		HTTPPath:   "/",
33782	}
33783
33784	if input == nil {
33785		input = &RejectVpcPeeringConnectionInput{}
33786	}
33787
33788	output = &RejectVpcPeeringConnectionOutput{}
33789	req = c.newRequest(op, input, output)
33790	return
33791}
33792
33793// RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
33794//
33795// Rejects a VPC peering connection request. The VPC peering connection must
33796// be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
33797// request to view your outstanding VPC peering connection requests. To delete
33798// an active VPC peering connection, or to delete a VPC peering connection request
33799// that you initiated, use DeleteVpcPeeringConnection.
33800//
33801// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33802// with awserr.Error's Code and Message methods to get detailed information about
33803// the error.
33804//
33805// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33806// API operation RejectVpcPeeringConnection for usage and error information.
33807// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
33808func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
33809	req, out := c.RejectVpcPeeringConnectionRequest(input)
33810	return out, req.Send()
33811}
33812
33813// RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
33814// the ability to pass a context and additional request options.
33815//
33816// See RejectVpcPeeringConnection for details on how to use this API operation.
33817//
33818// The context must be non-nil and will be used for request cancellation. If
33819// the context is nil a panic will occur. In the future the SDK may create
33820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33821// for more information on using Contexts.
33822func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
33823	req, out := c.RejectVpcPeeringConnectionRequest(input)
33824	req.SetContext(ctx)
33825	req.ApplyOptions(opts...)
33826	return out, req.Send()
33827}
33828
33829const opReleaseAddress = "ReleaseAddress"
33830
33831// ReleaseAddressRequest generates a "aws/request.Request" representing the
33832// client's request for the ReleaseAddress operation. The "output" return
33833// value will be populated with the request's response once the request completes
33834// successfully.
33835//
33836// Use "Send" method on the returned Request to send the API call to the service.
33837// the "output" return value is not valid until after Send returns without error.
33838//
33839// See ReleaseAddress for more information on using the ReleaseAddress
33840// API call, and error handling.
33841//
33842// This method is useful when you want to inject custom logic or configuration
33843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33844//
33845//
33846//    // Example sending a request using the ReleaseAddressRequest method.
33847//    req, resp := client.ReleaseAddressRequest(params)
33848//
33849//    err := req.Send()
33850//    if err == nil { // resp is now filled
33851//        fmt.Println(resp)
33852//    }
33853//
33854// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
33855func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
33856	op := &request.Operation{
33857		Name:       opReleaseAddress,
33858		HTTPMethod: "POST",
33859		HTTPPath:   "/",
33860	}
33861
33862	if input == nil {
33863		input = &ReleaseAddressInput{}
33864	}
33865
33866	output = &ReleaseAddressOutput{}
33867	req = c.newRequest(op, input, output)
33868	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
33869	return
33870}
33871
33872// ReleaseAddress API operation for Amazon Elastic Compute Cloud.
33873//
33874// Releases the specified Elastic IP address.
33875//
33876// [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
33877// disassociates it from any instance that it's associated with. To disassociate
33878// an Elastic IP address without releasing it, use DisassociateAddress.
33879//
33880// [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
33881// IP address before you can release it. Otherwise, Amazon EC2 returns an error
33882// (InvalidIPAddress.InUse).
33883//
33884// After releasing an Elastic IP address, it is released to the IP address pool.
33885// Be sure to update your DNS records and any servers or devices that communicate
33886// with the address. If you attempt to release an Elastic IP address that you
33887// already released, you'll get an AuthFailure error if the address is already
33888// allocated to another AWS account.
33889//
33890// [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might
33891// be able to recover it. For more information, see AllocateAddress.
33892//
33893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33894// with awserr.Error's Code and Message methods to get detailed information about
33895// the error.
33896//
33897// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33898// API operation ReleaseAddress for usage and error information.
33899// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
33900func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
33901	req, out := c.ReleaseAddressRequest(input)
33902	return out, req.Send()
33903}
33904
33905// ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
33906// the ability to pass a context and additional request options.
33907//
33908// See ReleaseAddress for details on how to use this API operation.
33909//
33910// The context must be non-nil and will be used for request cancellation. If
33911// the context is nil a panic will occur. In the future the SDK may create
33912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33913// for more information on using Contexts.
33914func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
33915	req, out := c.ReleaseAddressRequest(input)
33916	req.SetContext(ctx)
33917	req.ApplyOptions(opts...)
33918	return out, req.Send()
33919}
33920
33921const opReleaseHosts = "ReleaseHosts"
33922
33923// ReleaseHostsRequest generates a "aws/request.Request" representing the
33924// client's request for the ReleaseHosts operation. The "output" return
33925// value will be populated with the request's response once the request completes
33926// successfully.
33927//
33928// Use "Send" method on the returned Request to send the API call to the service.
33929// the "output" return value is not valid until after Send returns without error.
33930//
33931// See ReleaseHosts for more information on using the ReleaseHosts
33932// API call, and error handling.
33933//
33934// This method is useful when you want to inject custom logic or configuration
33935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33936//
33937//
33938//    // Example sending a request using the ReleaseHostsRequest method.
33939//    req, resp := client.ReleaseHostsRequest(params)
33940//
33941//    err := req.Send()
33942//    if err == nil { // resp is now filled
33943//        fmt.Println(resp)
33944//    }
33945//
33946// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
33947func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
33948	op := &request.Operation{
33949		Name:       opReleaseHosts,
33950		HTTPMethod: "POST",
33951		HTTPPath:   "/",
33952	}
33953
33954	if input == nil {
33955		input = &ReleaseHostsInput{}
33956	}
33957
33958	output = &ReleaseHostsOutput{}
33959	req = c.newRequest(op, input, output)
33960	return
33961}
33962
33963// ReleaseHosts API operation for Amazon Elastic Compute Cloud.
33964//
33965// When you no longer want to use an On-Demand Dedicated Host it can be released.
33966// On-Demand billing is stopped and the host goes into released state. The host
33967// ID of Dedicated Hosts that have been released can no longer be specified
33968// in another request, for example, to modify the host. You must stop or terminate
33969// all instances on a host before it can be released.
33970//
33971// When Dedicated Hosts are released, it may take some time for them to stop
33972// counting toward your limit and you may receive capacity errors when trying
33973// to allocate new Dedicated Hosts. Wait a few minutes and then try again.
33974//
33975// Released hosts still appear in a DescribeHosts response.
33976//
33977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33978// with awserr.Error's Code and Message methods to get detailed information about
33979// the error.
33980//
33981// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33982// API operation ReleaseHosts for usage and error information.
33983// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
33984func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
33985	req, out := c.ReleaseHostsRequest(input)
33986	return out, req.Send()
33987}
33988
33989// ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
33990// the ability to pass a context and additional request options.
33991//
33992// See ReleaseHosts for details on how to use this API operation.
33993//
33994// The context must be non-nil and will be used for request cancellation. If
33995// the context is nil a panic will occur. In the future the SDK may create
33996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33997// for more information on using Contexts.
33998func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
33999	req, out := c.ReleaseHostsRequest(input)
34000	req.SetContext(ctx)
34001	req.ApplyOptions(opts...)
34002	return out, req.Send()
34003}
34004
34005const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
34006
34007// ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
34008// client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
34009// value will be populated with the request's response once the request completes
34010// successfully.
34011//
34012// Use "Send" method on the returned Request to send the API call to the service.
34013// the "output" return value is not valid until after Send returns without error.
34014//
34015// See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
34016// API call, and error handling.
34017//
34018// This method is useful when you want to inject custom logic or configuration
34019// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34020//
34021//
34022//    // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
34023//    req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
34024//
34025//    err := req.Send()
34026//    if err == nil { // resp is now filled
34027//        fmt.Println(resp)
34028//    }
34029//
34030// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
34031func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
34032	op := &request.Operation{
34033		Name:       opReplaceIamInstanceProfileAssociation,
34034		HTTPMethod: "POST",
34035		HTTPPath:   "/",
34036	}
34037
34038	if input == nil {
34039		input = &ReplaceIamInstanceProfileAssociationInput{}
34040	}
34041
34042	output = &ReplaceIamInstanceProfileAssociationOutput{}
34043	req = c.newRequest(op, input, output)
34044	return
34045}
34046
34047// ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
34048//
34049// Replaces an IAM instance profile for the specified running instance. You
34050// can use this action to change the IAM instance profile that's associated
34051// with an instance without having to disassociate the existing IAM instance
34052// profile first.
34053//
34054// Use DescribeIamInstanceProfileAssociations to get the association ID.
34055//
34056// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34057// with awserr.Error's Code and Message methods to get detailed information about
34058// the error.
34059//
34060// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34061// API operation ReplaceIamInstanceProfileAssociation for usage and error information.
34062// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
34063func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
34064	req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
34065	return out, req.Send()
34066}
34067
34068// ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
34069// the ability to pass a context and additional request options.
34070//
34071// See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
34072//
34073// The context must be non-nil and will be used for request cancellation. If
34074// the context is nil a panic will occur. In the future the SDK may create
34075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34076// for more information on using Contexts.
34077func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
34078	req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
34079	req.SetContext(ctx)
34080	req.ApplyOptions(opts...)
34081	return out, req.Send()
34082}
34083
34084const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
34085
34086// ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
34087// client's request for the ReplaceNetworkAclAssociation operation. The "output" return
34088// value will be populated with the request's response once the request completes
34089// successfully.
34090//
34091// Use "Send" method on the returned Request to send the API call to the service.
34092// the "output" return value is not valid until after Send returns without error.
34093//
34094// See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
34095// API call, and error handling.
34096//
34097// This method is useful when you want to inject custom logic or configuration
34098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34099//
34100//
34101//    // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
34102//    req, resp := client.ReplaceNetworkAclAssociationRequest(params)
34103//
34104//    err := req.Send()
34105//    if err == nil { // resp is now filled
34106//        fmt.Println(resp)
34107//    }
34108//
34109// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
34110func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
34111	op := &request.Operation{
34112		Name:       opReplaceNetworkAclAssociation,
34113		HTTPMethod: "POST",
34114		HTTPPath:   "/",
34115	}
34116
34117	if input == nil {
34118		input = &ReplaceNetworkAclAssociationInput{}
34119	}
34120
34121	output = &ReplaceNetworkAclAssociationOutput{}
34122	req = c.newRequest(op, input, output)
34123	return
34124}
34125
34126// ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
34127//
34128// Changes which network ACL a subnet is associated with. By default when you
34129// create a subnet, it's automatically associated with the default network ACL.
34130// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
34131// in the Amazon Virtual Private Cloud User Guide.
34132//
34133// This is an idempotent operation.
34134//
34135// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34136// with awserr.Error's Code and Message methods to get detailed information about
34137// the error.
34138//
34139// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34140// API operation ReplaceNetworkAclAssociation for usage and error information.
34141// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
34142func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
34143	req, out := c.ReplaceNetworkAclAssociationRequest(input)
34144	return out, req.Send()
34145}
34146
34147// ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
34148// the ability to pass a context and additional request options.
34149//
34150// See ReplaceNetworkAclAssociation for details on how to use this API operation.
34151//
34152// The context must be non-nil and will be used for request cancellation. If
34153// the context is nil a panic will occur. In the future the SDK may create
34154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34155// for more information on using Contexts.
34156func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
34157	req, out := c.ReplaceNetworkAclAssociationRequest(input)
34158	req.SetContext(ctx)
34159	req.ApplyOptions(opts...)
34160	return out, req.Send()
34161}
34162
34163const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
34164
34165// ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
34166// client's request for the ReplaceNetworkAclEntry operation. The "output" return
34167// value will be populated with the request's response once the request completes
34168// successfully.
34169//
34170// Use "Send" method on the returned Request to send the API call to the service.
34171// the "output" return value is not valid until after Send returns without error.
34172//
34173// See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
34174// API call, and error handling.
34175//
34176// This method is useful when you want to inject custom logic or configuration
34177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34178//
34179//
34180//    // Example sending a request using the ReplaceNetworkAclEntryRequest method.
34181//    req, resp := client.ReplaceNetworkAclEntryRequest(params)
34182//
34183//    err := req.Send()
34184//    if err == nil { // resp is now filled
34185//        fmt.Println(resp)
34186//    }
34187//
34188// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
34189func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
34190	op := &request.Operation{
34191		Name:       opReplaceNetworkAclEntry,
34192		HTTPMethod: "POST",
34193		HTTPPath:   "/",
34194	}
34195
34196	if input == nil {
34197		input = &ReplaceNetworkAclEntryInput{}
34198	}
34199
34200	output = &ReplaceNetworkAclEntryOutput{}
34201	req = c.newRequest(op, input, output)
34202	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34203	return
34204}
34205
34206// ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
34207//
34208// Replaces an entry (rule) in a network ACL. For more information, see Network
34209// ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html) in
34210// the Amazon Virtual Private Cloud User Guide.
34211//
34212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34213// with awserr.Error's Code and Message methods to get detailed information about
34214// the error.
34215//
34216// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34217// API operation ReplaceNetworkAclEntry for usage and error information.
34218// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
34219func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
34220	req, out := c.ReplaceNetworkAclEntryRequest(input)
34221	return out, req.Send()
34222}
34223
34224// ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
34225// the ability to pass a context and additional request options.
34226//
34227// See ReplaceNetworkAclEntry for details on how to use this API operation.
34228//
34229// The context must be non-nil and will be used for request cancellation. If
34230// the context is nil a panic will occur. In the future the SDK may create
34231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34232// for more information on using Contexts.
34233func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
34234	req, out := c.ReplaceNetworkAclEntryRequest(input)
34235	req.SetContext(ctx)
34236	req.ApplyOptions(opts...)
34237	return out, req.Send()
34238}
34239
34240const opReplaceRoute = "ReplaceRoute"
34241
34242// ReplaceRouteRequest generates a "aws/request.Request" representing the
34243// client's request for the ReplaceRoute operation. The "output" return
34244// value will be populated with the request's response once the request completes
34245// successfully.
34246//
34247// Use "Send" method on the returned Request to send the API call to the service.
34248// the "output" return value is not valid until after Send returns without error.
34249//
34250// See ReplaceRoute for more information on using the ReplaceRoute
34251// API call, and error handling.
34252//
34253// This method is useful when you want to inject custom logic or configuration
34254// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34255//
34256//
34257//    // Example sending a request using the ReplaceRouteRequest method.
34258//    req, resp := client.ReplaceRouteRequest(params)
34259//
34260//    err := req.Send()
34261//    if err == nil { // resp is now filled
34262//        fmt.Println(resp)
34263//    }
34264//
34265// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
34266func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
34267	op := &request.Operation{
34268		Name:       opReplaceRoute,
34269		HTTPMethod: "POST",
34270		HTTPPath:   "/",
34271	}
34272
34273	if input == nil {
34274		input = &ReplaceRouteInput{}
34275	}
34276
34277	output = &ReplaceRouteOutput{}
34278	req = c.newRequest(op, input, output)
34279	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34280	return
34281}
34282
34283// ReplaceRoute API operation for Amazon Elastic Compute Cloud.
34284//
34285// Replaces an existing route within a route table in a VPC. You must provide
34286// only one of the following: internet gateway, virtual private gateway, NAT
34287// instance, NAT gateway, VPC peering connection, network interface, egress-only
34288// internet gateway, or transit gateway.
34289//
34290// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
34291// in the Amazon Virtual Private Cloud User Guide.
34292//
34293// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34294// with awserr.Error's Code and Message methods to get detailed information about
34295// the error.
34296//
34297// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34298// API operation ReplaceRoute for usage and error information.
34299// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
34300func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
34301	req, out := c.ReplaceRouteRequest(input)
34302	return out, req.Send()
34303}
34304
34305// ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
34306// the ability to pass a context and additional request options.
34307//
34308// See ReplaceRoute for details on how to use this API operation.
34309//
34310// The context must be non-nil and will be used for request cancellation. If
34311// the context is nil a panic will occur. In the future the SDK may create
34312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34313// for more information on using Contexts.
34314func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
34315	req, out := c.ReplaceRouteRequest(input)
34316	req.SetContext(ctx)
34317	req.ApplyOptions(opts...)
34318	return out, req.Send()
34319}
34320
34321const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
34322
34323// ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
34324// client's request for the ReplaceRouteTableAssociation operation. The "output" return
34325// value will be populated with the request's response once the request completes
34326// successfully.
34327//
34328// Use "Send" method on the returned Request to send the API call to the service.
34329// the "output" return value is not valid until after Send returns without error.
34330//
34331// See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
34332// API call, and error handling.
34333//
34334// This method is useful when you want to inject custom logic or configuration
34335// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34336//
34337//
34338//    // Example sending a request using the ReplaceRouteTableAssociationRequest method.
34339//    req, resp := client.ReplaceRouteTableAssociationRequest(params)
34340//
34341//    err := req.Send()
34342//    if err == nil { // resp is now filled
34343//        fmt.Println(resp)
34344//    }
34345//
34346// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
34347func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
34348	op := &request.Operation{
34349		Name:       opReplaceRouteTableAssociation,
34350		HTTPMethod: "POST",
34351		HTTPPath:   "/",
34352	}
34353
34354	if input == nil {
34355		input = &ReplaceRouteTableAssociationInput{}
34356	}
34357
34358	output = &ReplaceRouteTableAssociationOutput{}
34359	req = c.newRequest(op, input, output)
34360	return
34361}
34362
34363// ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
34364//
34365// Changes the route table associated with a given subnet, internet gateway,
34366// or virtual private gateway in a VPC. After the operation completes, the subnet
34367// or gateway uses the routes in the new route table. For more information about
34368// route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
34369// in the Amazon Virtual Private Cloud User Guide.
34370//
34371// You can also use this operation to change which table is the main route table
34372// in the VPC. Specify the main route table's association ID and the route table
34373// ID of the new main route table.
34374//
34375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34376// with awserr.Error's Code and Message methods to get detailed information about
34377// the error.
34378//
34379// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34380// API operation ReplaceRouteTableAssociation for usage and error information.
34381// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
34382func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
34383	req, out := c.ReplaceRouteTableAssociationRequest(input)
34384	return out, req.Send()
34385}
34386
34387// ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
34388// the ability to pass a context and additional request options.
34389//
34390// See ReplaceRouteTableAssociation for details on how to use this API operation.
34391//
34392// The context must be non-nil and will be used for request cancellation. If
34393// the context is nil a panic will occur. In the future the SDK may create
34394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34395// for more information on using Contexts.
34396func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
34397	req, out := c.ReplaceRouteTableAssociationRequest(input)
34398	req.SetContext(ctx)
34399	req.ApplyOptions(opts...)
34400	return out, req.Send()
34401}
34402
34403const opReplaceTransitGatewayRoute = "ReplaceTransitGatewayRoute"
34404
34405// ReplaceTransitGatewayRouteRequest generates a "aws/request.Request" representing the
34406// client's request for the ReplaceTransitGatewayRoute operation. The "output" return
34407// value will be populated with the request's response once the request completes
34408// successfully.
34409//
34410// Use "Send" method on the returned Request to send the API call to the service.
34411// the "output" return value is not valid until after Send returns without error.
34412//
34413// See ReplaceTransitGatewayRoute for more information on using the ReplaceTransitGatewayRoute
34414// API call, and error handling.
34415//
34416// This method is useful when you want to inject custom logic or configuration
34417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34418//
34419//
34420//    // Example sending a request using the ReplaceTransitGatewayRouteRequest method.
34421//    req, resp := client.ReplaceTransitGatewayRouteRequest(params)
34422//
34423//    err := req.Send()
34424//    if err == nil { // resp is now filled
34425//        fmt.Println(resp)
34426//    }
34427//
34428// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
34429func (c *EC2) ReplaceTransitGatewayRouteRequest(input *ReplaceTransitGatewayRouteInput) (req *request.Request, output *ReplaceTransitGatewayRouteOutput) {
34430	op := &request.Operation{
34431		Name:       opReplaceTransitGatewayRoute,
34432		HTTPMethod: "POST",
34433		HTTPPath:   "/",
34434	}
34435
34436	if input == nil {
34437		input = &ReplaceTransitGatewayRouteInput{}
34438	}
34439
34440	output = &ReplaceTransitGatewayRouteOutput{}
34441	req = c.newRequest(op, input, output)
34442	return
34443}
34444
34445// ReplaceTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
34446//
34447// Replaces the specified route in the specified transit gateway route table.
34448//
34449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34450// with awserr.Error's Code and Message methods to get detailed information about
34451// the error.
34452//
34453// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34454// API operation ReplaceTransitGatewayRoute for usage and error information.
34455// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
34456func (c *EC2) ReplaceTransitGatewayRoute(input *ReplaceTransitGatewayRouteInput) (*ReplaceTransitGatewayRouteOutput, error) {
34457	req, out := c.ReplaceTransitGatewayRouteRequest(input)
34458	return out, req.Send()
34459}
34460
34461// ReplaceTransitGatewayRouteWithContext is the same as ReplaceTransitGatewayRoute with the addition of
34462// the ability to pass a context and additional request options.
34463//
34464// See ReplaceTransitGatewayRoute for details on how to use this API operation.
34465//
34466// The context must be non-nil and will be used for request cancellation. If
34467// the context is nil a panic will occur. In the future the SDK may create
34468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34469// for more information on using Contexts.
34470func (c *EC2) ReplaceTransitGatewayRouteWithContext(ctx aws.Context, input *ReplaceTransitGatewayRouteInput, opts ...request.Option) (*ReplaceTransitGatewayRouteOutput, error) {
34471	req, out := c.ReplaceTransitGatewayRouteRequest(input)
34472	req.SetContext(ctx)
34473	req.ApplyOptions(opts...)
34474	return out, req.Send()
34475}
34476
34477const opReportInstanceStatus = "ReportInstanceStatus"
34478
34479// ReportInstanceStatusRequest generates a "aws/request.Request" representing the
34480// client's request for the ReportInstanceStatus operation. The "output" return
34481// value will be populated with the request's response once the request completes
34482// successfully.
34483//
34484// Use "Send" method on the returned Request to send the API call to the service.
34485// the "output" return value is not valid until after Send returns without error.
34486//
34487// See ReportInstanceStatus for more information on using the ReportInstanceStatus
34488// API call, and error handling.
34489//
34490// This method is useful when you want to inject custom logic or configuration
34491// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34492//
34493//
34494//    // Example sending a request using the ReportInstanceStatusRequest method.
34495//    req, resp := client.ReportInstanceStatusRequest(params)
34496//
34497//    err := req.Send()
34498//    if err == nil { // resp is now filled
34499//        fmt.Println(resp)
34500//    }
34501//
34502// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
34503func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
34504	op := &request.Operation{
34505		Name:       opReportInstanceStatus,
34506		HTTPMethod: "POST",
34507		HTTPPath:   "/",
34508	}
34509
34510	if input == nil {
34511		input = &ReportInstanceStatusInput{}
34512	}
34513
34514	output = &ReportInstanceStatusOutput{}
34515	req = c.newRequest(op, input, output)
34516	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34517	return
34518}
34519
34520// ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
34521//
34522// Submits feedback about the status of an instance. The instance must be in
34523// the running state. If your experience with the instance differs from the
34524// instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
34525// to report your experience with the instance. Amazon EC2 collects this information
34526// to improve the accuracy of status checks.
34527//
34528// Use of this action does not change the value returned by DescribeInstanceStatus.
34529//
34530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34531// with awserr.Error's Code and Message methods to get detailed information about
34532// the error.
34533//
34534// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34535// API operation ReportInstanceStatus for usage and error information.
34536// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
34537func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
34538	req, out := c.ReportInstanceStatusRequest(input)
34539	return out, req.Send()
34540}
34541
34542// ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
34543// the ability to pass a context and additional request options.
34544//
34545// See ReportInstanceStatus for details on how to use this API operation.
34546//
34547// The context must be non-nil and will be used for request cancellation. If
34548// the context is nil a panic will occur. In the future the SDK may create
34549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34550// for more information on using Contexts.
34551func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
34552	req, out := c.ReportInstanceStatusRequest(input)
34553	req.SetContext(ctx)
34554	req.ApplyOptions(opts...)
34555	return out, req.Send()
34556}
34557
34558const opRequestSpotFleet = "RequestSpotFleet"
34559
34560// RequestSpotFleetRequest generates a "aws/request.Request" representing the
34561// client's request for the RequestSpotFleet operation. The "output" return
34562// value will be populated with the request's response once the request completes
34563// successfully.
34564//
34565// Use "Send" method on the returned Request to send the API call to the service.
34566// the "output" return value is not valid until after Send returns without error.
34567//
34568// See RequestSpotFleet for more information on using the RequestSpotFleet
34569// API call, and error handling.
34570//
34571// This method is useful when you want to inject custom logic or configuration
34572// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34573//
34574//
34575//    // Example sending a request using the RequestSpotFleetRequest method.
34576//    req, resp := client.RequestSpotFleetRequest(params)
34577//
34578//    err := req.Send()
34579//    if err == nil { // resp is now filled
34580//        fmt.Println(resp)
34581//    }
34582//
34583// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
34584func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
34585	op := &request.Operation{
34586		Name:       opRequestSpotFleet,
34587		HTTPMethod: "POST",
34588		HTTPPath:   "/",
34589	}
34590
34591	if input == nil {
34592		input = &RequestSpotFleetInput{}
34593	}
34594
34595	output = &RequestSpotFleetOutput{}
34596	req = c.newRequest(op, input, output)
34597	return
34598}
34599
34600// RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
34601//
34602// Creates a Spot Fleet request.
34603//
34604// The Spot Fleet request specifies the total target capacity and the On-Demand
34605// target capacity. Amazon EC2 calculates the difference between the total capacity
34606// and On-Demand capacity, and launches the difference as Spot capacity.
34607//
34608// You can submit a single request that includes multiple launch specifications
34609// that vary by instance type, AMI, Availability Zone, or subnet.
34610//
34611// By default, the Spot Fleet requests Spot Instances in the Spot Instance pool
34612// where the price per unit is the lowest. Each launch specification can include
34613// its own instance weighting that reflects the value of the instance type to
34614// your application workload.
34615//
34616// Alternatively, you can specify that the Spot Fleet distribute the target
34617// capacity across the Spot pools included in its launch specifications. By
34618// ensuring that the Spot Instances in your Spot Fleet are in different Spot
34619// pools, you can improve the availability of your fleet.
34620//
34621// You can specify tags for the Spot Fleet and Spot Instances. You cannot tag
34622// other resource types in a Spot Fleet request because only the spot-fleet-request
34623// and instance resource types are supported.
34624//
34625// For more information, see Spot Fleet Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
34626// in the Amazon EC2 User Guide for Linux Instances.
34627//
34628// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34629// with awserr.Error's Code and Message methods to get detailed information about
34630// the error.
34631//
34632// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34633// API operation RequestSpotFleet for usage and error information.
34634// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
34635func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
34636	req, out := c.RequestSpotFleetRequest(input)
34637	return out, req.Send()
34638}
34639
34640// RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
34641// the ability to pass a context and additional request options.
34642//
34643// See RequestSpotFleet for details on how to use this API operation.
34644//
34645// The context must be non-nil and will be used for request cancellation. If
34646// the context is nil a panic will occur. In the future the SDK may create
34647// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34648// for more information on using Contexts.
34649func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
34650	req, out := c.RequestSpotFleetRequest(input)
34651	req.SetContext(ctx)
34652	req.ApplyOptions(opts...)
34653	return out, req.Send()
34654}
34655
34656const opRequestSpotInstances = "RequestSpotInstances"
34657
34658// RequestSpotInstancesRequest generates a "aws/request.Request" representing the
34659// client's request for the RequestSpotInstances operation. The "output" return
34660// value will be populated with the request's response once the request completes
34661// successfully.
34662//
34663// Use "Send" method on the returned Request to send the API call to the service.
34664// the "output" return value is not valid until after Send returns without error.
34665//
34666// See RequestSpotInstances for more information on using the RequestSpotInstances
34667// API call, and error handling.
34668//
34669// This method is useful when you want to inject custom logic or configuration
34670// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34671//
34672//
34673//    // Example sending a request using the RequestSpotInstancesRequest method.
34674//    req, resp := client.RequestSpotInstancesRequest(params)
34675//
34676//    err := req.Send()
34677//    if err == nil { // resp is now filled
34678//        fmt.Println(resp)
34679//    }
34680//
34681// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
34682func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
34683	op := &request.Operation{
34684		Name:       opRequestSpotInstances,
34685		HTTPMethod: "POST",
34686		HTTPPath:   "/",
34687	}
34688
34689	if input == nil {
34690		input = &RequestSpotInstancesInput{}
34691	}
34692
34693	output = &RequestSpotInstancesOutput{}
34694	req = c.newRequest(op, input, output)
34695	return
34696}
34697
34698// RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
34699//
34700// Creates a Spot Instance request.
34701//
34702// For more information, see Spot Instance Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
34703// in the Amazon EC2 User Guide for Linux Instances.
34704//
34705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34706// with awserr.Error's Code and Message methods to get detailed information about
34707// the error.
34708//
34709// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34710// API operation RequestSpotInstances for usage and error information.
34711// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
34712func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
34713	req, out := c.RequestSpotInstancesRequest(input)
34714	return out, req.Send()
34715}
34716
34717// RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
34718// the ability to pass a context and additional request options.
34719//
34720// See RequestSpotInstances for details on how to use this API operation.
34721//
34722// The context must be non-nil and will be used for request cancellation. If
34723// the context is nil a panic will occur. In the future the SDK may create
34724// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34725// for more information on using Contexts.
34726func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
34727	req, out := c.RequestSpotInstancesRequest(input)
34728	req.SetContext(ctx)
34729	req.ApplyOptions(opts...)
34730	return out, req.Send()
34731}
34732
34733const opResetEbsDefaultKmsKeyId = "ResetEbsDefaultKmsKeyId"
34734
34735// ResetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
34736// client's request for the ResetEbsDefaultKmsKeyId operation. The "output" return
34737// value will be populated with the request's response once the request completes
34738// successfully.
34739//
34740// Use "Send" method on the returned Request to send the API call to the service.
34741// the "output" return value is not valid until after Send returns without error.
34742//
34743// See ResetEbsDefaultKmsKeyId for more information on using the ResetEbsDefaultKmsKeyId
34744// API call, and error handling.
34745//
34746// This method is useful when you want to inject custom logic or configuration
34747// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34748//
34749//
34750//    // Example sending a request using the ResetEbsDefaultKmsKeyIdRequest method.
34751//    req, resp := client.ResetEbsDefaultKmsKeyIdRequest(params)
34752//
34753//    err := req.Send()
34754//    if err == nil { // resp is now filled
34755//        fmt.Println(resp)
34756//    }
34757//
34758// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
34759func (c *EC2) ResetEbsDefaultKmsKeyIdRequest(input *ResetEbsDefaultKmsKeyIdInput) (req *request.Request, output *ResetEbsDefaultKmsKeyIdOutput) {
34760	op := &request.Operation{
34761		Name:       opResetEbsDefaultKmsKeyId,
34762		HTTPMethod: "POST",
34763		HTTPPath:   "/",
34764	}
34765
34766	if input == nil {
34767		input = &ResetEbsDefaultKmsKeyIdInput{}
34768	}
34769
34770	output = &ResetEbsDefaultKmsKeyIdOutput{}
34771	req = c.newRequest(op, input, output)
34772	return
34773}
34774
34775// ResetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
34776//
34777// Resets the default customer master key (CMK) for EBS encryption for your
34778// account in this Region to the AWS managed CMK for EBS.
34779//
34780// After resetting the default CMK to the AWS managed CMK, you can continue
34781// to encrypt by a customer managed CMK by specifying it when you create the
34782// volume. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
34783// in the Amazon Elastic Compute Cloud User Guide.
34784//
34785// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34786// with awserr.Error's Code and Message methods to get detailed information about
34787// the error.
34788//
34789// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34790// API operation ResetEbsDefaultKmsKeyId for usage and error information.
34791// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
34792func (c *EC2) ResetEbsDefaultKmsKeyId(input *ResetEbsDefaultKmsKeyIdInput) (*ResetEbsDefaultKmsKeyIdOutput, error) {
34793	req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
34794	return out, req.Send()
34795}
34796
34797// ResetEbsDefaultKmsKeyIdWithContext is the same as ResetEbsDefaultKmsKeyId with the addition of
34798// the ability to pass a context and additional request options.
34799//
34800// See ResetEbsDefaultKmsKeyId for details on how to use this API operation.
34801//
34802// The context must be non-nil and will be used for request cancellation. If
34803// the context is nil a panic will occur. In the future the SDK may create
34804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34805// for more information on using Contexts.
34806func (c *EC2) ResetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ResetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ResetEbsDefaultKmsKeyIdOutput, error) {
34807	req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
34808	req.SetContext(ctx)
34809	req.ApplyOptions(opts...)
34810	return out, req.Send()
34811}
34812
34813const opResetFpgaImageAttribute = "ResetFpgaImageAttribute"
34814
34815// ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the
34816// client's request for the ResetFpgaImageAttribute operation. The "output" return
34817// value will be populated with the request's response once the request completes
34818// successfully.
34819//
34820// Use "Send" method on the returned Request to send the API call to the service.
34821// the "output" return value is not valid until after Send returns without error.
34822//
34823// See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute
34824// API call, and error handling.
34825//
34826// This method is useful when you want to inject custom logic or configuration
34827// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34828//
34829//
34830//    // Example sending a request using the ResetFpgaImageAttributeRequest method.
34831//    req, resp := client.ResetFpgaImageAttributeRequest(params)
34832//
34833//    err := req.Send()
34834//    if err == nil { // resp is now filled
34835//        fmt.Println(resp)
34836//    }
34837//
34838// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
34839func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) {
34840	op := &request.Operation{
34841		Name:       opResetFpgaImageAttribute,
34842		HTTPMethod: "POST",
34843		HTTPPath:   "/",
34844	}
34845
34846	if input == nil {
34847		input = &ResetFpgaImageAttributeInput{}
34848	}
34849
34850	output = &ResetFpgaImageAttributeOutput{}
34851	req = c.newRequest(op, input, output)
34852	return
34853}
34854
34855// ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
34856//
34857// Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
34858// its default value. You can only reset the load permission attribute.
34859//
34860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34861// with awserr.Error's Code and Message methods to get detailed information about
34862// the error.
34863//
34864// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34865// API operation ResetFpgaImageAttribute for usage and error information.
34866// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
34867func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) {
34868	req, out := c.ResetFpgaImageAttributeRequest(input)
34869	return out, req.Send()
34870}
34871
34872// ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of
34873// the ability to pass a context and additional request options.
34874//
34875// See ResetFpgaImageAttribute for details on how to use this API operation.
34876//
34877// The context must be non-nil and will be used for request cancellation. If
34878// the context is nil a panic will occur. In the future the SDK may create
34879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34880// for more information on using Contexts.
34881func (c *EC2) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) {
34882	req, out := c.ResetFpgaImageAttributeRequest(input)
34883	req.SetContext(ctx)
34884	req.ApplyOptions(opts...)
34885	return out, req.Send()
34886}
34887
34888const opResetImageAttribute = "ResetImageAttribute"
34889
34890// ResetImageAttributeRequest generates a "aws/request.Request" representing the
34891// client's request for the ResetImageAttribute operation. The "output" return
34892// value will be populated with the request's response once the request completes
34893// successfully.
34894//
34895// Use "Send" method on the returned Request to send the API call to the service.
34896// the "output" return value is not valid until after Send returns without error.
34897//
34898// See ResetImageAttribute for more information on using the ResetImageAttribute
34899// API call, and error handling.
34900//
34901// This method is useful when you want to inject custom logic or configuration
34902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34903//
34904//
34905//    // Example sending a request using the ResetImageAttributeRequest method.
34906//    req, resp := client.ResetImageAttributeRequest(params)
34907//
34908//    err := req.Send()
34909//    if err == nil { // resp is now filled
34910//        fmt.Println(resp)
34911//    }
34912//
34913// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
34914func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
34915	op := &request.Operation{
34916		Name:       opResetImageAttribute,
34917		HTTPMethod: "POST",
34918		HTTPPath:   "/",
34919	}
34920
34921	if input == nil {
34922		input = &ResetImageAttributeInput{}
34923	}
34924
34925	output = &ResetImageAttributeOutput{}
34926	req = c.newRequest(op, input, output)
34927	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34928	return
34929}
34930
34931// ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
34932//
34933// Resets an attribute of an AMI to its default value.
34934//
34935// The productCodes attribute can't be reset.
34936//
34937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34938// with awserr.Error's Code and Message methods to get detailed information about
34939// the error.
34940//
34941// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34942// API operation ResetImageAttribute for usage and error information.
34943// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
34944func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
34945	req, out := c.ResetImageAttributeRequest(input)
34946	return out, req.Send()
34947}
34948
34949// ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
34950// the ability to pass a context and additional request options.
34951//
34952// See ResetImageAttribute for details on how to use this API operation.
34953//
34954// The context must be non-nil and will be used for request cancellation. If
34955// the context is nil a panic will occur. In the future the SDK may create
34956// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34957// for more information on using Contexts.
34958func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
34959	req, out := c.ResetImageAttributeRequest(input)
34960	req.SetContext(ctx)
34961	req.ApplyOptions(opts...)
34962	return out, req.Send()
34963}
34964
34965const opResetInstanceAttribute = "ResetInstanceAttribute"
34966
34967// ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
34968// client's request for the ResetInstanceAttribute operation. The "output" return
34969// value will be populated with the request's response once the request completes
34970// successfully.
34971//
34972// Use "Send" method on the returned Request to send the API call to the service.
34973// the "output" return value is not valid until after Send returns without error.
34974//
34975// See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
34976// API call, and error handling.
34977//
34978// This method is useful when you want to inject custom logic or configuration
34979// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34980//
34981//
34982//    // Example sending a request using the ResetInstanceAttributeRequest method.
34983//    req, resp := client.ResetInstanceAttributeRequest(params)
34984//
34985//    err := req.Send()
34986//    if err == nil { // resp is now filled
34987//        fmt.Println(resp)
34988//    }
34989//
34990// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
34991func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
34992	op := &request.Operation{
34993		Name:       opResetInstanceAttribute,
34994		HTTPMethod: "POST",
34995		HTTPPath:   "/",
34996	}
34997
34998	if input == nil {
34999		input = &ResetInstanceAttributeInput{}
35000	}
35001
35002	output = &ResetInstanceAttributeOutput{}
35003	req = c.newRequest(op, input, output)
35004	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35005	return
35006}
35007
35008// ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
35009//
35010// Resets an attribute of an instance to its default value. To reset the kernel
35011// or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
35012// the instance can be either running or stopped.
35013//
35014// The sourceDestCheck attribute controls whether source/destination checking
35015// is enabled. The default value is true, which means checking is enabled. This
35016// value must be false for a NAT instance to perform NAT. For more information,
35017// see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
35018// in the Amazon Virtual Private Cloud User Guide.
35019//
35020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35021// with awserr.Error's Code and Message methods to get detailed information about
35022// the error.
35023//
35024// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35025// API operation ResetInstanceAttribute for usage and error information.
35026// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
35027func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
35028	req, out := c.ResetInstanceAttributeRequest(input)
35029	return out, req.Send()
35030}
35031
35032// ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
35033// the ability to pass a context and additional request options.
35034//
35035// See ResetInstanceAttribute for details on how to use this API operation.
35036//
35037// The context must be non-nil and will be used for request cancellation. If
35038// the context is nil a panic will occur. In the future the SDK may create
35039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35040// for more information on using Contexts.
35041func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
35042	req, out := c.ResetInstanceAttributeRequest(input)
35043	req.SetContext(ctx)
35044	req.ApplyOptions(opts...)
35045	return out, req.Send()
35046}
35047
35048const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
35049
35050// ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
35051// client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
35052// value will be populated with the request's response once the request completes
35053// successfully.
35054//
35055// Use "Send" method on the returned Request to send the API call to the service.
35056// the "output" return value is not valid until after Send returns without error.
35057//
35058// See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
35059// API call, and error handling.
35060//
35061// This method is useful when you want to inject custom logic or configuration
35062// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35063//
35064//
35065//    // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
35066//    req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
35067//
35068//    err := req.Send()
35069//    if err == nil { // resp is now filled
35070//        fmt.Println(resp)
35071//    }
35072//
35073// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
35074func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
35075	op := &request.Operation{
35076		Name:       opResetNetworkInterfaceAttribute,
35077		HTTPMethod: "POST",
35078		HTTPPath:   "/",
35079	}
35080
35081	if input == nil {
35082		input = &ResetNetworkInterfaceAttributeInput{}
35083	}
35084
35085	output = &ResetNetworkInterfaceAttributeOutput{}
35086	req = c.newRequest(op, input, output)
35087	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35088	return
35089}
35090
35091// ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
35092//
35093// Resets a network interface attribute. You can specify only one attribute
35094// at a time.
35095//
35096// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35097// with awserr.Error's Code and Message methods to get detailed information about
35098// the error.
35099//
35100// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35101// API operation ResetNetworkInterfaceAttribute for usage and error information.
35102// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
35103func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
35104	req, out := c.ResetNetworkInterfaceAttributeRequest(input)
35105	return out, req.Send()
35106}
35107
35108// ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
35109// the ability to pass a context and additional request options.
35110//
35111// See ResetNetworkInterfaceAttribute for details on how to use this API operation.
35112//
35113// The context must be non-nil and will be used for request cancellation. If
35114// the context is nil a panic will occur. In the future the SDK may create
35115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35116// for more information on using Contexts.
35117func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
35118	req, out := c.ResetNetworkInterfaceAttributeRequest(input)
35119	req.SetContext(ctx)
35120	req.ApplyOptions(opts...)
35121	return out, req.Send()
35122}
35123
35124const opResetSnapshotAttribute = "ResetSnapshotAttribute"
35125
35126// ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
35127// client's request for the ResetSnapshotAttribute operation. The "output" return
35128// value will be populated with the request's response once the request completes
35129// successfully.
35130//
35131// Use "Send" method on the returned Request to send the API call to the service.
35132// the "output" return value is not valid until after Send returns without error.
35133//
35134// See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
35135// API call, and error handling.
35136//
35137// This method is useful when you want to inject custom logic or configuration
35138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35139//
35140//
35141//    // Example sending a request using the ResetSnapshotAttributeRequest method.
35142//    req, resp := client.ResetSnapshotAttributeRequest(params)
35143//
35144//    err := req.Send()
35145//    if err == nil { // resp is now filled
35146//        fmt.Println(resp)
35147//    }
35148//
35149// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
35150func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
35151	op := &request.Operation{
35152		Name:       opResetSnapshotAttribute,
35153		HTTPMethod: "POST",
35154		HTTPPath:   "/",
35155	}
35156
35157	if input == nil {
35158		input = &ResetSnapshotAttributeInput{}
35159	}
35160
35161	output = &ResetSnapshotAttributeOutput{}
35162	req = c.newRequest(op, input, output)
35163	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35164	return
35165}
35166
35167// ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
35168//
35169// Resets permission settings for the specified snapshot.
35170//
35171// For more information about modifying snapshot permissions, see Sharing Snapshots
35172// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
35173// in the Amazon Elastic Compute Cloud User Guide.
35174//
35175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35176// with awserr.Error's Code and Message methods to get detailed information about
35177// the error.
35178//
35179// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35180// API operation ResetSnapshotAttribute for usage and error information.
35181// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
35182func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
35183	req, out := c.ResetSnapshotAttributeRequest(input)
35184	return out, req.Send()
35185}
35186
35187// ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
35188// the ability to pass a context and additional request options.
35189//
35190// See ResetSnapshotAttribute for details on how to use this API operation.
35191//
35192// The context must be non-nil and will be used for request cancellation. If
35193// the context is nil a panic will occur. In the future the SDK may create
35194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35195// for more information on using Contexts.
35196func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
35197	req, out := c.ResetSnapshotAttributeRequest(input)
35198	req.SetContext(ctx)
35199	req.ApplyOptions(opts...)
35200	return out, req.Send()
35201}
35202
35203const opRestoreAddressToClassic = "RestoreAddressToClassic"
35204
35205// RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
35206// client's request for the RestoreAddressToClassic operation. The "output" return
35207// value will be populated with the request's response once the request completes
35208// successfully.
35209//
35210// Use "Send" method on the returned Request to send the API call to the service.
35211// the "output" return value is not valid until after Send returns without error.
35212//
35213// See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
35214// API call, and error handling.
35215//
35216// This method is useful when you want to inject custom logic or configuration
35217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35218//
35219//
35220//    // Example sending a request using the RestoreAddressToClassicRequest method.
35221//    req, resp := client.RestoreAddressToClassicRequest(params)
35222//
35223//    err := req.Send()
35224//    if err == nil { // resp is now filled
35225//        fmt.Println(resp)
35226//    }
35227//
35228// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
35229func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
35230	op := &request.Operation{
35231		Name:       opRestoreAddressToClassic,
35232		HTTPMethod: "POST",
35233		HTTPPath:   "/",
35234	}
35235
35236	if input == nil {
35237		input = &RestoreAddressToClassicInput{}
35238	}
35239
35240	output = &RestoreAddressToClassicOutput{}
35241	req = c.newRequest(op, input, output)
35242	return
35243}
35244
35245// RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
35246//
35247// Restores an Elastic IP address that was previously moved to the EC2-VPC platform
35248// back to the EC2-Classic platform. You cannot move an Elastic IP address that
35249// was originally allocated for use in EC2-VPC. The Elastic IP address must
35250// not be associated with an instance or network interface.
35251//
35252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35253// with awserr.Error's Code and Message methods to get detailed information about
35254// the error.
35255//
35256// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35257// API operation RestoreAddressToClassic for usage and error information.
35258// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
35259func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
35260	req, out := c.RestoreAddressToClassicRequest(input)
35261	return out, req.Send()
35262}
35263
35264// RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
35265// the ability to pass a context and additional request options.
35266//
35267// See RestoreAddressToClassic for details on how to use this API operation.
35268//
35269// The context must be non-nil and will be used for request cancellation. If
35270// the context is nil a panic will occur. In the future the SDK may create
35271// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35272// for more information on using Contexts.
35273func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
35274	req, out := c.RestoreAddressToClassicRequest(input)
35275	req.SetContext(ctx)
35276	req.ApplyOptions(opts...)
35277	return out, req.Send()
35278}
35279
35280const opRevokeClientVpnIngress = "RevokeClientVpnIngress"
35281
35282// RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the
35283// client's request for the RevokeClientVpnIngress operation. The "output" return
35284// value will be populated with the request's response once the request completes
35285// successfully.
35286//
35287// Use "Send" method on the returned Request to send the API call to the service.
35288// the "output" return value is not valid until after Send returns without error.
35289//
35290// See RevokeClientVpnIngress for more information on using the RevokeClientVpnIngress
35291// API call, and error handling.
35292//
35293// This method is useful when you want to inject custom logic or configuration
35294// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35295//
35296//
35297//    // Example sending a request using the RevokeClientVpnIngressRequest method.
35298//    req, resp := client.RevokeClientVpnIngressRequest(params)
35299//
35300//    err := req.Send()
35301//    if err == nil { // resp is now filled
35302//        fmt.Println(resp)
35303//    }
35304//
35305// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
35306func (c *EC2) RevokeClientVpnIngressRequest(input *RevokeClientVpnIngressInput) (req *request.Request, output *RevokeClientVpnIngressOutput) {
35307	op := &request.Operation{
35308		Name:       opRevokeClientVpnIngress,
35309		HTTPMethod: "POST",
35310		HTTPPath:   "/",
35311	}
35312
35313	if input == nil {
35314		input = &RevokeClientVpnIngressInput{}
35315	}
35316
35317	output = &RevokeClientVpnIngressOutput{}
35318	req = c.newRequest(op, input, output)
35319	return
35320}
35321
35322// RevokeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
35323//
35324// Removes an ingress authorization rule from a Client VPN endpoint.
35325//
35326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35327// with awserr.Error's Code and Message methods to get detailed information about
35328// the error.
35329//
35330// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35331// API operation RevokeClientVpnIngress for usage and error information.
35332// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
35333func (c *EC2) RevokeClientVpnIngress(input *RevokeClientVpnIngressInput) (*RevokeClientVpnIngressOutput, error) {
35334	req, out := c.RevokeClientVpnIngressRequest(input)
35335	return out, req.Send()
35336}
35337
35338// RevokeClientVpnIngressWithContext is the same as RevokeClientVpnIngress with the addition of
35339// the ability to pass a context and additional request options.
35340//
35341// See RevokeClientVpnIngress for details on how to use this API operation.
35342//
35343// The context must be non-nil and will be used for request cancellation. If
35344// the context is nil a panic will occur. In the future the SDK may create
35345// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35346// for more information on using Contexts.
35347func (c *EC2) RevokeClientVpnIngressWithContext(ctx aws.Context, input *RevokeClientVpnIngressInput, opts ...request.Option) (*RevokeClientVpnIngressOutput, error) {
35348	req, out := c.RevokeClientVpnIngressRequest(input)
35349	req.SetContext(ctx)
35350	req.ApplyOptions(opts...)
35351	return out, req.Send()
35352}
35353
35354const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
35355
35356// RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
35357// client's request for the RevokeSecurityGroupEgress operation. The "output" return
35358// value will be populated with the request's response once the request completes
35359// successfully.
35360//
35361// Use "Send" method on the returned Request to send the API call to the service.
35362// the "output" return value is not valid until after Send returns without error.
35363//
35364// See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
35365// API call, and error handling.
35366//
35367// This method is useful when you want to inject custom logic or configuration
35368// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35369//
35370//
35371//    // Example sending a request using the RevokeSecurityGroupEgressRequest method.
35372//    req, resp := client.RevokeSecurityGroupEgressRequest(params)
35373//
35374//    err := req.Send()
35375//    if err == nil { // resp is now filled
35376//        fmt.Println(resp)
35377//    }
35378//
35379// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
35380func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
35381	op := &request.Operation{
35382		Name:       opRevokeSecurityGroupEgress,
35383		HTTPMethod: "POST",
35384		HTTPPath:   "/",
35385	}
35386
35387	if input == nil {
35388		input = &RevokeSecurityGroupEgressInput{}
35389	}
35390
35391	output = &RevokeSecurityGroupEgressOutput{}
35392	req = c.newRequest(op, input, output)
35393	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35394	return
35395}
35396
35397// RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
35398//
35399// [VPC only] Removes the specified egress rules from a security group for EC2-VPC.
35400// This action doesn't apply to security groups for use in EC2-Classic. To remove
35401// a rule, the values that you specify (for example, ports) must match the existing
35402// rule's values exactly.
35403//
35404// Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
35405// security group. For the TCP and UDP protocols, you must also specify the
35406// destination port or range of ports. For the ICMP protocol, you must also
35407// specify the ICMP type and code. If the security group rule has a description,
35408// you do not have to specify the description to revoke the rule.
35409//
35410// Rule changes are propagated to instances within the security group as quickly
35411// as possible. However, a small delay might occur.
35412//
35413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35414// with awserr.Error's Code and Message methods to get detailed information about
35415// the error.
35416//
35417// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35418// API operation RevokeSecurityGroupEgress for usage and error information.
35419// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
35420func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
35421	req, out := c.RevokeSecurityGroupEgressRequest(input)
35422	return out, req.Send()
35423}
35424
35425// RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
35426// the ability to pass a context and additional request options.
35427//
35428// See RevokeSecurityGroupEgress for details on how to use this API operation.
35429//
35430// The context must be non-nil and will be used for request cancellation. If
35431// the context is nil a panic will occur. In the future the SDK may create
35432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35433// for more information on using Contexts.
35434func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
35435	req, out := c.RevokeSecurityGroupEgressRequest(input)
35436	req.SetContext(ctx)
35437	req.ApplyOptions(opts...)
35438	return out, req.Send()
35439}
35440
35441const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
35442
35443// RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
35444// client's request for the RevokeSecurityGroupIngress operation. The "output" return
35445// value will be populated with the request's response once the request completes
35446// successfully.
35447//
35448// Use "Send" method on the returned Request to send the API call to the service.
35449// the "output" return value is not valid until after Send returns without error.
35450//
35451// See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
35452// API call, and error handling.
35453//
35454// This method is useful when you want to inject custom logic or configuration
35455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35456//
35457//
35458//    // Example sending a request using the RevokeSecurityGroupIngressRequest method.
35459//    req, resp := client.RevokeSecurityGroupIngressRequest(params)
35460//
35461//    err := req.Send()
35462//    if err == nil { // resp is now filled
35463//        fmt.Println(resp)
35464//    }
35465//
35466// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
35467func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
35468	op := &request.Operation{
35469		Name:       opRevokeSecurityGroupIngress,
35470		HTTPMethod: "POST",
35471		HTTPPath:   "/",
35472	}
35473
35474	if input == nil {
35475		input = &RevokeSecurityGroupIngressInput{}
35476	}
35477
35478	output = &RevokeSecurityGroupIngressOutput{}
35479	req = c.newRequest(op, input, output)
35480	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35481	return
35482}
35483
35484// RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
35485//
35486// Removes the specified ingress rules from a security group. To remove a rule,
35487// the values that you specify (for example, ports) must match the existing
35488// rule's values exactly.
35489//
35490// [EC2-Classic only] If the values you specify do not match the existing rule's
35491// values, no error is returned. Use DescribeSecurityGroups to verify that the
35492// rule has been removed.
35493//
35494// Each rule consists of the protocol and the CIDR range or source security
35495// group. For the TCP and UDP protocols, you must also specify the destination
35496// port or range of ports. For the ICMP protocol, you must also specify the
35497// ICMP type and code. If the security group rule has a description, you do
35498// not have to specify the description to revoke the rule.
35499//
35500// Rule changes are propagated to instances within the security group as quickly
35501// as possible. However, a small delay might occur.
35502//
35503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35504// with awserr.Error's Code and Message methods to get detailed information about
35505// the error.
35506//
35507// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35508// API operation RevokeSecurityGroupIngress for usage and error information.
35509// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
35510func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
35511	req, out := c.RevokeSecurityGroupIngressRequest(input)
35512	return out, req.Send()
35513}
35514
35515// RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
35516// the ability to pass a context and additional request options.
35517//
35518// See RevokeSecurityGroupIngress for details on how to use this API operation.
35519//
35520// The context must be non-nil and will be used for request cancellation. If
35521// the context is nil a panic will occur. In the future the SDK may create
35522// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35523// for more information on using Contexts.
35524func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
35525	req, out := c.RevokeSecurityGroupIngressRequest(input)
35526	req.SetContext(ctx)
35527	req.ApplyOptions(opts...)
35528	return out, req.Send()
35529}
35530
35531const opRunInstances = "RunInstances"
35532
35533// RunInstancesRequest generates a "aws/request.Request" representing the
35534// client's request for the RunInstances operation. The "output" return
35535// value will be populated with the request's response once the request completes
35536// successfully.
35537//
35538// Use "Send" method on the returned Request to send the API call to the service.
35539// the "output" return value is not valid until after Send returns without error.
35540//
35541// See RunInstances for more information on using the RunInstances
35542// API call, and error handling.
35543//
35544// This method is useful when you want to inject custom logic or configuration
35545// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35546//
35547//
35548//    // Example sending a request using the RunInstancesRequest method.
35549//    req, resp := client.RunInstancesRequest(params)
35550//
35551//    err := req.Send()
35552//    if err == nil { // resp is now filled
35553//        fmt.Println(resp)
35554//    }
35555//
35556// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
35557func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
35558	op := &request.Operation{
35559		Name:       opRunInstances,
35560		HTTPMethod: "POST",
35561		HTTPPath:   "/",
35562	}
35563
35564	if input == nil {
35565		input = &RunInstancesInput{}
35566	}
35567
35568	output = &Reservation{}
35569	req = c.newRequest(op, input, output)
35570	return
35571}
35572
35573// RunInstances API operation for Amazon Elastic Compute Cloud.
35574//
35575// Launches the specified number of instances using an AMI for which you have
35576// permissions.
35577//
35578// You can specify a number of options, or leave the default options. The following
35579// rules apply:
35580//
35581//    * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
35582//    from your default VPC for you. If you don't have a default VPC, you must
35583//    specify a subnet ID in the request.
35584//
35585//    * [EC2-Classic] If don't specify an Availability Zone, we choose one for
35586//    you.
35587//
35588//    * Some instance types must be launched into a VPC. If you do not have
35589//    a default VPC, or if you do not specify a subnet ID, the request fails.
35590//    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).
35591//
35592//    * [EC2-VPC] All instances have a network interface with a primary private
35593//    IPv4 address. If you don't specify this address, we choose one from the
35594//    IPv4 range of your subnet.
35595//
35596//    * Not all instance types support IPv6 addresses. For more information,
35597//    see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
35598//
35599//    * If you don't specify a security group ID, we use the default security
35600//    group. For more information, see Security Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
35601//
35602//    * If any of the AMIs have a product code attached for which the user has
35603//    not subscribed, the request fails.
35604//
35605// You can create a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html),
35606// which is a resource that contains the parameters to launch an instance. When
35607// you launch an instance using RunInstances, you can specify the launch template
35608// instead of specifying the launch parameters.
35609//
35610// To ensure faster instance launches, break up large requests into smaller
35611// batches. For example, create five separate launch requests for 100 instances
35612// each instead of one launch request for 500 instances.
35613//
35614// An instance is ready for you to use when it's in the running state. You can
35615// check the state of your instance using DescribeInstances. You can tag instances
35616// and EBS volumes during launch, after launch, or both. For more information,
35617// see CreateTags and Tagging Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
35618//
35619// Linux instances have access to the public key of the key pair at boot. You
35620// can use this key to provide secure access to the instance. Amazon EC2 public
35621// images use this feature to provide secure access without passwords. For more
35622// information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
35623// in the Amazon Elastic Compute Cloud User Guide.
35624//
35625// For troubleshooting, see What To Do If An Instance Immediately Terminates
35626// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
35627// and Troubleshooting Connecting to Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
35628// in the Amazon Elastic Compute Cloud User Guide.
35629//
35630// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35631// with awserr.Error's Code and Message methods to get detailed information about
35632// the error.
35633//
35634// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35635// API operation RunInstances for usage and error information.
35636// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
35637func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
35638	req, out := c.RunInstancesRequest(input)
35639	return out, req.Send()
35640}
35641
35642// RunInstancesWithContext is the same as RunInstances with the addition of
35643// the ability to pass a context and additional request options.
35644//
35645// See RunInstances for details on how to use this API operation.
35646//
35647// The context must be non-nil and will be used for request cancellation. If
35648// the context is nil a panic will occur. In the future the SDK may create
35649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35650// for more information on using Contexts.
35651func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
35652	req, out := c.RunInstancesRequest(input)
35653	req.SetContext(ctx)
35654	req.ApplyOptions(opts...)
35655	return out, req.Send()
35656}
35657
35658const opRunScheduledInstances = "RunScheduledInstances"
35659
35660// RunScheduledInstancesRequest generates a "aws/request.Request" representing the
35661// client's request for the RunScheduledInstances operation. The "output" return
35662// value will be populated with the request's response once the request completes
35663// successfully.
35664//
35665// Use "Send" method on the returned Request to send the API call to the service.
35666// the "output" return value is not valid until after Send returns without error.
35667//
35668// See RunScheduledInstances for more information on using the RunScheduledInstances
35669// API call, and error handling.
35670//
35671// This method is useful when you want to inject custom logic or configuration
35672// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35673//
35674//
35675//    // Example sending a request using the RunScheduledInstancesRequest method.
35676//    req, resp := client.RunScheduledInstancesRequest(params)
35677//
35678//    err := req.Send()
35679//    if err == nil { // resp is now filled
35680//        fmt.Println(resp)
35681//    }
35682//
35683// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
35684func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
35685	op := &request.Operation{
35686		Name:       opRunScheduledInstances,
35687		HTTPMethod: "POST",
35688		HTTPPath:   "/",
35689	}
35690
35691	if input == nil {
35692		input = &RunScheduledInstancesInput{}
35693	}
35694
35695	output = &RunScheduledInstancesOutput{}
35696	req = c.newRequest(op, input, output)
35697	return
35698}
35699
35700// RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
35701//
35702// Launches the specified Scheduled Instances.
35703//
35704// Before you can launch a Scheduled Instance, you must purchase it and obtain
35705// an identifier using PurchaseScheduledInstances.
35706//
35707// You must launch a Scheduled Instance during its scheduled time period. You
35708// can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
35709// If you terminate a Scheduled Instance before the current scheduled time period
35710// ends, you can launch it again after a few minutes. For more information,
35711// see Scheduled Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
35712// in the Amazon Elastic Compute Cloud User Guide.
35713//
35714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35715// with awserr.Error's Code and Message methods to get detailed information about
35716// the error.
35717//
35718// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35719// API operation RunScheduledInstances for usage and error information.
35720// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
35721func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
35722	req, out := c.RunScheduledInstancesRequest(input)
35723	return out, req.Send()
35724}
35725
35726// RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
35727// the ability to pass a context and additional request options.
35728//
35729// See RunScheduledInstances for details on how to use this API operation.
35730//
35731// The context must be non-nil and will be used for request cancellation. If
35732// the context is nil a panic will occur. In the future the SDK may create
35733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35734// for more information on using Contexts.
35735func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
35736	req, out := c.RunScheduledInstancesRequest(input)
35737	req.SetContext(ctx)
35738	req.ApplyOptions(opts...)
35739	return out, req.Send()
35740}
35741
35742const opSearchLocalGatewayRoutes = "SearchLocalGatewayRoutes"
35743
35744// SearchLocalGatewayRoutesRequest generates a "aws/request.Request" representing the
35745// client's request for the SearchLocalGatewayRoutes operation. The "output" return
35746// value will be populated with the request's response once the request completes
35747// successfully.
35748//
35749// Use "Send" method on the returned Request to send the API call to the service.
35750// the "output" return value is not valid until after Send returns without error.
35751//
35752// See SearchLocalGatewayRoutes for more information on using the SearchLocalGatewayRoutes
35753// API call, and error handling.
35754//
35755// This method is useful when you want to inject custom logic or configuration
35756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35757//
35758//
35759//    // Example sending a request using the SearchLocalGatewayRoutesRequest method.
35760//    req, resp := client.SearchLocalGatewayRoutesRequest(params)
35761//
35762//    err := req.Send()
35763//    if err == nil { // resp is now filled
35764//        fmt.Println(resp)
35765//    }
35766//
35767// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
35768func (c *EC2) SearchLocalGatewayRoutesRequest(input *SearchLocalGatewayRoutesInput) (req *request.Request, output *SearchLocalGatewayRoutesOutput) {
35769	op := &request.Operation{
35770		Name:       opSearchLocalGatewayRoutes,
35771		HTTPMethod: "POST",
35772		HTTPPath:   "/",
35773		Paginator: &request.Paginator{
35774			InputTokens:     []string{"NextToken"},
35775			OutputTokens:    []string{"NextToken"},
35776			LimitToken:      "MaxResults",
35777			TruncationToken: "",
35778		},
35779	}
35780
35781	if input == nil {
35782		input = &SearchLocalGatewayRoutesInput{}
35783	}
35784
35785	output = &SearchLocalGatewayRoutesOutput{}
35786	req = c.newRequest(op, input, output)
35787	return
35788}
35789
35790// SearchLocalGatewayRoutes API operation for Amazon Elastic Compute Cloud.
35791//
35792// Searches for routes in the specified local gateway route table.
35793//
35794// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35795// with awserr.Error's Code and Message methods to get detailed information about
35796// the error.
35797//
35798// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35799// API operation SearchLocalGatewayRoutes for usage and error information.
35800// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
35801func (c *EC2) SearchLocalGatewayRoutes(input *SearchLocalGatewayRoutesInput) (*SearchLocalGatewayRoutesOutput, error) {
35802	req, out := c.SearchLocalGatewayRoutesRequest(input)
35803	return out, req.Send()
35804}
35805
35806// SearchLocalGatewayRoutesWithContext is the same as SearchLocalGatewayRoutes with the addition of
35807// the ability to pass a context and additional request options.
35808//
35809// See SearchLocalGatewayRoutes for details on how to use this API operation.
35810//
35811// The context must be non-nil and will be used for request cancellation. If
35812// the context is nil a panic will occur. In the future the SDK may create
35813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35814// for more information on using Contexts.
35815func (c *EC2) SearchLocalGatewayRoutesWithContext(ctx aws.Context, input *SearchLocalGatewayRoutesInput, opts ...request.Option) (*SearchLocalGatewayRoutesOutput, error) {
35816	req, out := c.SearchLocalGatewayRoutesRequest(input)
35817	req.SetContext(ctx)
35818	req.ApplyOptions(opts...)
35819	return out, req.Send()
35820}
35821
35822// SearchLocalGatewayRoutesPages iterates over the pages of a SearchLocalGatewayRoutes operation,
35823// calling the "fn" function with the response data for each page. To stop
35824// iterating, return false from the fn function.
35825//
35826// See SearchLocalGatewayRoutes method for more information on how to use this operation.
35827//
35828// Note: This operation can generate multiple requests to a service.
35829//
35830//    // Example iterating over at most 3 pages of a SearchLocalGatewayRoutes operation.
35831//    pageNum := 0
35832//    err := client.SearchLocalGatewayRoutesPages(params,
35833//        func(page *ec2.SearchLocalGatewayRoutesOutput, lastPage bool) bool {
35834//            pageNum++
35835//            fmt.Println(page)
35836//            return pageNum <= 3
35837//        })
35838//
35839func (c *EC2) SearchLocalGatewayRoutesPages(input *SearchLocalGatewayRoutesInput, fn func(*SearchLocalGatewayRoutesOutput, bool) bool) error {
35840	return c.SearchLocalGatewayRoutesPagesWithContext(aws.BackgroundContext(), input, fn)
35841}
35842
35843// SearchLocalGatewayRoutesPagesWithContext same as SearchLocalGatewayRoutesPages except
35844// it takes a Context and allows setting request options on the pages.
35845//
35846// The context must be non-nil and will be used for request cancellation. If
35847// the context is nil a panic will occur. In the future the SDK may create
35848// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35849// for more information on using Contexts.
35850func (c *EC2) SearchLocalGatewayRoutesPagesWithContext(ctx aws.Context, input *SearchLocalGatewayRoutesInput, fn func(*SearchLocalGatewayRoutesOutput, bool) bool, opts ...request.Option) error {
35851	p := request.Pagination{
35852		NewRequest: func() (*request.Request, error) {
35853			var inCpy *SearchLocalGatewayRoutesInput
35854			if input != nil {
35855				tmp := *input
35856				inCpy = &tmp
35857			}
35858			req, _ := c.SearchLocalGatewayRoutesRequest(inCpy)
35859			req.SetContext(ctx)
35860			req.ApplyOptions(opts...)
35861			return req, nil
35862		},
35863	}
35864
35865	for p.Next() {
35866		if !fn(p.Page().(*SearchLocalGatewayRoutesOutput), !p.HasNextPage()) {
35867			break
35868		}
35869	}
35870
35871	return p.Err()
35872}
35873
35874const opSearchTransitGatewayMulticastGroups = "SearchTransitGatewayMulticastGroups"
35875
35876// SearchTransitGatewayMulticastGroupsRequest generates a "aws/request.Request" representing the
35877// client's request for the SearchTransitGatewayMulticastGroups operation. The "output" return
35878// value will be populated with the request's response once the request completes
35879// successfully.
35880//
35881// Use "Send" method on the returned Request to send the API call to the service.
35882// the "output" return value is not valid until after Send returns without error.
35883//
35884// See SearchTransitGatewayMulticastGroups for more information on using the SearchTransitGatewayMulticastGroups
35885// API call, and error handling.
35886//
35887// This method is useful when you want to inject custom logic or configuration
35888// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35889//
35890//
35891//    // Example sending a request using the SearchTransitGatewayMulticastGroupsRequest method.
35892//    req, resp := client.SearchTransitGatewayMulticastGroupsRequest(params)
35893//
35894//    err := req.Send()
35895//    if err == nil { // resp is now filled
35896//        fmt.Println(resp)
35897//    }
35898//
35899// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
35900func (c *EC2) SearchTransitGatewayMulticastGroupsRequest(input *SearchTransitGatewayMulticastGroupsInput) (req *request.Request, output *SearchTransitGatewayMulticastGroupsOutput) {
35901	op := &request.Operation{
35902		Name:       opSearchTransitGatewayMulticastGroups,
35903		HTTPMethod: "POST",
35904		HTTPPath:   "/",
35905		Paginator: &request.Paginator{
35906			InputTokens:     []string{"NextToken"},
35907			OutputTokens:    []string{"NextToken"},
35908			LimitToken:      "MaxResults",
35909			TruncationToken: "",
35910		},
35911	}
35912
35913	if input == nil {
35914		input = &SearchTransitGatewayMulticastGroupsInput{}
35915	}
35916
35917	output = &SearchTransitGatewayMulticastGroupsOutput{}
35918	req = c.newRequest(op, input, output)
35919	return
35920}
35921
35922// SearchTransitGatewayMulticastGroups API operation for Amazon Elastic Compute Cloud.
35923//
35924// Searches one or more transit gateway multicast groups and returns the group
35925// membership information.
35926//
35927// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35928// with awserr.Error's Code and Message methods to get detailed information about
35929// the error.
35930//
35931// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35932// API operation SearchTransitGatewayMulticastGroups for usage and error information.
35933// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
35934func (c *EC2) SearchTransitGatewayMulticastGroups(input *SearchTransitGatewayMulticastGroupsInput) (*SearchTransitGatewayMulticastGroupsOutput, error) {
35935	req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
35936	return out, req.Send()
35937}
35938
35939// SearchTransitGatewayMulticastGroupsWithContext is the same as SearchTransitGatewayMulticastGroups with the addition of
35940// the ability to pass a context and additional request options.
35941//
35942// See SearchTransitGatewayMulticastGroups for details on how to use this API operation.
35943//
35944// The context must be non-nil and will be used for request cancellation. If
35945// the context is nil a panic will occur. In the future the SDK may create
35946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35947// for more information on using Contexts.
35948func (c *EC2) SearchTransitGatewayMulticastGroupsWithContext(ctx aws.Context, input *SearchTransitGatewayMulticastGroupsInput, opts ...request.Option) (*SearchTransitGatewayMulticastGroupsOutput, error) {
35949	req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
35950	req.SetContext(ctx)
35951	req.ApplyOptions(opts...)
35952	return out, req.Send()
35953}
35954
35955// SearchTransitGatewayMulticastGroupsPages iterates over the pages of a SearchTransitGatewayMulticastGroups operation,
35956// calling the "fn" function with the response data for each page. To stop
35957// iterating, return false from the fn function.
35958//
35959// See SearchTransitGatewayMulticastGroups method for more information on how to use this operation.
35960//
35961// Note: This operation can generate multiple requests to a service.
35962//
35963//    // Example iterating over at most 3 pages of a SearchTransitGatewayMulticastGroups operation.
35964//    pageNum := 0
35965//    err := client.SearchTransitGatewayMulticastGroupsPages(params,
35966//        func(page *ec2.SearchTransitGatewayMulticastGroupsOutput, lastPage bool) bool {
35967//            pageNum++
35968//            fmt.Println(page)
35969//            return pageNum <= 3
35970//        })
35971//
35972func (c *EC2) SearchTransitGatewayMulticastGroupsPages(input *SearchTransitGatewayMulticastGroupsInput, fn func(*SearchTransitGatewayMulticastGroupsOutput, bool) bool) error {
35973	return c.SearchTransitGatewayMulticastGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
35974}
35975
35976// SearchTransitGatewayMulticastGroupsPagesWithContext same as SearchTransitGatewayMulticastGroupsPages except
35977// it takes a Context and allows setting request options on the pages.
35978//
35979// The context must be non-nil and will be used for request cancellation. If
35980// the context is nil a panic will occur. In the future the SDK may create
35981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35982// for more information on using Contexts.
35983func (c *EC2) SearchTransitGatewayMulticastGroupsPagesWithContext(ctx aws.Context, input *SearchTransitGatewayMulticastGroupsInput, fn func(*SearchTransitGatewayMulticastGroupsOutput, bool) bool, opts ...request.Option) error {
35984	p := request.Pagination{
35985		NewRequest: func() (*request.Request, error) {
35986			var inCpy *SearchTransitGatewayMulticastGroupsInput
35987			if input != nil {
35988				tmp := *input
35989				inCpy = &tmp
35990			}
35991			req, _ := c.SearchTransitGatewayMulticastGroupsRequest(inCpy)
35992			req.SetContext(ctx)
35993			req.ApplyOptions(opts...)
35994			return req, nil
35995		},
35996	}
35997
35998	for p.Next() {
35999		if !fn(p.Page().(*SearchTransitGatewayMulticastGroupsOutput), !p.HasNextPage()) {
36000			break
36001		}
36002	}
36003
36004	return p.Err()
36005}
36006
36007const opSearchTransitGatewayRoutes = "SearchTransitGatewayRoutes"
36008
36009// SearchTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
36010// client's request for the SearchTransitGatewayRoutes operation. The "output" return
36011// value will be populated with the request's response once the request completes
36012// successfully.
36013//
36014// Use "Send" method on the returned Request to send the API call to the service.
36015// the "output" return value is not valid until after Send returns without error.
36016//
36017// See SearchTransitGatewayRoutes for more information on using the SearchTransitGatewayRoutes
36018// API call, and error handling.
36019//
36020// This method is useful when you want to inject custom logic or configuration
36021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36022//
36023//
36024//    // Example sending a request using the SearchTransitGatewayRoutesRequest method.
36025//    req, resp := client.SearchTransitGatewayRoutesRequest(params)
36026//
36027//    err := req.Send()
36028//    if err == nil { // resp is now filled
36029//        fmt.Println(resp)
36030//    }
36031//
36032// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
36033func (c *EC2) SearchTransitGatewayRoutesRequest(input *SearchTransitGatewayRoutesInput) (req *request.Request, output *SearchTransitGatewayRoutesOutput) {
36034	op := &request.Operation{
36035		Name:       opSearchTransitGatewayRoutes,
36036		HTTPMethod: "POST",
36037		HTTPPath:   "/",
36038	}
36039
36040	if input == nil {
36041		input = &SearchTransitGatewayRoutesInput{}
36042	}
36043
36044	output = &SearchTransitGatewayRoutesOutput{}
36045	req = c.newRequest(op, input, output)
36046	return
36047}
36048
36049// SearchTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
36050//
36051// Searches for routes in the specified transit gateway route table.
36052//
36053// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36054// with awserr.Error's Code and Message methods to get detailed information about
36055// the error.
36056//
36057// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36058// API operation SearchTransitGatewayRoutes for usage and error information.
36059// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
36060func (c *EC2) SearchTransitGatewayRoutes(input *SearchTransitGatewayRoutesInput) (*SearchTransitGatewayRoutesOutput, error) {
36061	req, out := c.SearchTransitGatewayRoutesRequest(input)
36062	return out, req.Send()
36063}
36064
36065// SearchTransitGatewayRoutesWithContext is the same as SearchTransitGatewayRoutes with the addition of
36066// the ability to pass a context and additional request options.
36067//
36068// See SearchTransitGatewayRoutes for details on how to use this API operation.
36069//
36070// The context must be non-nil and will be used for request cancellation. If
36071// the context is nil a panic will occur. In the future the SDK may create
36072// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36073// for more information on using Contexts.
36074func (c *EC2) SearchTransitGatewayRoutesWithContext(ctx aws.Context, input *SearchTransitGatewayRoutesInput, opts ...request.Option) (*SearchTransitGatewayRoutesOutput, error) {
36075	req, out := c.SearchTransitGatewayRoutesRequest(input)
36076	req.SetContext(ctx)
36077	req.ApplyOptions(opts...)
36078	return out, req.Send()
36079}
36080
36081const opSendDiagnosticInterrupt = "SendDiagnosticInterrupt"
36082
36083// SendDiagnosticInterruptRequest generates a "aws/request.Request" representing the
36084// client's request for the SendDiagnosticInterrupt operation. The "output" return
36085// value will be populated with the request's response once the request completes
36086// successfully.
36087//
36088// Use "Send" method on the returned Request to send the API call to the service.
36089// the "output" return value is not valid until after Send returns without error.
36090//
36091// See SendDiagnosticInterrupt for more information on using the SendDiagnosticInterrupt
36092// API call, and error handling.
36093//
36094// This method is useful when you want to inject custom logic or configuration
36095// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36096//
36097//
36098//    // Example sending a request using the SendDiagnosticInterruptRequest method.
36099//    req, resp := client.SendDiagnosticInterruptRequest(params)
36100//
36101//    err := req.Send()
36102//    if err == nil { // resp is now filled
36103//        fmt.Println(resp)
36104//    }
36105//
36106// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt
36107func (c *EC2) SendDiagnosticInterruptRequest(input *SendDiagnosticInterruptInput) (req *request.Request, output *SendDiagnosticInterruptOutput) {
36108	op := &request.Operation{
36109		Name:       opSendDiagnosticInterrupt,
36110		HTTPMethod: "POST",
36111		HTTPPath:   "/",
36112	}
36113
36114	if input == nil {
36115		input = &SendDiagnosticInterruptInput{}
36116	}
36117
36118	output = &SendDiagnosticInterruptOutput{}
36119	req = c.newRequest(op, input, output)
36120	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
36121	return
36122}
36123
36124// SendDiagnosticInterrupt API operation for Amazon Elastic Compute Cloud.
36125//
36126// Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger
36127// a kernel panic (on Linux instances), or a blue screen/stop error (on Windows
36128// instances). For instances based on Intel and AMD processors, the interrupt
36129// is received as a non-maskable interrupt (NMI).
36130//
36131// In general, the operating system crashes and reboots when a kernel panic
36132// or stop error is triggered. The operating system can also be configured to
36133// perform diagnostic tasks, such as generating a memory dump file, loading
36134// a secondary kernel, or obtaining a call trace.
36135//
36136// Before sending a diagnostic interrupt to your instance, ensure that its operating
36137// system is configured to perform the required diagnostic tasks.
36138//
36139// For more information about configuring your operating system to generate
36140// a crash dump when a kernel panic or stop error occurs, see Send a Diagnostic
36141// Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html)
36142// (Linux instances) or Send a Diagnostic Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html)
36143// (Windows instances).
36144//
36145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36146// with awserr.Error's Code and Message methods to get detailed information about
36147// the error.
36148//
36149// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36150// API operation SendDiagnosticInterrupt for usage and error information.
36151// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt
36152func (c *EC2) SendDiagnosticInterrupt(input *SendDiagnosticInterruptInput) (*SendDiagnosticInterruptOutput, error) {
36153	req, out := c.SendDiagnosticInterruptRequest(input)
36154	return out, req.Send()
36155}
36156
36157// SendDiagnosticInterruptWithContext is the same as SendDiagnosticInterrupt with the addition of
36158// the ability to pass a context and additional request options.
36159//
36160// See SendDiagnosticInterrupt for details on how to use this API operation.
36161//
36162// The context must be non-nil and will be used for request cancellation. If
36163// the context is nil a panic will occur. In the future the SDK may create
36164// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36165// for more information on using Contexts.
36166func (c *EC2) SendDiagnosticInterruptWithContext(ctx aws.Context, input *SendDiagnosticInterruptInput, opts ...request.Option) (*SendDiagnosticInterruptOutput, error) {
36167	req, out := c.SendDiagnosticInterruptRequest(input)
36168	req.SetContext(ctx)
36169	req.ApplyOptions(opts...)
36170	return out, req.Send()
36171}
36172
36173const opStartInstances = "StartInstances"
36174
36175// StartInstancesRequest generates a "aws/request.Request" representing the
36176// client's request for the StartInstances operation. The "output" return
36177// value will be populated with the request's response once the request completes
36178// successfully.
36179//
36180// Use "Send" method on the returned Request to send the API call to the service.
36181// the "output" return value is not valid until after Send returns without error.
36182//
36183// See StartInstances for more information on using the StartInstances
36184// API call, and error handling.
36185//
36186// This method is useful when you want to inject custom logic or configuration
36187// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36188//
36189//
36190//    // Example sending a request using the StartInstancesRequest method.
36191//    req, resp := client.StartInstancesRequest(params)
36192//
36193//    err := req.Send()
36194//    if err == nil { // resp is now filled
36195//        fmt.Println(resp)
36196//    }
36197//
36198// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
36199func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
36200	op := &request.Operation{
36201		Name:       opStartInstances,
36202		HTTPMethod: "POST",
36203		HTTPPath:   "/",
36204	}
36205
36206	if input == nil {
36207		input = &StartInstancesInput{}
36208	}
36209
36210	output = &StartInstancesOutput{}
36211	req = c.newRequest(op, input, output)
36212	return
36213}
36214
36215// StartInstances API operation for Amazon Elastic Compute Cloud.
36216//
36217// Starts an Amazon EBS-backed instance that you've previously stopped.
36218//
36219// Instances that use Amazon EBS volumes as their root devices can be quickly
36220// stopped and started. When an instance is stopped, the compute resources are
36221// released and you are not billed for instance usage. However, your root partition
36222// Amazon EBS volume remains and continues to persist your data, and you are
36223// charged for Amazon EBS volume usage. You can restart your instance at any
36224// time. Every time you start your Windows instance, Amazon EC2 charges you
36225// for a full instance hour. If you stop and restart your Windows instance,
36226// a new instance hour begins and Amazon EC2 charges you for another full instance
36227// hour even if you are still within the same 60-minute period when it was stopped.
36228// Every time you start your Linux instance, Amazon EC2 charges a one-minute
36229// minimum for instance usage, and thereafter charges per second for instance
36230// usage.
36231//
36232// Before stopping an instance, make sure it is in a state from which it can
36233// be restarted. Stopping an instance does not preserve data stored in RAM.
36234//
36235// Performing this operation on an instance that uses an instance store as its
36236// root device returns an error.
36237//
36238// For more information, see Stopping Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
36239// in the Amazon Elastic Compute Cloud User Guide.
36240//
36241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36242// with awserr.Error's Code and Message methods to get detailed information about
36243// the error.
36244//
36245// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36246// API operation StartInstances for usage and error information.
36247// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
36248func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
36249	req, out := c.StartInstancesRequest(input)
36250	return out, req.Send()
36251}
36252
36253// StartInstancesWithContext is the same as StartInstances with the addition of
36254// the ability to pass a context and additional request options.
36255//
36256// See StartInstances for details on how to use this API operation.
36257//
36258// The context must be non-nil and will be used for request cancellation. If
36259// the context is nil a panic will occur. In the future the SDK may create
36260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36261// for more information on using Contexts.
36262func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
36263	req, out := c.StartInstancesRequest(input)
36264	req.SetContext(ctx)
36265	req.ApplyOptions(opts...)
36266	return out, req.Send()
36267}
36268
36269const opStartVpcEndpointServicePrivateDnsVerification = "StartVpcEndpointServicePrivateDnsVerification"
36270
36271// StartVpcEndpointServicePrivateDnsVerificationRequest generates a "aws/request.Request" representing the
36272// client's request for the StartVpcEndpointServicePrivateDnsVerification operation. The "output" return
36273// value will be populated with the request's response once the request completes
36274// successfully.
36275//
36276// Use "Send" method on the returned Request to send the API call to the service.
36277// the "output" return value is not valid until after Send returns without error.
36278//
36279// See StartVpcEndpointServicePrivateDnsVerification for more information on using the StartVpcEndpointServicePrivateDnsVerification
36280// API call, and error handling.
36281//
36282// This method is useful when you want to inject custom logic or configuration
36283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36284//
36285//
36286//    // Example sending a request using the StartVpcEndpointServicePrivateDnsVerificationRequest method.
36287//    req, resp := client.StartVpcEndpointServicePrivateDnsVerificationRequest(params)
36288//
36289//    err := req.Send()
36290//    if err == nil { // resp is now filled
36291//        fmt.Println(resp)
36292//    }
36293//
36294// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification
36295func (c *EC2) StartVpcEndpointServicePrivateDnsVerificationRequest(input *StartVpcEndpointServicePrivateDnsVerificationInput) (req *request.Request, output *StartVpcEndpointServicePrivateDnsVerificationOutput) {
36296	op := &request.Operation{
36297		Name:       opStartVpcEndpointServicePrivateDnsVerification,
36298		HTTPMethod: "POST",
36299		HTTPPath:   "/",
36300	}
36301
36302	if input == nil {
36303		input = &StartVpcEndpointServicePrivateDnsVerificationInput{}
36304	}
36305
36306	output = &StartVpcEndpointServicePrivateDnsVerificationOutput{}
36307	req = c.newRequest(op, input, output)
36308	return
36309}
36310
36311// StartVpcEndpointServicePrivateDnsVerification API operation for Amazon Elastic Compute Cloud.
36312//
36313// Initiates the verification process to prove that the service provider owns
36314// the private DNS name domain for the endpoint service.
36315//
36316// The service provider must successfully perform the verification before the
36317// consumer can use the name to access the service.
36318//
36319// Before the service provider runs this command, they must add a record to
36320// the DNS server. For more information, see Adding a TXT Record to Your Domain's
36321// DNS Server (https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html#add-dns-txt-record)
36322// in the Amazon VPC User Guide.
36323//
36324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36325// with awserr.Error's Code and Message methods to get detailed information about
36326// the error.
36327//
36328// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36329// API operation StartVpcEndpointServicePrivateDnsVerification for usage and error information.
36330// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartVpcEndpointServicePrivateDnsVerification
36331func (c *EC2) StartVpcEndpointServicePrivateDnsVerification(input *StartVpcEndpointServicePrivateDnsVerificationInput) (*StartVpcEndpointServicePrivateDnsVerificationOutput, error) {
36332	req, out := c.StartVpcEndpointServicePrivateDnsVerificationRequest(input)
36333	return out, req.Send()
36334}
36335
36336// StartVpcEndpointServicePrivateDnsVerificationWithContext is the same as StartVpcEndpointServicePrivateDnsVerification with the addition of
36337// the ability to pass a context and additional request options.
36338//
36339// See StartVpcEndpointServicePrivateDnsVerification for details on how to use this API operation.
36340//
36341// The context must be non-nil and will be used for request cancellation. If
36342// the context is nil a panic will occur. In the future the SDK may create
36343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36344// for more information on using Contexts.
36345func (c *EC2) StartVpcEndpointServicePrivateDnsVerificationWithContext(ctx aws.Context, input *StartVpcEndpointServicePrivateDnsVerificationInput, opts ...request.Option) (*StartVpcEndpointServicePrivateDnsVerificationOutput, error) {
36346	req, out := c.StartVpcEndpointServicePrivateDnsVerificationRequest(input)
36347	req.SetContext(ctx)
36348	req.ApplyOptions(opts...)
36349	return out, req.Send()
36350}
36351
36352const opStopInstances = "StopInstances"
36353
36354// StopInstancesRequest generates a "aws/request.Request" representing the
36355// client's request for the StopInstances operation. The "output" return
36356// value will be populated with the request's response once the request completes
36357// successfully.
36358//
36359// Use "Send" method on the returned Request to send the API call to the service.
36360// the "output" return value is not valid until after Send returns without error.
36361//
36362// See StopInstances for more information on using the StopInstances
36363// API call, and error handling.
36364//
36365// This method is useful when you want to inject custom logic or configuration
36366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36367//
36368//
36369//    // Example sending a request using the StopInstancesRequest method.
36370//    req, resp := client.StopInstancesRequest(params)
36371//
36372//    err := req.Send()
36373//    if err == nil { // resp is now filled
36374//        fmt.Println(resp)
36375//    }
36376//
36377// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
36378func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
36379	op := &request.Operation{
36380		Name:       opStopInstances,
36381		HTTPMethod: "POST",
36382		HTTPPath:   "/",
36383	}
36384
36385	if input == nil {
36386		input = &StopInstancesInput{}
36387	}
36388
36389	output = &StopInstancesOutput{}
36390	req = c.newRequest(op, input, output)
36391	return
36392}
36393
36394// StopInstances API operation for Amazon Elastic Compute Cloud.
36395//
36396// Stops an Amazon EBS-backed instance.
36397//
36398// You can use the Stop action to hibernate an instance if the instance is enabled
36399// for hibernation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation)
36400// and it meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
36401// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
36402// in the Amazon Elastic Compute Cloud User Guide.
36403//
36404// We don't charge usage for a stopped instance, or data transfer fees; however,
36405// your root partition Amazon EBS volume remains and continues to persist your
36406// data, and you are charged for Amazon EBS volume usage. Every time you start
36407// your Windows instance, Amazon EC2 charges you for a full instance hour. If
36408// you stop and restart your Windows instance, a new instance hour begins and
36409// Amazon EC2 charges you for another full instance hour even if you are still
36410// within the same 60-minute period when it was stopped. Every time you start
36411// your Linux instance, Amazon EC2 charges a one-minute minimum for instance
36412// usage, and thereafter charges per second for instance usage.
36413//
36414// You can't hibernate Spot Instances, and you can't stop or hibernate instance
36415// store-backed instances. For information about using hibernation for Spot
36416// Instances, see Hibernating Interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances)
36417// in the Amazon Elastic Compute Cloud User Guide.
36418//
36419// When you stop or hibernate an instance, we shut it down. You can restart
36420// your instance at any time. Before stopping or hibernating an instance, make
36421// sure it is in a state from which it can be restarted. Stopping an instance
36422// does not preserve data stored in RAM, but hibernating an instance does preserve
36423// data stored in RAM. If an instance cannot hibernate successfully, a normal
36424// shutdown occurs.
36425//
36426// Stopping and hibernating an instance is different to rebooting or terminating
36427// it. For example, when you stop or hibernate an instance, the root device
36428// and any other devices attached to the instance persist. When you terminate
36429// an instance, the root device and any other devices attached during the instance
36430// launch are automatically deleted. For more information about the differences
36431// between rebooting, stopping, hibernating, and terminating instances, see
36432// Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
36433// in the Amazon Elastic Compute Cloud User Guide.
36434//
36435// When you stop an instance, we attempt to shut it down forcibly after a short
36436// while. If your instance appears stuck in the stopping state after a period
36437// of time, there may be an issue with the underlying host computer. For more
36438// information, see Troubleshooting Stopping Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
36439// in the Amazon Elastic Compute Cloud User Guide.
36440//
36441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36442// with awserr.Error's Code and Message methods to get detailed information about
36443// the error.
36444//
36445// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36446// API operation StopInstances for usage and error information.
36447// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
36448func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
36449	req, out := c.StopInstancesRequest(input)
36450	return out, req.Send()
36451}
36452
36453// StopInstancesWithContext is the same as StopInstances with the addition of
36454// the ability to pass a context and additional request options.
36455//
36456// See StopInstances for details on how to use this API operation.
36457//
36458// The context must be non-nil and will be used for request cancellation. If
36459// the context is nil a panic will occur. In the future the SDK may create
36460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36461// for more information on using Contexts.
36462func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
36463	req, out := c.StopInstancesRequest(input)
36464	req.SetContext(ctx)
36465	req.ApplyOptions(opts...)
36466	return out, req.Send()
36467}
36468
36469const opTerminateClientVpnConnections = "TerminateClientVpnConnections"
36470
36471// TerminateClientVpnConnectionsRequest generates a "aws/request.Request" representing the
36472// client's request for the TerminateClientVpnConnections operation. The "output" return
36473// value will be populated with the request's response once the request completes
36474// successfully.
36475//
36476// Use "Send" method on the returned Request to send the API call to the service.
36477// the "output" return value is not valid until after Send returns without error.
36478//
36479// See TerminateClientVpnConnections for more information on using the TerminateClientVpnConnections
36480// API call, and error handling.
36481//
36482// This method is useful when you want to inject custom logic or configuration
36483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36484//
36485//
36486//    // Example sending a request using the TerminateClientVpnConnectionsRequest method.
36487//    req, resp := client.TerminateClientVpnConnectionsRequest(params)
36488//
36489//    err := req.Send()
36490//    if err == nil { // resp is now filled
36491//        fmt.Println(resp)
36492//    }
36493//
36494// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
36495func (c *EC2) TerminateClientVpnConnectionsRequest(input *TerminateClientVpnConnectionsInput) (req *request.Request, output *TerminateClientVpnConnectionsOutput) {
36496	op := &request.Operation{
36497		Name:       opTerminateClientVpnConnections,
36498		HTTPMethod: "POST",
36499		HTTPPath:   "/",
36500	}
36501
36502	if input == nil {
36503		input = &TerminateClientVpnConnectionsInput{}
36504	}
36505
36506	output = &TerminateClientVpnConnectionsOutput{}
36507	req = c.newRequest(op, input, output)
36508	return
36509}
36510
36511// TerminateClientVpnConnections API operation for Amazon Elastic Compute Cloud.
36512//
36513// Terminates active Client VPN endpoint connections. This action can be used
36514// to terminate a specific client connection, or up to five connections established
36515// by a specific user.
36516//
36517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36518// with awserr.Error's Code and Message methods to get detailed information about
36519// the error.
36520//
36521// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36522// API operation TerminateClientVpnConnections for usage and error information.
36523// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
36524func (c *EC2) TerminateClientVpnConnections(input *TerminateClientVpnConnectionsInput) (*TerminateClientVpnConnectionsOutput, error) {
36525	req, out := c.TerminateClientVpnConnectionsRequest(input)
36526	return out, req.Send()
36527}
36528
36529// TerminateClientVpnConnectionsWithContext is the same as TerminateClientVpnConnections with the addition of
36530// the ability to pass a context and additional request options.
36531//
36532// See TerminateClientVpnConnections for details on how to use this API operation.
36533//
36534// The context must be non-nil and will be used for request cancellation. If
36535// the context is nil a panic will occur. In the future the SDK may create
36536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36537// for more information on using Contexts.
36538func (c *EC2) TerminateClientVpnConnectionsWithContext(ctx aws.Context, input *TerminateClientVpnConnectionsInput, opts ...request.Option) (*TerminateClientVpnConnectionsOutput, error) {
36539	req, out := c.TerminateClientVpnConnectionsRequest(input)
36540	req.SetContext(ctx)
36541	req.ApplyOptions(opts...)
36542	return out, req.Send()
36543}
36544
36545const opTerminateInstances = "TerminateInstances"
36546
36547// TerminateInstancesRequest generates a "aws/request.Request" representing the
36548// client's request for the TerminateInstances operation. The "output" return
36549// value will be populated with the request's response once the request completes
36550// successfully.
36551//
36552// Use "Send" method on the returned Request to send the API call to the service.
36553// the "output" return value is not valid until after Send returns without error.
36554//
36555// See TerminateInstances for more information on using the TerminateInstances
36556// API call, and error handling.
36557//
36558// This method is useful when you want to inject custom logic or configuration
36559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36560//
36561//
36562//    // Example sending a request using the TerminateInstancesRequest method.
36563//    req, resp := client.TerminateInstancesRequest(params)
36564//
36565//    err := req.Send()
36566//    if err == nil { // resp is now filled
36567//        fmt.Println(resp)
36568//    }
36569//
36570// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
36571func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
36572	op := &request.Operation{
36573		Name:       opTerminateInstances,
36574		HTTPMethod: "POST",
36575		HTTPPath:   "/",
36576	}
36577
36578	if input == nil {
36579		input = &TerminateInstancesInput{}
36580	}
36581
36582	output = &TerminateInstancesOutput{}
36583	req = c.newRequest(op, input, output)
36584	return
36585}
36586
36587// TerminateInstances API operation for Amazon Elastic Compute Cloud.
36588//
36589// Shuts down the specified instances. This operation is idempotent; if you
36590// terminate an instance more than once, each call succeeds.
36591//
36592// If you specify multiple instances and the request fails (for example, because
36593// of a single incorrect instance ID), none of the instances are terminated.
36594//
36595// Terminated instances remain visible after termination (for approximately
36596// one hour).
36597//
36598// By default, Amazon EC2 deletes all EBS volumes that were attached when the
36599// instance launched. Volumes attached after instance launch continue running.
36600//
36601// You can stop, start, and terminate EBS-backed instances. You can only terminate
36602// instance store-backed instances. What happens to an instance differs if you
36603// stop it or terminate it. For example, when you stop an instance, the root
36604// device and any other devices attached to the instance persist. When you terminate
36605// an instance, any attached EBS volumes with the DeleteOnTermination block
36606// device mapping parameter set to true are automatically deleted. For more
36607// information about the differences between stopping and terminating instances,
36608// see Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
36609// in the Amazon Elastic Compute Cloud User Guide.
36610//
36611// For more information about troubleshooting, see Troubleshooting Terminating
36612// Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
36613// in the Amazon Elastic Compute Cloud User Guide.
36614//
36615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36616// with awserr.Error's Code and Message methods to get detailed information about
36617// the error.
36618//
36619// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36620// API operation TerminateInstances for usage and error information.
36621// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
36622func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
36623	req, out := c.TerminateInstancesRequest(input)
36624	return out, req.Send()
36625}
36626
36627// TerminateInstancesWithContext is the same as TerminateInstances with the addition of
36628// the ability to pass a context and additional request options.
36629//
36630// See TerminateInstances for details on how to use this API operation.
36631//
36632// The context must be non-nil and will be used for request cancellation. If
36633// the context is nil a panic will occur. In the future the SDK may create
36634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36635// for more information on using Contexts.
36636func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
36637	req, out := c.TerminateInstancesRequest(input)
36638	req.SetContext(ctx)
36639	req.ApplyOptions(opts...)
36640	return out, req.Send()
36641}
36642
36643const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
36644
36645// UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
36646// client's request for the UnassignIpv6Addresses operation. The "output" return
36647// value will be populated with the request's response once the request completes
36648// successfully.
36649//
36650// Use "Send" method on the returned Request to send the API call to the service.
36651// the "output" return value is not valid until after Send returns without error.
36652//
36653// See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
36654// API call, and error handling.
36655//
36656// This method is useful when you want to inject custom logic or configuration
36657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36658//
36659//
36660//    // Example sending a request using the UnassignIpv6AddressesRequest method.
36661//    req, resp := client.UnassignIpv6AddressesRequest(params)
36662//
36663//    err := req.Send()
36664//    if err == nil { // resp is now filled
36665//        fmt.Println(resp)
36666//    }
36667//
36668// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
36669func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
36670	op := &request.Operation{
36671		Name:       opUnassignIpv6Addresses,
36672		HTTPMethod: "POST",
36673		HTTPPath:   "/",
36674	}
36675
36676	if input == nil {
36677		input = &UnassignIpv6AddressesInput{}
36678	}
36679
36680	output = &UnassignIpv6AddressesOutput{}
36681	req = c.newRequest(op, input, output)
36682	return
36683}
36684
36685// UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
36686//
36687// Unassigns one or more IPv6 addresses from a network interface.
36688//
36689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36690// with awserr.Error's Code and Message methods to get detailed information about
36691// the error.
36692//
36693// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36694// API operation UnassignIpv6Addresses for usage and error information.
36695// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
36696func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
36697	req, out := c.UnassignIpv6AddressesRequest(input)
36698	return out, req.Send()
36699}
36700
36701// UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
36702// the ability to pass a context and additional request options.
36703//
36704// See UnassignIpv6Addresses for details on how to use this API operation.
36705//
36706// The context must be non-nil and will be used for request cancellation. If
36707// the context is nil a panic will occur. In the future the SDK may create
36708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36709// for more information on using Contexts.
36710func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
36711	req, out := c.UnassignIpv6AddressesRequest(input)
36712	req.SetContext(ctx)
36713	req.ApplyOptions(opts...)
36714	return out, req.Send()
36715}
36716
36717const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
36718
36719// UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
36720// client's request for the UnassignPrivateIpAddresses operation. The "output" return
36721// value will be populated with the request's response once the request completes
36722// successfully.
36723//
36724// Use "Send" method on the returned Request to send the API call to the service.
36725// the "output" return value is not valid until after Send returns without error.
36726//
36727// See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
36728// API call, and error handling.
36729//
36730// This method is useful when you want to inject custom logic or configuration
36731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36732//
36733//
36734//    // Example sending a request using the UnassignPrivateIpAddressesRequest method.
36735//    req, resp := client.UnassignPrivateIpAddressesRequest(params)
36736//
36737//    err := req.Send()
36738//    if err == nil { // resp is now filled
36739//        fmt.Println(resp)
36740//    }
36741//
36742// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
36743func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
36744	op := &request.Operation{
36745		Name:       opUnassignPrivateIpAddresses,
36746		HTTPMethod: "POST",
36747		HTTPPath:   "/",
36748	}
36749
36750	if input == nil {
36751		input = &UnassignPrivateIpAddressesInput{}
36752	}
36753
36754	output = &UnassignPrivateIpAddressesOutput{}
36755	req = c.newRequest(op, input, output)
36756	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
36757	return
36758}
36759
36760// UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
36761//
36762// Unassigns one or more secondary private IP addresses from a network interface.
36763//
36764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36765// with awserr.Error's Code and Message methods to get detailed information about
36766// the error.
36767//
36768// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36769// API operation UnassignPrivateIpAddresses for usage and error information.
36770// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
36771func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
36772	req, out := c.UnassignPrivateIpAddressesRequest(input)
36773	return out, req.Send()
36774}
36775
36776// UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
36777// the ability to pass a context and additional request options.
36778//
36779// See UnassignPrivateIpAddresses for details on how to use this API operation.
36780//
36781// The context must be non-nil and will be used for request cancellation. If
36782// the context is nil a panic will occur. In the future the SDK may create
36783// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36784// for more information on using Contexts.
36785func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
36786	req, out := c.UnassignPrivateIpAddressesRequest(input)
36787	req.SetContext(ctx)
36788	req.ApplyOptions(opts...)
36789	return out, req.Send()
36790}
36791
36792const opUnmonitorInstances = "UnmonitorInstances"
36793
36794// UnmonitorInstancesRequest generates a "aws/request.Request" representing the
36795// client's request for the UnmonitorInstances operation. The "output" return
36796// value will be populated with the request's response once the request completes
36797// successfully.
36798//
36799// Use "Send" method on the returned Request to send the API call to the service.
36800// the "output" return value is not valid until after Send returns without error.
36801//
36802// See UnmonitorInstances for more information on using the UnmonitorInstances
36803// API call, and error handling.
36804//
36805// This method is useful when you want to inject custom logic or configuration
36806// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36807//
36808//
36809//    // Example sending a request using the UnmonitorInstancesRequest method.
36810//    req, resp := client.UnmonitorInstancesRequest(params)
36811//
36812//    err := req.Send()
36813//    if err == nil { // resp is now filled
36814//        fmt.Println(resp)
36815//    }
36816//
36817// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
36818func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
36819	op := &request.Operation{
36820		Name:       opUnmonitorInstances,
36821		HTTPMethod: "POST",
36822		HTTPPath:   "/",
36823	}
36824
36825	if input == nil {
36826		input = &UnmonitorInstancesInput{}
36827	}
36828
36829	output = &UnmonitorInstancesOutput{}
36830	req = c.newRequest(op, input, output)
36831	return
36832}
36833
36834// UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
36835//
36836// Disables detailed monitoring for a running instance. For more information,
36837// see Monitoring Your Instances and Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
36838// in the Amazon Elastic Compute Cloud User Guide.
36839//
36840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36841// with awserr.Error's Code and Message methods to get detailed information about
36842// the error.
36843//
36844// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36845// API operation UnmonitorInstances for usage and error information.
36846// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
36847func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
36848	req, out := c.UnmonitorInstancesRequest(input)
36849	return out, req.Send()
36850}
36851
36852// UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
36853// the ability to pass a context and additional request options.
36854//
36855// See UnmonitorInstances for details on how to use this API operation.
36856//
36857// The context must be non-nil and will be used for request cancellation. If
36858// the context is nil a panic will occur. In the future the SDK may create
36859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36860// for more information on using Contexts.
36861func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
36862	req, out := c.UnmonitorInstancesRequest(input)
36863	req.SetContext(ctx)
36864	req.ApplyOptions(opts...)
36865	return out, req.Send()
36866}
36867
36868const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress"
36869
36870// UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the
36871// client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return
36872// value will be populated with the request's response once the request completes
36873// successfully.
36874//
36875// Use "Send" method on the returned Request to send the API call to the service.
36876// the "output" return value is not valid until after Send returns without error.
36877//
36878// See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress
36879// API call, and error handling.
36880//
36881// This method is useful when you want to inject custom logic or configuration
36882// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36883//
36884//
36885//    // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method.
36886//    req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(params)
36887//
36888//    err := req.Send()
36889//    if err == nil { // resp is now filled
36890//        fmt.Println(resp)
36891//    }
36892//
36893// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
36894func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) {
36895	op := &request.Operation{
36896		Name:       opUpdateSecurityGroupRuleDescriptionsEgress,
36897		HTTPMethod: "POST",
36898		HTTPPath:   "/",
36899	}
36900
36901	if input == nil {
36902		input = &UpdateSecurityGroupRuleDescriptionsEgressInput{}
36903	}
36904
36905	output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{}
36906	req = c.newRequest(op, input, output)
36907	return
36908}
36909
36910// UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud.
36911//
36912// [VPC only] Updates the description of an egress (outbound) security group
36913// rule. You can replace an existing description, or add a description to a
36914// rule that did not have one previously.
36915//
36916// You specify the description as part of the IP permissions structure. You
36917// can remove a description for a security group rule by omitting the description
36918// parameter in the request.
36919//
36920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
36921// with awserr.Error's Code and Message methods to get detailed information about
36922// the error.
36923//
36924// See the AWS API reference guide for Amazon Elastic Compute Cloud's
36925// API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information.
36926// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
36927func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
36928	req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
36929	return out, req.Send()
36930}
36931
36932// UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of
36933// the ability to pass a context and additional request options.
36934//
36935// See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation.
36936//
36937// The context must be non-nil and will be used for request cancellation. If
36938// the context is nil a panic will occur. In the future the SDK may create
36939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
36940// for more information on using Contexts.
36941func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
36942	req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
36943	req.SetContext(ctx)
36944	req.ApplyOptions(opts...)
36945	return out, req.Send()
36946}
36947
36948const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress"
36949
36950// UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the
36951// client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return
36952// value will be populated with the request's response once the request completes
36953// successfully.
36954//
36955// Use "Send" method on the returned Request to send the API call to the service.
36956// the "output" return value is not valid until after Send returns without error.
36957//
36958// See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress
36959// API call, and error handling.
36960//
36961// This method is useful when you want to inject custom logic or configuration
36962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
36963//
36964//
36965//    // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method.
36966//    req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(params)
36967//
36968//    err := req.Send()
36969//    if err == nil { // resp is now filled
36970//        fmt.Println(resp)
36971//    }
36972//
36973// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
36974func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) {
36975	op := &request.Operation{
36976		Name:       opUpdateSecurityGroupRuleDescriptionsIngress,
36977		HTTPMethod: "POST",
36978		HTTPPath:   "/",
36979	}
36980
36981	if input == nil {
36982		input = &UpdateSecurityGroupRuleDescriptionsIngressInput{}
36983	}
36984
36985	output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{}
36986	req = c.newRequest(op, input, output)
36987	return
36988}
36989
36990// UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud.
36991//
36992// Updates the description of an ingress (inbound) security group rule. You
36993// can replace an existing description, or add a description to a rule that
36994// did not have one previously.
36995//
36996// You specify the description as part of the IP permissions structure. You
36997// can remove a description for a security group rule by omitting the description
36998// parameter in the request.
36999//
37000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
37001// with awserr.Error's Code and Message methods to get detailed information about
37002// the error.
37003//
37004// See the AWS API reference guide for Amazon Elastic Compute Cloud's
37005// API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information.
37006// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
37007func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
37008	req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
37009	return out, req.Send()
37010}
37011
37012// UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of
37013// the ability to pass a context and additional request options.
37014//
37015// See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation.
37016//
37017// The context must be non-nil and will be used for request cancellation. If
37018// the context is nil a panic will occur. In the future the SDK may create
37019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
37020// for more information on using Contexts.
37021func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
37022	req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
37023	req.SetContext(ctx)
37024	req.ApplyOptions(opts...)
37025	return out, req.Send()
37026}
37027
37028const opWithdrawByoipCidr = "WithdrawByoipCidr"
37029
37030// WithdrawByoipCidrRequest generates a "aws/request.Request" representing the
37031// client's request for the WithdrawByoipCidr operation. The "output" return
37032// value will be populated with the request's response once the request completes
37033// successfully.
37034//
37035// Use "Send" method on the returned Request to send the API call to the service.
37036// the "output" return value is not valid until after Send returns without error.
37037//
37038// See WithdrawByoipCidr for more information on using the WithdrawByoipCidr
37039// API call, and error handling.
37040//
37041// This method is useful when you want to inject custom logic or configuration
37042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
37043//
37044//
37045//    // Example sending a request using the WithdrawByoipCidrRequest method.
37046//    req, resp := client.WithdrawByoipCidrRequest(params)
37047//
37048//    err := req.Send()
37049//    if err == nil { // resp is now filled
37050//        fmt.Println(resp)
37051//    }
37052//
37053// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
37054func (c *EC2) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInput) (req *request.Request, output *WithdrawByoipCidrOutput) {
37055	op := &request.Operation{
37056		Name:       opWithdrawByoipCidr,
37057		HTTPMethod: "POST",
37058		HTTPPath:   "/",
37059	}
37060
37061	if input == nil {
37062		input = &WithdrawByoipCidrInput{}
37063	}
37064
37065	output = &WithdrawByoipCidrOutput{}
37066	req = c.newRequest(op, input, output)
37067	return
37068}
37069
37070// WithdrawByoipCidr API operation for Amazon Elastic Compute Cloud.
37071//
37072// Stops advertising an address range that is provisioned as an address pool.
37073//
37074// You can perform this operation at most once every 10 seconds, even if you
37075// specify different address ranges each time.
37076//
37077// It can take a few minutes before traffic to the specified addresses stops
37078// routing to AWS because of BGP propagation delays.
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 WithdrawByoipCidr for usage and error information.
37086// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
37087func (c *EC2) WithdrawByoipCidr(input *WithdrawByoipCidrInput) (*WithdrawByoipCidrOutput, error) {
37088	req, out := c.WithdrawByoipCidrRequest(input)
37089	return out, req.Send()
37090}
37091
37092// WithdrawByoipCidrWithContext is the same as WithdrawByoipCidr with the addition of
37093// the ability to pass a context and additional request options.
37094//
37095// See WithdrawByoipCidr 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) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoipCidrInput, opts ...request.Option) (*WithdrawByoipCidrOutput, error) {
37102	req, out := c.WithdrawByoipCidrRequest(input)
37103	req.SetContext(ctx)
37104	req.ApplyOptions(opts...)
37105	return out, req.Send()
37106}
37107
37108// Contains the parameters for accepting the quote.
37109type AcceptReservedInstancesExchangeQuoteInput struct {
37110	_ struct{} `type:"structure"`
37111
37112	// Checks whether you have the required permissions for the action, without
37113	// actually making the request, and provides an error response. If you have
37114	// the required permissions, the error response is DryRunOperation. Otherwise,
37115	// it is UnauthorizedOperation.
37116	DryRun *bool `type:"boolean"`
37117
37118	// The IDs of the Convertible Reserved Instances to exchange for another Convertible
37119	// Reserved Instance of the same or higher value.
37120	//
37121	// ReservedInstanceIds is a required field
37122	ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
37123
37124	// The configuration of the target Convertible Reserved Instance to exchange
37125	// for your current Convertible Reserved Instances.
37126	TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
37127}
37128
37129// String returns the string representation
37130func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
37131	return awsutil.Prettify(s)
37132}
37133
37134// GoString returns the string representation
37135func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
37136	return s.String()
37137}
37138
37139// Validate inspects the fields of the type to determine if they are valid.
37140func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
37141	invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
37142	if s.ReservedInstanceIds == nil {
37143		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
37144	}
37145	if s.TargetConfigurations != nil {
37146		for i, v := range s.TargetConfigurations {
37147			if v == nil {
37148				continue
37149			}
37150			if err := v.Validate(); err != nil {
37151				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
37152			}
37153		}
37154	}
37155
37156	if invalidParams.Len() > 0 {
37157		return invalidParams
37158	}
37159	return nil
37160}
37161
37162// SetDryRun sets the DryRun field's value.
37163func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
37164	s.DryRun = &v
37165	return s
37166}
37167
37168// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
37169func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
37170	s.ReservedInstanceIds = v
37171	return s
37172}
37173
37174// SetTargetConfigurations sets the TargetConfigurations field's value.
37175func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
37176	s.TargetConfigurations = v
37177	return s
37178}
37179
37180// The result of the exchange and whether it was successful.
37181type AcceptReservedInstancesExchangeQuoteOutput struct {
37182	_ struct{} `type:"structure"`
37183
37184	// The ID of the successful exchange.
37185	ExchangeId *string `locationName:"exchangeId" type:"string"`
37186}
37187
37188// String returns the string representation
37189func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
37190	return awsutil.Prettify(s)
37191}
37192
37193// GoString returns the string representation
37194func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
37195	return s.String()
37196}
37197
37198// SetExchangeId sets the ExchangeId field's value.
37199func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
37200	s.ExchangeId = &v
37201	return s
37202}
37203
37204type AcceptTransitGatewayPeeringAttachmentInput struct {
37205	_ struct{} `type:"structure"`
37206
37207	// Checks whether you have the required permissions for the action, without
37208	// actually making the request, and provides an error response. If you have
37209	// the required permissions, the error response is DryRunOperation. Otherwise,
37210	// it is UnauthorizedOperation.
37211	DryRun *bool `type:"boolean"`
37212
37213	// The ID of the transit gateway attachment.
37214	//
37215	// TransitGatewayAttachmentId is a required field
37216	TransitGatewayAttachmentId *string `type:"string" required:"true"`
37217}
37218
37219// String returns the string representation
37220func (s AcceptTransitGatewayPeeringAttachmentInput) String() string {
37221	return awsutil.Prettify(s)
37222}
37223
37224// GoString returns the string representation
37225func (s AcceptTransitGatewayPeeringAttachmentInput) GoString() string {
37226	return s.String()
37227}
37228
37229// Validate inspects the fields of the type to determine if they are valid.
37230func (s *AcceptTransitGatewayPeeringAttachmentInput) Validate() error {
37231	invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayPeeringAttachmentInput"}
37232	if s.TransitGatewayAttachmentId == nil {
37233		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
37234	}
37235
37236	if invalidParams.Len() > 0 {
37237		return invalidParams
37238	}
37239	return nil
37240}
37241
37242// SetDryRun sets the DryRun field's value.
37243func (s *AcceptTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayPeeringAttachmentInput {
37244	s.DryRun = &v
37245	return s
37246}
37247
37248// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
37249func (s *AcceptTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayPeeringAttachmentInput {
37250	s.TransitGatewayAttachmentId = &v
37251	return s
37252}
37253
37254type AcceptTransitGatewayPeeringAttachmentOutput struct {
37255	_ struct{} `type:"structure"`
37256
37257	// The transit gateway peering attachment.
37258	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
37259}
37260
37261// String returns the string representation
37262func (s AcceptTransitGatewayPeeringAttachmentOutput) String() string {
37263	return awsutil.Prettify(s)
37264}
37265
37266// GoString returns the string representation
37267func (s AcceptTransitGatewayPeeringAttachmentOutput) GoString() string {
37268	return s.String()
37269}
37270
37271// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
37272func (s *AcceptTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *AcceptTransitGatewayPeeringAttachmentOutput {
37273	s.TransitGatewayPeeringAttachment = v
37274	return s
37275}
37276
37277type AcceptTransitGatewayVpcAttachmentInput struct {
37278	_ struct{} `type:"structure"`
37279
37280	// Checks whether you have the required permissions for the action, without
37281	// actually making the request, and provides an error response. If you have
37282	// the required permissions, the error response is DryRunOperation. Otherwise,
37283	// it is UnauthorizedOperation.
37284	DryRun *bool `type:"boolean"`
37285
37286	// The ID of the attachment.
37287	//
37288	// TransitGatewayAttachmentId is a required field
37289	TransitGatewayAttachmentId *string `type:"string" required:"true"`
37290}
37291
37292// String returns the string representation
37293func (s AcceptTransitGatewayVpcAttachmentInput) String() string {
37294	return awsutil.Prettify(s)
37295}
37296
37297// GoString returns the string representation
37298func (s AcceptTransitGatewayVpcAttachmentInput) GoString() string {
37299	return s.String()
37300}
37301
37302// Validate inspects the fields of the type to determine if they are valid.
37303func (s *AcceptTransitGatewayVpcAttachmentInput) Validate() error {
37304	invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayVpcAttachmentInput"}
37305	if s.TransitGatewayAttachmentId == nil {
37306		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
37307	}
37308
37309	if invalidParams.Len() > 0 {
37310		return invalidParams
37311	}
37312	return nil
37313}
37314
37315// SetDryRun sets the DryRun field's value.
37316func (s *AcceptTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayVpcAttachmentInput {
37317	s.DryRun = &v
37318	return s
37319}
37320
37321// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
37322func (s *AcceptTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayVpcAttachmentInput {
37323	s.TransitGatewayAttachmentId = &v
37324	return s
37325}
37326
37327type AcceptTransitGatewayVpcAttachmentOutput struct {
37328	_ struct{} `type:"structure"`
37329
37330	// The VPC attachment.
37331	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
37332}
37333
37334// String returns the string representation
37335func (s AcceptTransitGatewayVpcAttachmentOutput) String() string {
37336	return awsutil.Prettify(s)
37337}
37338
37339// GoString returns the string representation
37340func (s AcceptTransitGatewayVpcAttachmentOutput) GoString() string {
37341	return s.String()
37342}
37343
37344// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
37345func (s *AcceptTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *AcceptTransitGatewayVpcAttachmentOutput {
37346	s.TransitGatewayVpcAttachment = v
37347	return s
37348}
37349
37350type AcceptVpcEndpointConnectionsInput struct {
37351	_ struct{} `type:"structure"`
37352
37353	// Checks whether you have the required permissions for the action, without
37354	// actually making the request, and provides an error response. If you have
37355	// the required permissions, the error response is DryRunOperation. Otherwise,
37356	// it is UnauthorizedOperation.
37357	DryRun *bool `type:"boolean"`
37358
37359	// The ID of the VPC endpoint service.
37360	//
37361	// ServiceId is a required field
37362	ServiceId *string `type:"string" required:"true"`
37363
37364	// The IDs of one or more interface VPC endpoints.
37365	//
37366	// VpcEndpointIds is a required field
37367	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
37368}
37369
37370// String returns the string representation
37371func (s AcceptVpcEndpointConnectionsInput) String() string {
37372	return awsutil.Prettify(s)
37373}
37374
37375// GoString returns the string representation
37376func (s AcceptVpcEndpointConnectionsInput) GoString() string {
37377	return s.String()
37378}
37379
37380// Validate inspects the fields of the type to determine if they are valid.
37381func (s *AcceptVpcEndpointConnectionsInput) Validate() error {
37382	invalidParams := request.ErrInvalidParams{Context: "AcceptVpcEndpointConnectionsInput"}
37383	if s.ServiceId == nil {
37384		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
37385	}
37386	if s.VpcEndpointIds == nil {
37387		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
37388	}
37389
37390	if invalidParams.Len() > 0 {
37391		return invalidParams
37392	}
37393	return nil
37394}
37395
37396// SetDryRun sets the DryRun field's value.
37397func (s *AcceptVpcEndpointConnectionsInput) SetDryRun(v bool) *AcceptVpcEndpointConnectionsInput {
37398	s.DryRun = &v
37399	return s
37400}
37401
37402// SetServiceId sets the ServiceId field's value.
37403func (s *AcceptVpcEndpointConnectionsInput) SetServiceId(v string) *AcceptVpcEndpointConnectionsInput {
37404	s.ServiceId = &v
37405	return s
37406}
37407
37408// SetVpcEndpointIds sets the VpcEndpointIds field's value.
37409func (s *AcceptVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *AcceptVpcEndpointConnectionsInput {
37410	s.VpcEndpointIds = v
37411	return s
37412}
37413
37414type AcceptVpcEndpointConnectionsOutput struct {
37415	_ struct{} `type:"structure"`
37416
37417	// Information about the interface endpoints that were not accepted, if applicable.
37418	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
37419}
37420
37421// String returns the string representation
37422func (s AcceptVpcEndpointConnectionsOutput) String() string {
37423	return awsutil.Prettify(s)
37424}
37425
37426// GoString returns the string representation
37427func (s AcceptVpcEndpointConnectionsOutput) GoString() string {
37428	return s.String()
37429}
37430
37431// SetUnsuccessful sets the Unsuccessful field's value.
37432func (s *AcceptVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *AcceptVpcEndpointConnectionsOutput {
37433	s.Unsuccessful = v
37434	return s
37435}
37436
37437type AcceptVpcPeeringConnectionInput struct {
37438	_ struct{} `type:"structure"`
37439
37440	// Checks whether you have the required permissions for the action, without
37441	// actually making the request, and provides an error response. If you have
37442	// the required permissions, the error response is DryRunOperation. Otherwise,
37443	// it is UnauthorizedOperation.
37444	DryRun *bool `locationName:"dryRun" type:"boolean"`
37445
37446	// The ID of the VPC peering connection. You must specify this parameter in
37447	// the request.
37448	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
37449}
37450
37451// String returns the string representation
37452func (s AcceptVpcPeeringConnectionInput) String() string {
37453	return awsutil.Prettify(s)
37454}
37455
37456// GoString returns the string representation
37457func (s AcceptVpcPeeringConnectionInput) GoString() string {
37458	return s.String()
37459}
37460
37461// SetDryRun sets the DryRun field's value.
37462func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
37463	s.DryRun = &v
37464	return s
37465}
37466
37467// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
37468func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
37469	s.VpcPeeringConnectionId = &v
37470	return s
37471}
37472
37473type AcceptVpcPeeringConnectionOutput struct {
37474	_ struct{} `type:"structure"`
37475
37476	// Information about the VPC peering connection.
37477	VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
37478}
37479
37480// String returns the string representation
37481func (s AcceptVpcPeeringConnectionOutput) String() string {
37482	return awsutil.Prettify(s)
37483}
37484
37485// GoString returns the string representation
37486func (s AcceptVpcPeeringConnectionOutput) GoString() string {
37487	return s.String()
37488}
37489
37490// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
37491func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
37492	s.VpcPeeringConnection = v
37493	return s
37494}
37495
37496// Describes an account attribute.
37497type AccountAttribute struct {
37498	_ struct{} `type:"structure"`
37499
37500	// The name of the account attribute.
37501	AttributeName *string `locationName:"attributeName" type:"string"`
37502
37503	// The values for the account attribute.
37504	AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
37505}
37506
37507// String returns the string representation
37508func (s AccountAttribute) String() string {
37509	return awsutil.Prettify(s)
37510}
37511
37512// GoString returns the string representation
37513func (s AccountAttribute) GoString() string {
37514	return s.String()
37515}
37516
37517// SetAttributeName sets the AttributeName field's value.
37518func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
37519	s.AttributeName = &v
37520	return s
37521}
37522
37523// SetAttributeValues sets the AttributeValues field's value.
37524func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
37525	s.AttributeValues = v
37526	return s
37527}
37528
37529// Describes a value of an account attribute.
37530type AccountAttributeValue struct {
37531	_ struct{} `type:"structure"`
37532
37533	// The value of the attribute.
37534	AttributeValue *string `locationName:"attributeValue" type:"string"`
37535}
37536
37537// String returns the string representation
37538func (s AccountAttributeValue) String() string {
37539	return awsutil.Prettify(s)
37540}
37541
37542// GoString returns the string representation
37543func (s AccountAttributeValue) GoString() string {
37544	return s.String()
37545}
37546
37547// SetAttributeValue sets the AttributeValue field's value.
37548func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
37549	s.AttributeValue = &v
37550	return s
37551}
37552
37553// Describes a running instance in a Spot Fleet.
37554type ActiveInstance struct {
37555	_ struct{} `type:"structure"`
37556
37557	// The health status of the instance. If the status of either the instance status
37558	// check or the system status check is impaired, the health status of the instance
37559	// is unhealthy. Otherwise, the health status is healthy.
37560	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
37561
37562	// The ID of the instance.
37563	InstanceId *string `locationName:"instanceId" type:"string"`
37564
37565	// The instance type.
37566	InstanceType *string `locationName:"instanceType" type:"string"`
37567
37568	// The ID of the Spot Instance request.
37569	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
37570}
37571
37572// String returns the string representation
37573func (s ActiveInstance) String() string {
37574	return awsutil.Prettify(s)
37575}
37576
37577// GoString returns the string representation
37578func (s ActiveInstance) GoString() string {
37579	return s.String()
37580}
37581
37582// SetInstanceHealth sets the InstanceHealth field's value.
37583func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
37584	s.InstanceHealth = &v
37585	return s
37586}
37587
37588// SetInstanceId sets the InstanceId field's value.
37589func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
37590	s.InstanceId = &v
37591	return s
37592}
37593
37594// SetInstanceType sets the InstanceType field's value.
37595func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
37596	s.InstanceType = &v
37597	return s
37598}
37599
37600// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
37601func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
37602	s.SpotInstanceRequestId = &v
37603	return s
37604}
37605
37606// Describes an Elastic IP address.
37607type Address struct {
37608	_ struct{} `type:"structure"`
37609
37610	// The ID representing the allocation of the address for use with EC2-VPC.
37611	AllocationId *string `locationName:"allocationId" type:"string"`
37612
37613	// The ID representing the association of the address with an instance in a
37614	// VPC.
37615	AssociationId *string `locationName:"associationId" type:"string"`
37616
37617	// The customer-owned IP address.
37618	CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
37619
37620	// The ID of the customer-owned address pool.
37621	CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
37622
37623	// Indicates whether this Elastic IP address is for use with instances in EC2-Classic
37624	// (standard) or instances in a VPC (vpc).
37625	Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
37626
37627	// The ID of the instance that the address is associated with (if any).
37628	InstanceId *string `locationName:"instanceId" type:"string"`
37629
37630	// The name of the location from which the IP address is advertised.
37631	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
37632
37633	// The ID of the network interface.
37634	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
37635
37636	// The ID of the AWS account that owns the network interface.
37637	NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
37638
37639	// The private IP address associated with the Elastic IP address.
37640	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
37641
37642	// The Elastic IP address.
37643	PublicIp *string `locationName:"publicIp" type:"string"`
37644
37645	// The ID of an address pool.
37646	PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
37647
37648	// Any tags assigned to the Elastic IP address.
37649	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
37650}
37651
37652// String returns the string representation
37653func (s Address) String() string {
37654	return awsutil.Prettify(s)
37655}
37656
37657// GoString returns the string representation
37658func (s Address) GoString() string {
37659	return s.String()
37660}
37661
37662// SetAllocationId sets the AllocationId field's value.
37663func (s *Address) SetAllocationId(v string) *Address {
37664	s.AllocationId = &v
37665	return s
37666}
37667
37668// SetAssociationId sets the AssociationId field's value.
37669func (s *Address) SetAssociationId(v string) *Address {
37670	s.AssociationId = &v
37671	return s
37672}
37673
37674// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
37675func (s *Address) SetCustomerOwnedIp(v string) *Address {
37676	s.CustomerOwnedIp = &v
37677	return s
37678}
37679
37680// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
37681func (s *Address) SetCustomerOwnedIpv4Pool(v string) *Address {
37682	s.CustomerOwnedIpv4Pool = &v
37683	return s
37684}
37685
37686// SetDomain sets the Domain field's value.
37687func (s *Address) SetDomain(v string) *Address {
37688	s.Domain = &v
37689	return s
37690}
37691
37692// SetInstanceId sets the InstanceId field's value.
37693func (s *Address) SetInstanceId(v string) *Address {
37694	s.InstanceId = &v
37695	return s
37696}
37697
37698// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
37699func (s *Address) SetNetworkBorderGroup(v string) *Address {
37700	s.NetworkBorderGroup = &v
37701	return s
37702}
37703
37704// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
37705func (s *Address) SetNetworkInterfaceId(v string) *Address {
37706	s.NetworkInterfaceId = &v
37707	return s
37708}
37709
37710// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
37711func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
37712	s.NetworkInterfaceOwnerId = &v
37713	return s
37714}
37715
37716// SetPrivateIpAddress sets the PrivateIpAddress field's value.
37717func (s *Address) SetPrivateIpAddress(v string) *Address {
37718	s.PrivateIpAddress = &v
37719	return s
37720}
37721
37722// SetPublicIp sets the PublicIp field's value.
37723func (s *Address) SetPublicIp(v string) *Address {
37724	s.PublicIp = &v
37725	return s
37726}
37727
37728// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
37729func (s *Address) SetPublicIpv4Pool(v string) *Address {
37730	s.PublicIpv4Pool = &v
37731	return s
37732}
37733
37734// SetTags sets the Tags field's value.
37735func (s *Address) SetTags(v []*Tag) *Address {
37736	s.Tags = v
37737	return s
37738}
37739
37740type AdvertiseByoipCidrInput struct {
37741	_ struct{} `type:"structure"`
37742
37743	// The address range, in CIDR notation. This must be the exact range that you
37744	// provisioned. You can't advertise only a portion of the provisioned range.
37745	//
37746	// Cidr is a required field
37747	Cidr *string `type:"string" required:"true"`
37748
37749	// Checks whether you have the required permissions for the action, without
37750	// actually making the request, and provides an error response. If you have
37751	// the required permissions, the error response is DryRunOperation. Otherwise,
37752	// it is UnauthorizedOperation.
37753	DryRun *bool `type:"boolean"`
37754}
37755
37756// String returns the string representation
37757func (s AdvertiseByoipCidrInput) String() string {
37758	return awsutil.Prettify(s)
37759}
37760
37761// GoString returns the string representation
37762func (s AdvertiseByoipCidrInput) GoString() string {
37763	return s.String()
37764}
37765
37766// Validate inspects the fields of the type to determine if they are valid.
37767func (s *AdvertiseByoipCidrInput) Validate() error {
37768	invalidParams := request.ErrInvalidParams{Context: "AdvertiseByoipCidrInput"}
37769	if s.Cidr == nil {
37770		invalidParams.Add(request.NewErrParamRequired("Cidr"))
37771	}
37772
37773	if invalidParams.Len() > 0 {
37774		return invalidParams
37775	}
37776	return nil
37777}
37778
37779// SetCidr sets the Cidr field's value.
37780func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput {
37781	s.Cidr = &v
37782	return s
37783}
37784
37785// SetDryRun sets the DryRun field's value.
37786func (s *AdvertiseByoipCidrInput) SetDryRun(v bool) *AdvertiseByoipCidrInput {
37787	s.DryRun = &v
37788	return s
37789}
37790
37791type AdvertiseByoipCidrOutput struct {
37792	_ struct{} `type:"structure"`
37793
37794	// Information about the address range.
37795	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
37796}
37797
37798// String returns the string representation
37799func (s AdvertiseByoipCidrOutput) String() string {
37800	return awsutil.Prettify(s)
37801}
37802
37803// GoString returns the string representation
37804func (s AdvertiseByoipCidrOutput) GoString() string {
37805	return s.String()
37806}
37807
37808// SetByoipCidr sets the ByoipCidr field's value.
37809func (s *AdvertiseByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *AdvertiseByoipCidrOutput {
37810	s.ByoipCidr = v
37811	return s
37812}
37813
37814type AllocateAddressInput struct {
37815	_ struct{} `type:"structure"`
37816
37817	// [EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address
37818	// pool.
37819	Address *string `type:"string"`
37820
37821	// The ID of a customer-owned address pool. Use this parameter to let Amazon
37822	// EC2 select an address from the address pool. Alternatively, specify a specific
37823	// address from the address pool.
37824	CustomerOwnedIpv4Pool *string `type:"string"`
37825
37826	// Set to vpc to allocate the address for use with instances in a VPC.
37827	//
37828	// Default: The address is for use with instances in EC2-Classic.
37829	Domain *string `type:"string" enum:"DomainType"`
37830
37831	// Checks whether you have the required permissions for the action, without
37832	// actually making the request, and provides an error response. If you have
37833	// the required permissions, the error response is DryRunOperation. Otherwise,
37834	// it is UnauthorizedOperation.
37835	DryRun *bool `locationName:"dryRun" type:"boolean"`
37836
37837	// The location from which the IP address is advertised. Use this parameter
37838	// to limit the address to this location.
37839	//
37840	// Use DescribeVpcs (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html)
37841	// to view the network border groups.
37842	//
37843	// You cannot use a network border group with EC2 Classic. If you attempt this
37844	// operation on EC2 classic, you will receive an InvalidParameterCombination
37845	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
37846	NetworkBorderGroup *string `type:"string"`
37847
37848	// The ID of an address pool that you own. Use this parameter to let Amazon
37849	// EC2 select an address from the address pool. To specify a specific address
37850	// from the address pool, use the Address parameter instead.
37851	PublicIpv4Pool *string `type:"string"`
37852}
37853
37854// String returns the string representation
37855func (s AllocateAddressInput) String() string {
37856	return awsutil.Prettify(s)
37857}
37858
37859// GoString returns the string representation
37860func (s AllocateAddressInput) GoString() string {
37861	return s.String()
37862}
37863
37864// SetAddress sets the Address field's value.
37865func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
37866	s.Address = &v
37867	return s
37868}
37869
37870// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
37871func (s *AllocateAddressInput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressInput {
37872	s.CustomerOwnedIpv4Pool = &v
37873	return s
37874}
37875
37876// SetDomain sets the Domain field's value.
37877func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
37878	s.Domain = &v
37879	return s
37880}
37881
37882// SetDryRun sets the DryRun field's value.
37883func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
37884	s.DryRun = &v
37885	return s
37886}
37887
37888// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
37889func (s *AllocateAddressInput) SetNetworkBorderGroup(v string) *AllocateAddressInput {
37890	s.NetworkBorderGroup = &v
37891	return s
37892}
37893
37894// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
37895func (s *AllocateAddressInput) SetPublicIpv4Pool(v string) *AllocateAddressInput {
37896	s.PublicIpv4Pool = &v
37897	return s
37898}
37899
37900type AllocateAddressOutput struct {
37901	_ struct{} `type:"structure"`
37902
37903	// [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
37904	// IP address for use with instances in a VPC.
37905	AllocationId *string `locationName:"allocationId" type:"string"`
37906
37907	// The customer-owned IP address.
37908	CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
37909
37910	// The ID of the customer-owned address pool.
37911	CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
37912
37913	// Indicates whether this Elastic IP address is for use with instances in EC2-Classic
37914	// (standard) or instances in a VPC (vpc).
37915	Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
37916
37917	// The location from which the IP address is advertised.
37918	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
37919
37920	// The Elastic IP address.
37921	PublicIp *string `locationName:"publicIp" type:"string"`
37922
37923	// The ID of an address pool.
37924	PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
37925}
37926
37927// String returns the string representation
37928func (s AllocateAddressOutput) String() string {
37929	return awsutil.Prettify(s)
37930}
37931
37932// GoString returns the string representation
37933func (s AllocateAddressOutput) GoString() string {
37934	return s.String()
37935}
37936
37937// SetAllocationId sets the AllocationId field's value.
37938func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
37939	s.AllocationId = &v
37940	return s
37941}
37942
37943// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
37944func (s *AllocateAddressOutput) SetCustomerOwnedIp(v string) *AllocateAddressOutput {
37945	s.CustomerOwnedIp = &v
37946	return s
37947}
37948
37949// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
37950func (s *AllocateAddressOutput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressOutput {
37951	s.CustomerOwnedIpv4Pool = &v
37952	return s
37953}
37954
37955// SetDomain sets the Domain field's value.
37956func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
37957	s.Domain = &v
37958	return s
37959}
37960
37961// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
37962func (s *AllocateAddressOutput) SetNetworkBorderGroup(v string) *AllocateAddressOutput {
37963	s.NetworkBorderGroup = &v
37964	return s
37965}
37966
37967// SetPublicIp sets the PublicIp field's value.
37968func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
37969	s.PublicIp = &v
37970	return s
37971}
37972
37973// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
37974func (s *AllocateAddressOutput) SetPublicIpv4Pool(v string) *AllocateAddressOutput {
37975	s.PublicIpv4Pool = &v
37976	return s
37977}
37978
37979type AllocateHostsInput struct {
37980	_ struct{} `type:"structure"`
37981
37982	// Indicates whether the host accepts any untargeted instance launches that
37983	// match its instance type configuration, or if it only accepts Host tenancy
37984	// instance launches that specify its unique host ID. For more information,
37985	// see Understanding Instance Placement and Host Affinity (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding)
37986	// in the Amazon EC2 User Guide for Linux Instances.
37987	//
37988	// Default: on
37989	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
37990
37991	// The Availability Zone in which to allocate the Dedicated Host.
37992	//
37993	// AvailabilityZone is a required field
37994	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
37995
37996	// Unique, case-sensitive identifier that you provide to ensure the idempotency
37997	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
37998	ClientToken *string `locationName:"clientToken" type:"string"`
37999
38000	// Indicates whether to enable or disable host recovery for the Dedicated Host.
38001	// Host recovery is disabled by default. For more information, see Host Recovery
38002	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html)
38003	// in the Amazon Elastic Compute Cloud User Guide.
38004	//
38005	// Default: off
38006	HostRecovery *string `type:"string" enum:"HostRecovery"`
38007
38008	// Specifies the instance family to be supported by the Dedicated Hosts. If
38009	// you specify an instance family, the Dedicated Hosts support multiple instance
38010	// types within that instance family.
38011	//
38012	// If you want the Dedicated Hosts to support a specific instance type only,
38013	// omit this parameter and specify InstanceType instead. You cannot specify
38014	// InstanceFamily and InstanceType in the same request.
38015	InstanceFamily *string `type:"string"`
38016
38017	// Specifies the instance type to be supported by the Dedicated Hosts. If you
38018	// specify an instance type, the Dedicated Hosts support instances of the specified
38019	// instance type only.
38020	//
38021	// If you want the Dedicated Hosts to support multiple instance types in a specific
38022	// instance family, omit this parameter and specify InstanceFamily instead.
38023	// You cannot specify InstanceType and InstanceFamily in the same request.
38024	InstanceType *string `locationName:"instanceType" type:"string"`
38025
38026	// The number of Dedicated Hosts to allocate to your account with these parameters.
38027	//
38028	// Quantity is a required field
38029	Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
38030
38031	// The tags to apply to the Dedicated Host during creation.
38032	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
38033}
38034
38035// String returns the string representation
38036func (s AllocateHostsInput) String() string {
38037	return awsutil.Prettify(s)
38038}
38039
38040// GoString returns the string representation
38041func (s AllocateHostsInput) GoString() string {
38042	return s.String()
38043}
38044
38045// Validate inspects the fields of the type to determine if they are valid.
38046func (s *AllocateHostsInput) Validate() error {
38047	invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
38048	if s.AvailabilityZone == nil {
38049		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
38050	}
38051	if s.Quantity == nil {
38052		invalidParams.Add(request.NewErrParamRequired("Quantity"))
38053	}
38054
38055	if invalidParams.Len() > 0 {
38056		return invalidParams
38057	}
38058	return nil
38059}
38060
38061// SetAutoPlacement sets the AutoPlacement field's value.
38062func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
38063	s.AutoPlacement = &v
38064	return s
38065}
38066
38067// SetAvailabilityZone sets the AvailabilityZone field's value.
38068func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
38069	s.AvailabilityZone = &v
38070	return s
38071}
38072
38073// SetClientToken sets the ClientToken field's value.
38074func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
38075	s.ClientToken = &v
38076	return s
38077}
38078
38079// SetHostRecovery sets the HostRecovery field's value.
38080func (s *AllocateHostsInput) SetHostRecovery(v string) *AllocateHostsInput {
38081	s.HostRecovery = &v
38082	return s
38083}
38084
38085// SetInstanceFamily sets the InstanceFamily field's value.
38086func (s *AllocateHostsInput) SetInstanceFamily(v string) *AllocateHostsInput {
38087	s.InstanceFamily = &v
38088	return s
38089}
38090
38091// SetInstanceType sets the InstanceType field's value.
38092func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
38093	s.InstanceType = &v
38094	return s
38095}
38096
38097// SetQuantity sets the Quantity field's value.
38098func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
38099	s.Quantity = &v
38100	return s
38101}
38102
38103// SetTagSpecifications sets the TagSpecifications field's value.
38104func (s *AllocateHostsInput) SetTagSpecifications(v []*TagSpecification) *AllocateHostsInput {
38105	s.TagSpecifications = v
38106	return s
38107}
38108
38109// Contains the output of AllocateHosts.
38110type AllocateHostsOutput struct {
38111	_ struct{} `type:"structure"`
38112
38113	// The ID of the allocated Dedicated Host. This is used to launch an instance
38114	// onto a specific host.
38115	HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
38116}
38117
38118// String returns the string representation
38119func (s AllocateHostsOutput) String() string {
38120	return awsutil.Prettify(s)
38121}
38122
38123// GoString returns the string representation
38124func (s AllocateHostsOutput) GoString() string {
38125	return s.String()
38126}
38127
38128// SetHostIds sets the HostIds field's value.
38129func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
38130	s.HostIds = v
38131	return s
38132}
38133
38134// Describes a principal.
38135type AllowedPrincipal struct {
38136	_ struct{} `type:"structure"`
38137
38138	// The Amazon Resource Name (ARN) of the principal.
38139	Principal *string `locationName:"principal" type:"string"`
38140
38141	// The type of principal.
38142	PrincipalType *string `locationName:"principalType" type:"string" enum:"PrincipalType"`
38143}
38144
38145// String returns the string representation
38146func (s AllowedPrincipal) String() string {
38147	return awsutil.Prettify(s)
38148}
38149
38150// GoString returns the string representation
38151func (s AllowedPrincipal) GoString() string {
38152	return s.String()
38153}
38154
38155// SetPrincipal sets the Principal field's value.
38156func (s *AllowedPrincipal) SetPrincipal(v string) *AllowedPrincipal {
38157	s.Principal = &v
38158	return s
38159}
38160
38161// SetPrincipalType sets the PrincipalType field's value.
38162func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal {
38163	s.PrincipalType = &v
38164	return s
38165}
38166
38167type ApplySecurityGroupsToClientVpnTargetNetworkInput struct {
38168	_ struct{} `type:"structure"`
38169
38170	// The ID of the Client VPN endpoint.
38171	//
38172	// ClientVpnEndpointId is a required field
38173	ClientVpnEndpointId *string `type:"string" required:"true"`
38174
38175	// Checks whether you have the required permissions for the action, without
38176	// actually making the request, and provides an error response. If you have
38177	// the required permissions, the error response is DryRunOperation. Otherwise,
38178	// it is UnauthorizedOperation.
38179	DryRun *bool `type:"boolean"`
38180
38181	// The IDs of the security groups to apply to the associated target network.
38182	// Up to 5 security groups can be applied to an associated target network.
38183	//
38184	// SecurityGroupIds is a required field
38185	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list" required:"true"`
38186
38187	// The ID of the VPC in which the associated target network is located.
38188	//
38189	// VpcId is a required field
38190	VpcId *string `type:"string" required:"true"`
38191}
38192
38193// String returns the string representation
38194func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) String() string {
38195	return awsutil.Prettify(s)
38196}
38197
38198// GoString returns the string representation
38199func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) GoString() string {
38200	return s.String()
38201}
38202
38203// Validate inspects the fields of the type to determine if they are valid.
38204func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) Validate() error {
38205	invalidParams := request.ErrInvalidParams{Context: "ApplySecurityGroupsToClientVpnTargetNetworkInput"}
38206	if s.ClientVpnEndpointId == nil {
38207		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
38208	}
38209	if s.SecurityGroupIds == nil {
38210		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
38211	}
38212	if s.VpcId == nil {
38213		invalidParams.Add(request.NewErrParamRequired("VpcId"))
38214	}
38215
38216	if invalidParams.Len() > 0 {
38217		return invalidParams
38218	}
38219	return nil
38220}
38221
38222// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
38223func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
38224	s.ClientVpnEndpointId = &v
38225	return s
38226}
38227
38228// SetDryRun sets the DryRun field's value.
38229func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetDryRun(v bool) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
38230	s.DryRun = &v
38231	return s
38232}
38233
38234// SetSecurityGroupIds sets the SecurityGroupIds field's value.
38235func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
38236	s.SecurityGroupIds = v
38237	return s
38238}
38239
38240// SetVpcId sets the VpcId field's value.
38241func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetVpcId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
38242	s.VpcId = &v
38243	return s
38244}
38245
38246type ApplySecurityGroupsToClientVpnTargetNetworkOutput struct {
38247	_ struct{} `type:"structure"`
38248
38249	// The IDs of the applied security groups.
38250	SecurityGroupIds []*string `locationName:"securityGroupIds" locationNameList:"item" type:"list"`
38251}
38252
38253// String returns the string representation
38254func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) String() string {
38255	return awsutil.Prettify(s)
38256}
38257
38258// GoString returns the string representation
38259func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) GoString() string {
38260	return s.String()
38261}
38262
38263// SetSecurityGroupIds sets the SecurityGroupIds field's value.
38264func (s *ApplySecurityGroupsToClientVpnTargetNetworkOutput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkOutput {
38265	s.SecurityGroupIds = v
38266	return s
38267}
38268
38269type AssignIpv6AddressesInput struct {
38270	_ struct{} `type:"structure"`
38271
38272	// The number of IPv6 addresses to assign to the network interface. Amazon EC2
38273	// automatically selects the IPv6 addresses from the subnet range. You can't
38274	// use this option if specifying specific IPv6 addresses.
38275	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
38276
38277	// One or more specific IPv6 addresses to be assigned to the network interface.
38278	// You can't use this option if you're specifying a number of IPv6 addresses.
38279	Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
38280
38281	// The ID of the network interface.
38282	//
38283	// NetworkInterfaceId is a required field
38284	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
38285}
38286
38287// String returns the string representation
38288func (s AssignIpv6AddressesInput) String() string {
38289	return awsutil.Prettify(s)
38290}
38291
38292// GoString returns the string representation
38293func (s AssignIpv6AddressesInput) GoString() string {
38294	return s.String()
38295}
38296
38297// Validate inspects the fields of the type to determine if they are valid.
38298func (s *AssignIpv6AddressesInput) Validate() error {
38299	invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
38300	if s.NetworkInterfaceId == nil {
38301		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
38302	}
38303
38304	if invalidParams.Len() > 0 {
38305		return invalidParams
38306	}
38307	return nil
38308}
38309
38310// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
38311func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
38312	s.Ipv6AddressCount = &v
38313	return s
38314}
38315
38316// SetIpv6Addresses sets the Ipv6Addresses field's value.
38317func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
38318	s.Ipv6Addresses = v
38319	return s
38320}
38321
38322// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
38323func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
38324	s.NetworkInterfaceId = &v
38325	return s
38326}
38327
38328type AssignIpv6AddressesOutput struct {
38329	_ struct{} `type:"structure"`
38330
38331	// The IPv6 addresses assigned to the network interface.
38332	AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
38333
38334	// The ID of the network interface.
38335	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
38336}
38337
38338// String returns the string representation
38339func (s AssignIpv6AddressesOutput) String() string {
38340	return awsutil.Prettify(s)
38341}
38342
38343// GoString returns the string representation
38344func (s AssignIpv6AddressesOutput) GoString() string {
38345	return s.String()
38346}
38347
38348// SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
38349func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
38350	s.AssignedIpv6Addresses = v
38351	return s
38352}
38353
38354// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
38355func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
38356	s.NetworkInterfaceId = &v
38357	return s
38358}
38359
38360// Contains the parameters for AssignPrivateIpAddresses.
38361type AssignPrivateIpAddressesInput struct {
38362	_ struct{} `type:"structure"`
38363
38364	// Indicates whether to allow an IP address that is already assigned to another
38365	// network interface or instance to be reassigned to the specified network interface.
38366	AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
38367
38368	// The ID of the network interface.
38369	//
38370	// NetworkInterfaceId is a required field
38371	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
38372
38373	// One or more IP addresses to be assigned as a secondary private IP address
38374	// to the network interface. You can't specify this parameter when also specifying
38375	// a number of secondary IP addresses.
38376	//
38377	// If you don't specify an IP address, Amazon EC2 automatically selects an IP
38378	// address within the subnet range.
38379	PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
38380
38381	// The number of secondary IP addresses to assign to the network interface.
38382	// You can't specify this parameter when also specifying private IP addresses.
38383	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
38384}
38385
38386// String returns the string representation
38387func (s AssignPrivateIpAddressesInput) String() string {
38388	return awsutil.Prettify(s)
38389}
38390
38391// GoString returns the string representation
38392func (s AssignPrivateIpAddressesInput) GoString() string {
38393	return s.String()
38394}
38395
38396// Validate inspects the fields of the type to determine if they are valid.
38397func (s *AssignPrivateIpAddressesInput) Validate() error {
38398	invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
38399	if s.NetworkInterfaceId == nil {
38400		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
38401	}
38402
38403	if invalidParams.Len() > 0 {
38404		return invalidParams
38405	}
38406	return nil
38407}
38408
38409// SetAllowReassignment sets the AllowReassignment field's value.
38410func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
38411	s.AllowReassignment = &v
38412	return s
38413}
38414
38415// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
38416func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
38417	s.NetworkInterfaceId = &v
38418	return s
38419}
38420
38421// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
38422func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
38423	s.PrivateIpAddresses = v
38424	return s
38425}
38426
38427// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
38428func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
38429	s.SecondaryPrivateIpAddressCount = &v
38430	return s
38431}
38432
38433type AssignPrivateIpAddressesOutput struct {
38434	_ struct{} `type:"structure"`
38435
38436	// The private IP addresses assigned to the network interface.
38437	AssignedPrivateIpAddresses []*AssignedPrivateIpAddress `locationName:"assignedPrivateIpAddressesSet" locationNameList:"item" type:"list"`
38438
38439	// The ID of the network interface.
38440	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
38441}
38442
38443// String returns the string representation
38444func (s AssignPrivateIpAddressesOutput) String() string {
38445	return awsutil.Prettify(s)
38446}
38447
38448// GoString returns the string representation
38449func (s AssignPrivateIpAddressesOutput) GoString() string {
38450	return s.String()
38451}
38452
38453// SetAssignedPrivateIpAddresses sets the AssignedPrivateIpAddresses field's value.
38454func (s *AssignPrivateIpAddressesOutput) SetAssignedPrivateIpAddresses(v []*AssignedPrivateIpAddress) *AssignPrivateIpAddressesOutput {
38455	s.AssignedPrivateIpAddresses = v
38456	return s
38457}
38458
38459// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
38460func (s *AssignPrivateIpAddressesOutput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesOutput {
38461	s.NetworkInterfaceId = &v
38462	return s
38463}
38464
38465// Describes the private IP addresses assigned to a network interface.
38466type AssignedPrivateIpAddress struct {
38467	_ struct{} `type:"structure"`
38468
38469	// The private IP address assigned to the network interface.
38470	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
38471}
38472
38473// String returns the string representation
38474func (s AssignedPrivateIpAddress) String() string {
38475	return awsutil.Prettify(s)
38476}
38477
38478// GoString returns the string representation
38479func (s AssignedPrivateIpAddress) GoString() string {
38480	return s.String()
38481}
38482
38483// SetPrivateIpAddress sets the PrivateIpAddress field's value.
38484func (s *AssignedPrivateIpAddress) SetPrivateIpAddress(v string) *AssignedPrivateIpAddress {
38485	s.PrivateIpAddress = &v
38486	return s
38487}
38488
38489type AssociateAddressInput struct {
38490	_ struct{} `type:"structure"`
38491
38492	// [EC2-VPC] The allocation ID. This is required for EC2-VPC.
38493	AllocationId *string `type:"string"`
38494
38495	// [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
38496	// IP address that is already associated with an instance or network interface
38497	// to be reassociated with the specified instance or network interface. Otherwise,
38498	// the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
38499	// automatic, therefore you can specify false to ensure the operation fails
38500	// if the Elastic IP address is already associated with another resource.
38501	AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
38502
38503	// Checks whether you have the required permissions for the action, without
38504	// actually making the request, and provides an error response. If you have
38505	// the required permissions, the error response is DryRunOperation. Otherwise,
38506	// it is UnauthorizedOperation.
38507	DryRun *bool `locationName:"dryRun" type:"boolean"`
38508
38509	// The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
38510	// can specify either the instance ID or the network interface ID, but not both.
38511	// The operation fails if you specify an instance ID unless exactly one network
38512	// interface is attached.
38513	InstanceId *string `type:"string"`
38514
38515	// [EC2-VPC] The ID of the network interface. If the instance has more than
38516	// one network interface, you must specify a network interface ID.
38517	//
38518	// For EC2-VPC, you can specify either the instance ID or the network interface
38519	// ID, but not both.
38520	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
38521
38522	// [EC2-VPC] The primary or secondary private IP address to associate with the
38523	// Elastic IP address. If no private IP address is specified, the Elastic IP
38524	// address is associated with the primary private IP address.
38525	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
38526
38527	// The Elastic IP address to associate with the instance. This is required for
38528	// EC2-Classic.
38529	PublicIp *string `type:"string"`
38530}
38531
38532// String returns the string representation
38533func (s AssociateAddressInput) String() string {
38534	return awsutil.Prettify(s)
38535}
38536
38537// GoString returns the string representation
38538func (s AssociateAddressInput) GoString() string {
38539	return s.String()
38540}
38541
38542// SetAllocationId sets the AllocationId field's value.
38543func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
38544	s.AllocationId = &v
38545	return s
38546}
38547
38548// SetAllowReassociation sets the AllowReassociation field's value.
38549func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
38550	s.AllowReassociation = &v
38551	return s
38552}
38553
38554// SetDryRun sets the DryRun field's value.
38555func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
38556	s.DryRun = &v
38557	return s
38558}
38559
38560// SetInstanceId sets the InstanceId field's value.
38561func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
38562	s.InstanceId = &v
38563	return s
38564}
38565
38566// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
38567func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
38568	s.NetworkInterfaceId = &v
38569	return s
38570}
38571
38572// SetPrivateIpAddress sets the PrivateIpAddress field's value.
38573func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
38574	s.PrivateIpAddress = &v
38575	return s
38576}
38577
38578// SetPublicIp sets the PublicIp field's value.
38579func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
38580	s.PublicIp = &v
38581	return s
38582}
38583
38584type AssociateAddressOutput struct {
38585	_ struct{} `type:"structure"`
38586
38587	// [EC2-VPC] The ID that represents the association of the Elastic IP address
38588	// with an instance.
38589	AssociationId *string `locationName:"associationId" type:"string"`
38590}
38591
38592// String returns the string representation
38593func (s AssociateAddressOutput) String() string {
38594	return awsutil.Prettify(s)
38595}
38596
38597// GoString returns the string representation
38598func (s AssociateAddressOutput) GoString() string {
38599	return s.String()
38600}
38601
38602// SetAssociationId sets the AssociationId field's value.
38603func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
38604	s.AssociationId = &v
38605	return s
38606}
38607
38608type AssociateClientVpnTargetNetworkInput struct {
38609	_ struct{} `type:"structure"`
38610
38611	// Unique, case-sensitive identifier that you provide to ensure the idempotency
38612	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
38613	ClientToken *string `type:"string" idempotencyToken:"true"`
38614
38615	// The ID of the Client VPN endpoint.
38616	//
38617	// ClientVpnEndpointId is a required field
38618	ClientVpnEndpointId *string `type:"string" required:"true"`
38619
38620	// Checks whether you have the required permissions for the action, without
38621	// actually making the request, and provides an error response. If you have
38622	// the required permissions, the error response is DryRunOperation. Otherwise,
38623	// it is UnauthorizedOperation.
38624	DryRun *bool `type:"boolean"`
38625
38626	// The ID of the subnet to associate with the Client VPN endpoint.
38627	//
38628	// SubnetId is a required field
38629	SubnetId *string `type:"string" required:"true"`
38630}
38631
38632// String returns the string representation
38633func (s AssociateClientVpnTargetNetworkInput) String() string {
38634	return awsutil.Prettify(s)
38635}
38636
38637// GoString returns the string representation
38638func (s AssociateClientVpnTargetNetworkInput) GoString() string {
38639	return s.String()
38640}
38641
38642// Validate inspects the fields of the type to determine if they are valid.
38643func (s *AssociateClientVpnTargetNetworkInput) Validate() error {
38644	invalidParams := request.ErrInvalidParams{Context: "AssociateClientVpnTargetNetworkInput"}
38645	if s.ClientVpnEndpointId == nil {
38646		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
38647	}
38648	if s.SubnetId == nil {
38649		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
38650	}
38651
38652	if invalidParams.Len() > 0 {
38653		return invalidParams
38654	}
38655	return nil
38656}
38657
38658// SetClientToken sets the ClientToken field's value.
38659func (s *AssociateClientVpnTargetNetworkInput) SetClientToken(v string) *AssociateClientVpnTargetNetworkInput {
38660	s.ClientToken = &v
38661	return s
38662}
38663
38664// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
38665func (s *AssociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *AssociateClientVpnTargetNetworkInput {
38666	s.ClientVpnEndpointId = &v
38667	return s
38668}
38669
38670// SetDryRun sets the DryRun field's value.
38671func (s *AssociateClientVpnTargetNetworkInput) SetDryRun(v bool) *AssociateClientVpnTargetNetworkInput {
38672	s.DryRun = &v
38673	return s
38674}
38675
38676// SetSubnetId sets the SubnetId field's value.
38677func (s *AssociateClientVpnTargetNetworkInput) SetSubnetId(v string) *AssociateClientVpnTargetNetworkInput {
38678	s.SubnetId = &v
38679	return s
38680}
38681
38682type AssociateClientVpnTargetNetworkOutput struct {
38683	_ struct{} `type:"structure"`
38684
38685	// The unique ID of the target network association.
38686	AssociationId *string `locationName:"associationId" type:"string"`
38687
38688	// The current state of the target network association.
38689	Status *AssociationStatus `locationName:"status" type:"structure"`
38690}
38691
38692// String returns the string representation
38693func (s AssociateClientVpnTargetNetworkOutput) String() string {
38694	return awsutil.Prettify(s)
38695}
38696
38697// GoString returns the string representation
38698func (s AssociateClientVpnTargetNetworkOutput) GoString() string {
38699	return s.String()
38700}
38701
38702// SetAssociationId sets the AssociationId field's value.
38703func (s *AssociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *AssociateClientVpnTargetNetworkOutput {
38704	s.AssociationId = &v
38705	return s
38706}
38707
38708// SetStatus sets the Status field's value.
38709func (s *AssociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *AssociateClientVpnTargetNetworkOutput {
38710	s.Status = v
38711	return s
38712}
38713
38714type AssociateDhcpOptionsInput struct {
38715	_ struct{} `type:"structure"`
38716
38717	// The ID of the DHCP options set, or default to associate no DHCP options with
38718	// the VPC.
38719	//
38720	// DhcpOptionsId is a required field
38721	DhcpOptionsId *string `type:"string" required:"true"`
38722
38723	// Checks whether you have the required permissions for the action, without
38724	// actually making the request, and provides an error response. If you have
38725	// the required permissions, the error response is DryRunOperation. Otherwise,
38726	// it is UnauthorizedOperation.
38727	DryRun *bool `locationName:"dryRun" type:"boolean"`
38728
38729	// The ID of the VPC.
38730	//
38731	// VpcId is a required field
38732	VpcId *string `type:"string" required:"true"`
38733}
38734
38735// String returns the string representation
38736func (s AssociateDhcpOptionsInput) String() string {
38737	return awsutil.Prettify(s)
38738}
38739
38740// GoString returns the string representation
38741func (s AssociateDhcpOptionsInput) GoString() string {
38742	return s.String()
38743}
38744
38745// Validate inspects the fields of the type to determine if they are valid.
38746func (s *AssociateDhcpOptionsInput) Validate() error {
38747	invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
38748	if s.DhcpOptionsId == nil {
38749		invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
38750	}
38751	if s.VpcId == nil {
38752		invalidParams.Add(request.NewErrParamRequired("VpcId"))
38753	}
38754
38755	if invalidParams.Len() > 0 {
38756		return invalidParams
38757	}
38758	return nil
38759}
38760
38761// SetDhcpOptionsId sets the DhcpOptionsId field's value.
38762func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
38763	s.DhcpOptionsId = &v
38764	return s
38765}
38766
38767// SetDryRun sets the DryRun field's value.
38768func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
38769	s.DryRun = &v
38770	return s
38771}
38772
38773// SetVpcId sets the VpcId field's value.
38774func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
38775	s.VpcId = &v
38776	return s
38777}
38778
38779type AssociateDhcpOptionsOutput struct {
38780	_ struct{} `type:"structure"`
38781}
38782
38783// String returns the string representation
38784func (s AssociateDhcpOptionsOutput) String() string {
38785	return awsutil.Prettify(s)
38786}
38787
38788// GoString returns the string representation
38789func (s AssociateDhcpOptionsOutput) GoString() string {
38790	return s.String()
38791}
38792
38793type AssociateIamInstanceProfileInput struct {
38794	_ struct{} `type:"structure"`
38795
38796	// The IAM instance profile.
38797	//
38798	// IamInstanceProfile is a required field
38799	IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
38800
38801	// The ID of the instance.
38802	//
38803	// InstanceId is a required field
38804	InstanceId *string `type:"string" required:"true"`
38805}
38806
38807// String returns the string representation
38808func (s AssociateIamInstanceProfileInput) String() string {
38809	return awsutil.Prettify(s)
38810}
38811
38812// GoString returns the string representation
38813func (s AssociateIamInstanceProfileInput) GoString() string {
38814	return s.String()
38815}
38816
38817// Validate inspects the fields of the type to determine if they are valid.
38818func (s *AssociateIamInstanceProfileInput) Validate() error {
38819	invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
38820	if s.IamInstanceProfile == nil {
38821		invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
38822	}
38823	if s.InstanceId == nil {
38824		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
38825	}
38826
38827	if invalidParams.Len() > 0 {
38828		return invalidParams
38829	}
38830	return nil
38831}
38832
38833// SetIamInstanceProfile sets the IamInstanceProfile field's value.
38834func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
38835	s.IamInstanceProfile = v
38836	return s
38837}
38838
38839// SetInstanceId sets the InstanceId field's value.
38840func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
38841	s.InstanceId = &v
38842	return s
38843}
38844
38845type AssociateIamInstanceProfileOutput struct {
38846	_ struct{} `type:"structure"`
38847
38848	// Information about the IAM instance profile association.
38849	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
38850}
38851
38852// String returns the string representation
38853func (s AssociateIamInstanceProfileOutput) String() string {
38854	return awsutil.Prettify(s)
38855}
38856
38857// GoString returns the string representation
38858func (s AssociateIamInstanceProfileOutput) GoString() string {
38859	return s.String()
38860}
38861
38862// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
38863func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
38864	s.IamInstanceProfileAssociation = v
38865	return s
38866}
38867
38868type AssociateRouteTableInput struct {
38869	_ struct{} `type:"structure"`
38870
38871	// Checks whether you have the required permissions for the action, without
38872	// actually making the request, and provides an error response. If you have
38873	// the required permissions, the error response is DryRunOperation. Otherwise,
38874	// it is UnauthorizedOperation.
38875	DryRun *bool `locationName:"dryRun" type:"boolean"`
38876
38877	// The ID of the internet gateway or virtual private gateway.
38878	GatewayId *string `type:"string"`
38879
38880	// The ID of the route table.
38881	//
38882	// RouteTableId is a required field
38883	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
38884
38885	// The ID of the subnet.
38886	SubnetId *string `locationName:"subnetId" type:"string"`
38887}
38888
38889// String returns the string representation
38890func (s AssociateRouteTableInput) String() string {
38891	return awsutil.Prettify(s)
38892}
38893
38894// GoString returns the string representation
38895func (s AssociateRouteTableInput) GoString() string {
38896	return s.String()
38897}
38898
38899// Validate inspects the fields of the type to determine if they are valid.
38900func (s *AssociateRouteTableInput) Validate() error {
38901	invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
38902	if s.RouteTableId == nil {
38903		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
38904	}
38905
38906	if invalidParams.Len() > 0 {
38907		return invalidParams
38908	}
38909	return nil
38910}
38911
38912// SetDryRun sets the DryRun field's value.
38913func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
38914	s.DryRun = &v
38915	return s
38916}
38917
38918// SetGatewayId sets the GatewayId field's value.
38919func (s *AssociateRouteTableInput) SetGatewayId(v string) *AssociateRouteTableInput {
38920	s.GatewayId = &v
38921	return s
38922}
38923
38924// SetRouteTableId sets the RouteTableId field's value.
38925func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
38926	s.RouteTableId = &v
38927	return s
38928}
38929
38930// SetSubnetId sets the SubnetId field's value.
38931func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
38932	s.SubnetId = &v
38933	return s
38934}
38935
38936type AssociateRouteTableOutput struct {
38937	_ struct{} `type:"structure"`
38938
38939	// The route table association ID. This ID is required for disassociating the
38940	// route table.
38941	AssociationId *string `locationName:"associationId" type:"string"`
38942
38943	// The state of the association.
38944	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
38945}
38946
38947// String returns the string representation
38948func (s AssociateRouteTableOutput) String() string {
38949	return awsutil.Prettify(s)
38950}
38951
38952// GoString returns the string representation
38953func (s AssociateRouteTableOutput) GoString() string {
38954	return s.String()
38955}
38956
38957// SetAssociationId sets the AssociationId field's value.
38958func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
38959	s.AssociationId = &v
38960	return s
38961}
38962
38963// SetAssociationState sets the AssociationState field's value.
38964func (s *AssociateRouteTableOutput) SetAssociationState(v *RouteTableAssociationState) *AssociateRouteTableOutput {
38965	s.AssociationState = v
38966	return s
38967}
38968
38969type AssociateSubnetCidrBlockInput struct {
38970	_ struct{} `type:"structure"`
38971
38972	// The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
38973	//
38974	// Ipv6CidrBlock is a required field
38975	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
38976
38977	// The ID of your subnet.
38978	//
38979	// SubnetId is a required field
38980	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
38981}
38982
38983// String returns the string representation
38984func (s AssociateSubnetCidrBlockInput) String() string {
38985	return awsutil.Prettify(s)
38986}
38987
38988// GoString returns the string representation
38989func (s AssociateSubnetCidrBlockInput) GoString() string {
38990	return s.String()
38991}
38992
38993// Validate inspects the fields of the type to determine if they are valid.
38994func (s *AssociateSubnetCidrBlockInput) Validate() error {
38995	invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
38996	if s.Ipv6CidrBlock == nil {
38997		invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
38998	}
38999	if s.SubnetId == nil {
39000		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
39001	}
39002
39003	if invalidParams.Len() > 0 {
39004		return invalidParams
39005	}
39006	return nil
39007}
39008
39009// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
39010func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
39011	s.Ipv6CidrBlock = &v
39012	return s
39013}
39014
39015// SetSubnetId sets the SubnetId field's value.
39016func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
39017	s.SubnetId = &v
39018	return s
39019}
39020
39021type AssociateSubnetCidrBlockOutput struct {
39022	_ struct{} `type:"structure"`
39023
39024	// Information about the IPv6 CIDR block association.
39025	Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
39026
39027	// The ID of the subnet.
39028	SubnetId *string `locationName:"subnetId" type:"string"`
39029}
39030
39031// String returns the string representation
39032func (s AssociateSubnetCidrBlockOutput) String() string {
39033	return awsutil.Prettify(s)
39034}
39035
39036// GoString returns the string representation
39037func (s AssociateSubnetCidrBlockOutput) GoString() string {
39038	return s.String()
39039}
39040
39041// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
39042func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
39043	s.Ipv6CidrBlockAssociation = v
39044	return s
39045}
39046
39047// SetSubnetId sets the SubnetId field's value.
39048func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
39049	s.SubnetId = &v
39050	return s
39051}
39052
39053type AssociateTransitGatewayMulticastDomainInput struct {
39054	_ struct{} `type:"structure"`
39055
39056	// Checks whether you have the required permissions for the action, without
39057	// actually making the request, and provides an error response. If you have
39058	// the required permissions, the error response is DryRunOperation. Otherwise,
39059	// it is UnauthorizedOperation.
39060	DryRun *bool `type:"boolean"`
39061
39062	// The IDs of the subnets to associate with the transit gateway multicast domain.
39063	SubnetIds []*string `locationNameList:"item" type:"list"`
39064
39065	// The ID of the transit gateway attachment to associate with the transit gateway
39066	// multicast domain.
39067	TransitGatewayAttachmentId *string `type:"string"`
39068
39069	// The ID of the transit gateway multicast domain.
39070	TransitGatewayMulticastDomainId *string `type:"string"`
39071}
39072
39073// String returns the string representation
39074func (s AssociateTransitGatewayMulticastDomainInput) String() string {
39075	return awsutil.Prettify(s)
39076}
39077
39078// GoString returns the string representation
39079func (s AssociateTransitGatewayMulticastDomainInput) GoString() string {
39080	return s.String()
39081}
39082
39083// SetDryRun sets the DryRun field's value.
39084func (s *AssociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *AssociateTransitGatewayMulticastDomainInput {
39085	s.DryRun = &v
39086	return s
39087}
39088
39089// SetSubnetIds sets the SubnetIds field's value.
39090func (s *AssociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *AssociateTransitGatewayMulticastDomainInput {
39091	s.SubnetIds = v
39092	return s
39093}
39094
39095// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
39096func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayMulticastDomainInput {
39097	s.TransitGatewayAttachmentId = &v
39098	return s
39099}
39100
39101// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
39102func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *AssociateTransitGatewayMulticastDomainInput {
39103	s.TransitGatewayMulticastDomainId = &v
39104	return s
39105}
39106
39107type AssociateTransitGatewayMulticastDomainOutput struct {
39108	_ struct{} `type:"structure"`
39109
39110	// Information about the transit gateway multicast domain associations.
39111	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
39112}
39113
39114// String returns the string representation
39115func (s AssociateTransitGatewayMulticastDomainOutput) String() string {
39116	return awsutil.Prettify(s)
39117}
39118
39119// GoString returns the string representation
39120func (s AssociateTransitGatewayMulticastDomainOutput) GoString() string {
39121	return s.String()
39122}
39123
39124// SetAssociations sets the Associations field's value.
39125func (s *AssociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *AssociateTransitGatewayMulticastDomainOutput {
39126	s.Associations = v
39127	return s
39128}
39129
39130type AssociateTransitGatewayRouteTableInput struct {
39131	_ struct{} `type:"structure"`
39132
39133	// Checks whether you have the required permissions for the action, without
39134	// actually making the request, and provides an error response. If you have
39135	// the required permissions, the error response is DryRunOperation. Otherwise,
39136	// it is UnauthorizedOperation.
39137	DryRun *bool `type:"boolean"`
39138
39139	// The ID of the attachment.
39140	//
39141	// TransitGatewayAttachmentId is a required field
39142	TransitGatewayAttachmentId *string `type:"string" required:"true"`
39143
39144	// The ID of the transit gateway route table.
39145	//
39146	// TransitGatewayRouteTableId is a required field
39147	TransitGatewayRouteTableId *string `type:"string" required:"true"`
39148}
39149
39150// String returns the string representation
39151func (s AssociateTransitGatewayRouteTableInput) String() string {
39152	return awsutil.Prettify(s)
39153}
39154
39155// GoString returns the string representation
39156func (s AssociateTransitGatewayRouteTableInput) GoString() string {
39157	return s.String()
39158}
39159
39160// Validate inspects the fields of the type to determine if they are valid.
39161func (s *AssociateTransitGatewayRouteTableInput) Validate() error {
39162	invalidParams := request.ErrInvalidParams{Context: "AssociateTransitGatewayRouteTableInput"}
39163	if s.TransitGatewayAttachmentId == nil {
39164		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
39165	}
39166	if s.TransitGatewayRouteTableId == nil {
39167		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
39168	}
39169
39170	if invalidParams.Len() > 0 {
39171		return invalidParams
39172	}
39173	return nil
39174}
39175
39176// SetDryRun sets the DryRun field's value.
39177func (s *AssociateTransitGatewayRouteTableInput) SetDryRun(v bool) *AssociateTransitGatewayRouteTableInput {
39178	s.DryRun = &v
39179	return s
39180}
39181
39182// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
39183func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayRouteTableInput {
39184	s.TransitGatewayAttachmentId = &v
39185	return s
39186}
39187
39188// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
39189func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *AssociateTransitGatewayRouteTableInput {
39190	s.TransitGatewayRouteTableId = &v
39191	return s
39192}
39193
39194type AssociateTransitGatewayRouteTableOutput struct {
39195	_ struct{} `type:"structure"`
39196
39197	// The ID of the association.
39198	Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
39199}
39200
39201// String returns the string representation
39202func (s AssociateTransitGatewayRouteTableOutput) String() string {
39203	return awsutil.Prettify(s)
39204}
39205
39206// GoString returns the string representation
39207func (s AssociateTransitGatewayRouteTableOutput) GoString() string {
39208	return s.String()
39209}
39210
39211// SetAssociation sets the Association field's value.
39212func (s *AssociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *AssociateTransitGatewayRouteTableOutput {
39213	s.Association = v
39214	return s
39215}
39216
39217type AssociateVpcCidrBlockInput struct {
39218	_ struct{} `type:"structure"`
39219
39220	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
39221	// the VPC. You cannot specify the range of IPv6 addresses, or the size of the
39222	// CIDR block.
39223	AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
39224
39225	// An IPv4 CIDR block to associate with the VPC.
39226	CidrBlock *string `type:"string"`
39227
39228	// An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool
39229	// in the request.
39230	//
39231	// To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
39232	Ipv6CidrBlock *string `type:"string"`
39233
39234	// The name of the location from which we advertise the IPV6 CIDR block. Use
39235	// this parameter to limit the CiDR block to this location.
39236	//
39237	// You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
39238	//
39239	// You can have one IPv6 CIDR block association per network border group.
39240	Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
39241
39242	// The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
39243	Ipv6Pool *string `type:"string"`
39244
39245	// The ID of the VPC.
39246	//
39247	// VpcId is a required field
39248	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
39249}
39250
39251// String returns the string representation
39252func (s AssociateVpcCidrBlockInput) String() string {
39253	return awsutil.Prettify(s)
39254}
39255
39256// GoString returns the string representation
39257func (s AssociateVpcCidrBlockInput) GoString() string {
39258	return s.String()
39259}
39260
39261// Validate inspects the fields of the type to determine if they are valid.
39262func (s *AssociateVpcCidrBlockInput) Validate() error {
39263	invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
39264	if s.VpcId == nil {
39265		invalidParams.Add(request.NewErrParamRequired("VpcId"))
39266	}
39267
39268	if invalidParams.Len() > 0 {
39269		return invalidParams
39270	}
39271	return nil
39272}
39273
39274// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
39275func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
39276	s.AmazonProvidedIpv6CidrBlock = &v
39277	return s
39278}
39279
39280// SetCidrBlock sets the CidrBlock field's value.
39281func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput {
39282	s.CidrBlock = &v
39283	return s
39284}
39285
39286// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
39287func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateVpcCidrBlockInput {
39288	s.Ipv6CidrBlock = &v
39289	return s
39290}
39291
39292// SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
39293func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *AssociateVpcCidrBlockInput {
39294	s.Ipv6CidrBlockNetworkBorderGroup = &v
39295	return s
39296}
39297
39298// SetIpv6Pool sets the Ipv6Pool field's value.
39299func (s *AssociateVpcCidrBlockInput) SetIpv6Pool(v string) *AssociateVpcCidrBlockInput {
39300	s.Ipv6Pool = &v
39301	return s
39302}
39303
39304// SetVpcId sets the VpcId field's value.
39305func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
39306	s.VpcId = &v
39307	return s
39308}
39309
39310type AssociateVpcCidrBlockOutput struct {
39311	_ struct{} `type:"structure"`
39312
39313	// Information about the IPv4 CIDR block association.
39314	CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
39315
39316	// Information about the IPv6 CIDR block association.
39317	Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
39318
39319	// The ID of the VPC.
39320	VpcId *string `locationName:"vpcId" type:"string"`
39321}
39322
39323// String returns the string representation
39324func (s AssociateVpcCidrBlockOutput) String() string {
39325	return awsutil.Prettify(s)
39326}
39327
39328// GoString returns the string representation
39329func (s AssociateVpcCidrBlockOutput) GoString() string {
39330	return s.String()
39331}
39332
39333// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
39334func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput {
39335	s.CidrBlockAssociation = v
39336	return s
39337}
39338
39339// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
39340func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
39341	s.Ipv6CidrBlockAssociation = v
39342	return s
39343}
39344
39345// SetVpcId sets the VpcId field's value.
39346func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
39347	s.VpcId = &v
39348	return s
39349}
39350
39351// Describes a target network that is associated with a Client VPN endpoint.
39352// A target network is a subnet in a VPC.
39353type AssociatedTargetNetwork struct {
39354	_ struct{} `type:"structure"`
39355
39356	// The ID of the subnet.
39357	NetworkId *string `locationName:"networkId" type:"string"`
39358
39359	// The target network type.
39360	NetworkType *string `locationName:"networkType" type:"string" enum:"AssociatedNetworkType"`
39361}
39362
39363// String returns the string representation
39364func (s AssociatedTargetNetwork) String() string {
39365	return awsutil.Prettify(s)
39366}
39367
39368// GoString returns the string representation
39369func (s AssociatedTargetNetwork) GoString() string {
39370	return s.String()
39371}
39372
39373// SetNetworkId sets the NetworkId field's value.
39374func (s *AssociatedTargetNetwork) SetNetworkId(v string) *AssociatedTargetNetwork {
39375	s.NetworkId = &v
39376	return s
39377}
39378
39379// SetNetworkType sets the NetworkType field's value.
39380func (s *AssociatedTargetNetwork) SetNetworkType(v string) *AssociatedTargetNetwork {
39381	s.NetworkType = &v
39382	return s
39383}
39384
39385// Describes the state of a target network association.
39386type AssociationStatus struct {
39387	_ struct{} `type:"structure"`
39388
39389	// The state of the target network association.
39390	Code *string `locationName:"code" type:"string" enum:"AssociationStatusCode"`
39391
39392	// A message about the status of the target network association, if applicable.
39393	Message *string `locationName:"message" type:"string"`
39394}
39395
39396// String returns the string representation
39397func (s AssociationStatus) String() string {
39398	return awsutil.Prettify(s)
39399}
39400
39401// GoString returns the string representation
39402func (s AssociationStatus) GoString() string {
39403	return s.String()
39404}
39405
39406// SetCode sets the Code field's value.
39407func (s *AssociationStatus) SetCode(v string) *AssociationStatus {
39408	s.Code = &v
39409	return s
39410}
39411
39412// SetMessage sets the Message field's value.
39413func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
39414	s.Message = &v
39415	return s
39416}
39417
39418type AttachClassicLinkVpcInput struct {
39419	_ struct{} `type:"structure"`
39420
39421	// Checks whether you have the required permissions for the action, without
39422	// actually making the request, and provides an error response. If you have
39423	// the required permissions, the error response is DryRunOperation. Otherwise,
39424	// it is UnauthorizedOperation.
39425	DryRun *bool `locationName:"dryRun" type:"boolean"`
39426
39427	// The ID of one or more of the VPC's security groups. You cannot specify security
39428	// groups from a different VPC.
39429	//
39430	// Groups is a required field
39431	Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
39432
39433	// The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
39434	//
39435	// InstanceId is a required field
39436	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
39437
39438	// The ID of a ClassicLink-enabled VPC.
39439	//
39440	// VpcId is a required field
39441	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
39442}
39443
39444// String returns the string representation
39445func (s AttachClassicLinkVpcInput) String() string {
39446	return awsutil.Prettify(s)
39447}
39448
39449// GoString returns the string representation
39450func (s AttachClassicLinkVpcInput) GoString() string {
39451	return s.String()
39452}
39453
39454// Validate inspects the fields of the type to determine if they are valid.
39455func (s *AttachClassicLinkVpcInput) Validate() error {
39456	invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
39457	if s.Groups == nil {
39458		invalidParams.Add(request.NewErrParamRequired("Groups"))
39459	}
39460	if s.InstanceId == nil {
39461		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
39462	}
39463	if s.VpcId == nil {
39464		invalidParams.Add(request.NewErrParamRequired("VpcId"))
39465	}
39466
39467	if invalidParams.Len() > 0 {
39468		return invalidParams
39469	}
39470	return nil
39471}
39472
39473// SetDryRun sets the DryRun field's value.
39474func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
39475	s.DryRun = &v
39476	return s
39477}
39478
39479// SetGroups sets the Groups field's value.
39480func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
39481	s.Groups = v
39482	return s
39483}
39484
39485// SetInstanceId sets the InstanceId field's value.
39486func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
39487	s.InstanceId = &v
39488	return s
39489}
39490
39491// SetVpcId sets the VpcId field's value.
39492func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
39493	s.VpcId = &v
39494	return s
39495}
39496
39497type AttachClassicLinkVpcOutput struct {
39498	_ struct{} `type:"structure"`
39499
39500	// Returns true if the request succeeds; otherwise, it returns an error.
39501	Return *bool `locationName:"return" type:"boolean"`
39502}
39503
39504// String returns the string representation
39505func (s AttachClassicLinkVpcOutput) String() string {
39506	return awsutil.Prettify(s)
39507}
39508
39509// GoString returns the string representation
39510func (s AttachClassicLinkVpcOutput) GoString() string {
39511	return s.String()
39512}
39513
39514// SetReturn sets the Return field's value.
39515func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
39516	s.Return = &v
39517	return s
39518}
39519
39520type AttachInternetGatewayInput struct {
39521	_ struct{} `type:"structure"`
39522
39523	// Checks whether you have the required permissions for the action, without
39524	// actually making the request, and provides an error response. If you have
39525	// the required permissions, the error response is DryRunOperation. Otherwise,
39526	// it is UnauthorizedOperation.
39527	DryRun *bool `locationName:"dryRun" type:"boolean"`
39528
39529	// The ID of the internet gateway.
39530	//
39531	// InternetGatewayId is a required field
39532	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
39533
39534	// The ID of the VPC.
39535	//
39536	// VpcId is a required field
39537	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
39538}
39539
39540// String returns the string representation
39541func (s AttachInternetGatewayInput) String() string {
39542	return awsutil.Prettify(s)
39543}
39544
39545// GoString returns the string representation
39546func (s AttachInternetGatewayInput) GoString() string {
39547	return s.String()
39548}
39549
39550// Validate inspects the fields of the type to determine if they are valid.
39551func (s *AttachInternetGatewayInput) Validate() error {
39552	invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
39553	if s.InternetGatewayId == nil {
39554		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
39555	}
39556	if s.VpcId == nil {
39557		invalidParams.Add(request.NewErrParamRequired("VpcId"))
39558	}
39559
39560	if invalidParams.Len() > 0 {
39561		return invalidParams
39562	}
39563	return nil
39564}
39565
39566// SetDryRun sets the DryRun field's value.
39567func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
39568	s.DryRun = &v
39569	return s
39570}
39571
39572// SetInternetGatewayId sets the InternetGatewayId field's value.
39573func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
39574	s.InternetGatewayId = &v
39575	return s
39576}
39577
39578// SetVpcId sets the VpcId field's value.
39579func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
39580	s.VpcId = &v
39581	return s
39582}
39583
39584type AttachInternetGatewayOutput struct {
39585	_ struct{} `type:"structure"`
39586}
39587
39588// String returns the string representation
39589func (s AttachInternetGatewayOutput) String() string {
39590	return awsutil.Prettify(s)
39591}
39592
39593// GoString returns the string representation
39594func (s AttachInternetGatewayOutput) GoString() string {
39595	return s.String()
39596}
39597
39598// Contains the parameters for AttachNetworkInterface.
39599type AttachNetworkInterfaceInput struct {
39600	_ struct{} `type:"structure"`
39601
39602	// The index of the device for the network interface attachment.
39603	//
39604	// DeviceIndex is a required field
39605	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
39606
39607	// Checks whether you have the required permissions for the action, without
39608	// actually making the request, and provides an error response. If you have
39609	// the required permissions, the error response is DryRunOperation. Otherwise,
39610	// it is UnauthorizedOperation.
39611	DryRun *bool `locationName:"dryRun" type:"boolean"`
39612
39613	// The ID of the instance.
39614	//
39615	// InstanceId is a required field
39616	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
39617
39618	// The ID of the network interface.
39619	//
39620	// NetworkInterfaceId is a required field
39621	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
39622}
39623
39624// String returns the string representation
39625func (s AttachNetworkInterfaceInput) String() string {
39626	return awsutil.Prettify(s)
39627}
39628
39629// GoString returns the string representation
39630func (s AttachNetworkInterfaceInput) GoString() string {
39631	return s.String()
39632}
39633
39634// Validate inspects the fields of the type to determine if they are valid.
39635func (s *AttachNetworkInterfaceInput) Validate() error {
39636	invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
39637	if s.DeviceIndex == nil {
39638		invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
39639	}
39640	if s.InstanceId == nil {
39641		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
39642	}
39643	if s.NetworkInterfaceId == nil {
39644		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
39645	}
39646
39647	if invalidParams.Len() > 0 {
39648		return invalidParams
39649	}
39650	return nil
39651}
39652
39653// SetDeviceIndex sets the DeviceIndex field's value.
39654func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
39655	s.DeviceIndex = &v
39656	return s
39657}
39658
39659// SetDryRun sets the DryRun field's value.
39660func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
39661	s.DryRun = &v
39662	return s
39663}
39664
39665// SetInstanceId sets the InstanceId field's value.
39666func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
39667	s.InstanceId = &v
39668	return s
39669}
39670
39671// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
39672func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
39673	s.NetworkInterfaceId = &v
39674	return s
39675}
39676
39677// Contains the output of AttachNetworkInterface.
39678type AttachNetworkInterfaceOutput struct {
39679	_ struct{} `type:"structure"`
39680
39681	// The ID of the network interface attachment.
39682	AttachmentId *string `locationName:"attachmentId" type:"string"`
39683}
39684
39685// String returns the string representation
39686func (s AttachNetworkInterfaceOutput) String() string {
39687	return awsutil.Prettify(s)
39688}
39689
39690// GoString returns the string representation
39691func (s AttachNetworkInterfaceOutput) GoString() string {
39692	return s.String()
39693}
39694
39695// SetAttachmentId sets the AttachmentId field's value.
39696func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
39697	s.AttachmentId = &v
39698	return s
39699}
39700
39701type AttachVolumeInput struct {
39702	_ struct{} `type:"structure"`
39703
39704	// The device name (for example, /dev/sdh or xvdh).
39705	//
39706	// Device is a required field
39707	Device *string `type:"string" required:"true"`
39708
39709	// Checks whether you have the required permissions for the action, without
39710	// actually making the request, and provides an error response. If you have
39711	// the required permissions, the error response is DryRunOperation. Otherwise,
39712	// it is UnauthorizedOperation.
39713	DryRun *bool `locationName:"dryRun" type:"boolean"`
39714
39715	// The ID of the instance.
39716	//
39717	// InstanceId is a required field
39718	InstanceId *string `type:"string" required:"true"`
39719
39720	// The ID of the EBS volume. The volume and instance must be within the same
39721	// Availability Zone.
39722	//
39723	// VolumeId is a required field
39724	VolumeId *string `type:"string" required:"true"`
39725}
39726
39727// String returns the string representation
39728func (s AttachVolumeInput) String() string {
39729	return awsutil.Prettify(s)
39730}
39731
39732// GoString returns the string representation
39733func (s AttachVolumeInput) GoString() string {
39734	return s.String()
39735}
39736
39737// Validate inspects the fields of the type to determine if they are valid.
39738func (s *AttachVolumeInput) Validate() error {
39739	invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
39740	if s.Device == nil {
39741		invalidParams.Add(request.NewErrParamRequired("Device"))
39742	}
39743	if s.InstanceId == nil {
39744		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
39745	}
39746	if s.VolumeId == nil {
39747		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
39748	}
39749
39750	if invalidParams.Len() > 0 {
39751		return invalidParams
39752	}
39753	return nil
39754}
39755
39756// SetDevice sets the Device field's value.
39757func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
39758	s.Device = &v
39759	return s
39760}
39761
39762// SetDryRun sets the DryRun field's value.
39763func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
39764	s.DryRun = &v
39765	return s
39766}
39767
39768// SetInstanceId sets the InstanceId field's value.
39769func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
39770	s.InstanceId = &v
39771	return s
39772}
39773
39774// SetVolumeId sets the VolumeId field's value.
39775func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
39776	s.VolumeId = &v
39777	return s
39778}
39779
39780// Contains the parameters for AttachVpnGateway.
39781type AttachVpnGatewayInput struct {
39782	_ struct{} `type:"structure"`
39783
39784	// Checks whether you have the required permissions for the action, without
39785	// actually making the request, and provides an error response. If you have
39786	// the required permissions, the error response is DryRunOperation. Otherwise,
39787	// it is UnauthorizedOperation.
39788	DryRun *bool `locationName:"dryRun" type:"boolean"`
39789
39790	// The ID of the VPC.
39791	//
39792	// VpcId is a required field
39793	VpcId *string `type:"string" required:"true"`
39794
39795	// The ID of the virtual private gateway.
39796	//
39797	// VpnGatewayId is a required field
39798	VpnGatewayId *string `type:"string" required:"true"`
39799}
39800
39801// String returns the string representation
39802func (s AttachVpnGatewayInput) String() string {
39803	return awsutil.Prettify(s)
39804}
39805
39806// GoString returns the string representation
39807func (s AttachVpnGatewayInput) GoString() string {
39808	return s.String()
39809}
39810
39811// Validate inspects the fields of the type to determine if they are valid.
39812func (s *AttachVpnGatewayInput) Validate() error {
39813	invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
39814	if s.VpcId == nil {
39815		invalidParams.Add(request.NewErrParamRequired("VpcId"))
39816	}
39817	if s.VpnGatewayId == nil {
39818		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
39819	}
39820
39821	if invalidParams.Len() > 0 {
39822		return invalidParams
39823	}
39824	return nil
39825}
39826
39827// SetDryRun sets the DryRun field's value.
39828func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
39829	s.DryRun = &v
39830	return s
39831}
39832
39833// SetVpcId sets the VpcId field's value.
39834func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
39835	s.VpcId = &v
39836	return s
39837}
39838
39839// SetVpnGatewayId sets the VpnGatewayId field's value.
39840func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
39841	s.VpnGatewayId = &v
39842	return s
39843}
39844
39845// Contains the output of AttachVpnGateway.
39846type AttachVpnGatewayOutput struct {
39847	_ struct{} `type:"structure"`
39848
39849	// Information about the attachment.
39850	VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
39851}
39852
39853// String returns the string representation
39854func (s AttachVpnGatewayOutput) String() string {
39855	return awsutil.Prettify(s)
39856}
39857
39858// GoString returns the string representation
39859func (s AttachVpnGatewayOutput) GoString() string {
39860	return s.String()
39861}
39862
39863// SetVpcAttachment sets the VpcAttachment field's value.
39864func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
39865	s.VpcAttachment = v
39866	return s
39867}
39868
39869// Describes a value for a resource attribute that is a Boolean value.
39870type AttributeBooleanValue struct {
39871	_ struct{} `type:"structure"`
39872
39873	// The attribute value. The valid values are true or false.
39874	Value *bool `locationName:"value" type:"boolean"`
39875}
39876
39877// String returns the string representation
39878func (s AttributeBooleanValue) String() string {
39879	return awsutil.Prettify(s)
39880}
39881
39882// GoString returns the string representation
39883func (s AttributeBooleanValue) GoString() string {
39884	return s.String()
39885}
39886
39887// SetValue sets the Value field's value.
39888func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
39889	s.Value = &v
39890	return s
39891}
39892
39893// Describes a value for a resource attribute that is a String.
39894type AttributeValue struct {
39895	_ struct{} `type:"structure"`
39896
39897	// The attribute value. The value is case-sensitive.
39898	Value *string `locationName:"value" type:"string"`
39899}
39900
39901// String returns the string representation
39902func (s AttributeValue) String() string {
39903	return awsutil.Prettify(s)
39904}
39905
39906// GoString returns the string representation
39907func (s AttributeValue) GoString() string {
39908	return s.String()
39909}
39910
39911// SetValue sets the Value field's value.
39912func (s *AttributeValue) SetValue(v string) *AttributeValue {
39913	s.Value = &v
39914	return s
39915}
39916
39917// Information about an authorization rule.
39918type AuthorizationRule struct {
39919	_ struct{} `type:"structure"`
39920
39921	// Indicates whether the authorization rule grants access to all clients.
39922	AccessAll *bool `locationName:"accessAll" type:"boolean"`
39923
39924	// The ID of the Client VPN endpoint with which the authorization rule is associated.
39925	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
39926
39927	// A brief description of the authorization rule.
39928	Description *string `locationName:"description" type:"string"`
39929
39930	// The IPv4 address range, in CIDR notation, of the network to which the authorization
39931	// rule applies.
39932	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
39933
39934	// The ID of the Active Directory group to which the authorization rule grants
39935	// access.
39936	GroupId *string `locationName:"groupId" type:"string"`
39937
39938	// The current state of the authorization rule.
39939	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
39940}
39941
39942// String returns the string representation
39943func (s AuthorizationRule) String() string {
39944	return awsutil.Prettify(s)
39945}
39946
39947// GoString returns the string representation
39948func (s AuthorizationRule) GoString() string {
39949	return s.String()
39950}
39951
39952// SetAccessAll sets the AccessAll field's value.
39953func (s *AuthorizationRule) SetAccessAll(v bool) *AuthorizationRule {
39954	s.AccessAll = &v
39955	return s
39956}
39957
39958// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
39959func (s *AuthorizationRule) SetClientVpnEndpointId(v string) *AuthorizationRule {
39960	s.ClientVpnEndpointId = &v
39961	return s
39962}
39963
39964// SetDescription sets the Description field's value.
39965func (s *AuthorizationRule) SetDescription(v string) *AuthorizationRule {
39966	s.Description = &v
39967	return s
39968}
39969
39970// SetDestinationCidr sets the DestinationCidr field's value.
39971func (s *AuthorizationRule) SetDestinationCidr(v string) *AuthorizationRule {
39972	s.DestinationCidr = &v
39973	return s
39974}
39975
39976// SetGroupId sets the GroupId field's value.
39977func (s *AuthorizationRule) SetGroupId(v string) *AuthorizationRule {
39978	s.GroupId = &v
39979	return s
39980}
39981
39982// SetStatus sets the Status field's value.
39983func (s *AuthorizationRule) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizationRule {
39984	s.Status = v
39985	return s
39986}
39987
39988type AuthorizeClientVpnIngressInput struct {
39989	_ struct{} `type:"structure"`
39990
39991	// The ID of the Active Directory group to grant access.
39992	AccessGroupId *string `type:"string"`
39993
39994	// Indicates whether to grant access to all clients. Use true to grant all clients
39995	// who successfully establish a VPN connection access to the network.
39996	AuthorizeAllGroups *bool `type:"boolean"`
39997
39998	// Unique, case-sensitive identifier that you provide to ensure the idempotency
39999	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
40000	ClientToken *string `type:"string" idempotencyToken:"true"`
40001
40002	// The ID of the Client VPN endpoint.
40003	//
40004	// ClientVpnEndpointId is a required field
40005	ClientVpnEndpointId *string `type:"string" required:"true"`
40006
40007	// A brief description of the authorization rule.
40008	Description *string `type:"string"`
40009
40010	// Checks whether you have the required permissions for the action, without
40011	// actually making the request, and provides an error response. If you have
40012	// the required permissions, the error response is DryRunOperation. Otherwise,
40013	// it is UnauthorizedOperation.
40014	DryRun *bool `type:"boolean"`
40015
40016	// The IPv4 address range, in CIDR notation, of the network for which access
40017	// is being authorized.
40018	//
40019	// TargetNetworkCidr is a required field
40020	TargetNetworkCidr *string `type:"string" required:"true"`
40021}
40022
40023// String returns the string representation
40024func (s AuthorizeClientVpnIngressInput) String() string {
40025	return awsutil.Prettify(s)
40026}
40027
40028// GoString returns the string representation
40029func (s AuthorizeClientVpnIngressInput) GoString() string {
40030	return s.String()
40031}
40032
40033// Validate inspects the fields of the type to determine if they are valid.
40034func (s *AuthorizeClientVpnIngressInput) Validate() error {
40035	invalidParams := request.ErrInvalidParams{Context: "AuthorizeClientVpnIngressInput"}
40036	if s.ClientVpnEndpointId == nil {
40037		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
40038	}
40039	if s.TargetNetworkCidr == nil {
40040		invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
40041	}
40042
40043	if invalidParams.Len() > 0 {
40044		return invalidParams
40045	}
40046	return nil
40047}
40048
40049// SetAccessGroupId sets the AccessGroupId field's value.
40050func (s *AuthorizeClientVpnIngressInput) SetAccessGroupId(v string) *AuthorizeClientVpnIngressInput {
40051	s.AccessGroupId = &v
40052	return s
40053}
40054
40055// SetAuthorizeAllGroups sets the AuthorizeAllGroups field's value.
40056func (s *AuthorizeClientVpnIngressInput) SetAuthorizeAllGroups(v bool) *AuthorizeClientVpnIngressInput {
40057	s.AuthorizeAllGroups = &v
40058	return s
40059}
40060
40061// SetClientToken sets the ClientToken field's value.
40062func (s *AuthorizeClientVpnIngressInput) SetClientToken(v string) *AuthorizeClientVpnIngressInput {
40063	s.ClientToken = &v
40064	return s
40065}
40066
40067// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
40068func (s *AuthorizeClientVpnIngressInput) SetClientVpnEndpointId(v string) *AuthorizeClientVpnIngressInput {
40069	s.ClientVpnEndpointId = &v
40070	return s
40071}
40072
40073// SetDescription sets the Description field's value.
40074func (s *AuthorizeClientVpnIngressInput) SetDescription(v string) *AuthorizeClientVpnIngressInput {
40075	s.Description = &v
40076	return s
40077}
40078
40079// SetDryRun sets the DryRun field's value.
40080func (s *AuthorizeClientVpnIngressInput) SetDryRun(v bool) *AuthorizeClientVpnIngressInput {
40081	s.DryRun = &v
40082	return s
40083}
40084
40085// SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
40086func (s *AuthorizeClientVpnIngressInput) SetTargetNetworkCidr(v string) *AuthorizeClientVpnIngressInput {
40087	s.TargetNetworkCidr = &v
40088	return s
40089}
40090
40091type AuthorizeClientVpnIngressOutput struct {
40092	_ struct{} `type:"structure"`
40093
40094	// The current state of the authorization rule.
40095	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
40096}
40097
40098// String returns the string representation
40099func (s AuthorizeClientVpnIngressOutput) String() string {
40100	return awsutil.Prettify(s)
40101}
40102
40103// GoString returns the string representation
40104func (s AuthorizeClientVpnIngressOutput) GoString() string {
40105	return s.String()
40106}
40107
40108// SetStatus sets the Status field's value.
40109func (s *AuthorizeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizeClientVpnIngressOutput {
40110	s.Status = v
40111	return s
40112}
40113
40114type AuthorizeSecurityGroupEgressInput struct {
40115	_ struct{} `type:"structure"`
40116
40117	// Not supported. Use a set of IP permissions to specify the CIDR.
40118	CidrIp *string `locationName:"cidrIp" type:"string"`
40119
40120	// Checks whether you have the required permissions for the action, without
40121	// actually making the request, and provides an error response. If you have
40122	// the required permissions, the error response is DryRunOperation. Otherwise,
40123	// it is UnauthorizedOperation.
40124	DryRun *bool `locationName:"dryRun" type:"boolean"`
40125
40126	// Not supported. Use a set of IP permissions to specify the port.
40127	FromPort *int64 `locationName:"fromPort" type:"integer"`
40128
40129	// The ID of the security group.
40130	//
40131	// GroupId is a required field
40132	GroupId *string `locationName:"groupId" type:"string" required:"true"`
40133
40134	// The sets of IP permissions. You can't specify a destination security group
40135	// and a CIDR IP address range in the same set of permissions.
40136	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
40137
40138	// Not supported. Use a set of IP permissions to specify the protocol name or
40139	// number.
40140	IpProtocol *string `locationName:"ipProtocol" type:"string"`
40141
40142	// Not supported. Use a set of IP permissions to specify a destination security
40143	// group.
40144	SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
40145
40146	// Not supported. Use a set of IP permissions to specify a destination security
40147	// group.
40148	SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
40149
40150	// Not supported. Use a set of IP permissions to specify the port.
40151	ToPort *int64 `locationName:"toPort" type:"integer"`
40152}
40153
40154// String returns the string representation
40155func (s AuthorizeSecurityGroupEgressInput) String() string {
40156	return awsutil.Prettify(s)
40157}
40158
40159// GoString returns the string representation
40160func (s AuthorizeSecurityGroupEgressInput) GoString() string {
40161	return s.String()
40162}
40163
40164// Validate inspects the fields of the type to determine if they are valid.
40165func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
40166	invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
40167	if s.GroupId == nil {
40168		invalidParams.Add(request.NewErrParamRequired("GroupId"))
40169	}
40170
40171	if invalidParams.Len() > 0 {
40172		return invalidParams
40173	}
40174	return nil
40175}
40176
40177// SetCidrIp sets the CidrIp field's value.
40178func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
40179	s.CidrIp = &v
40180	return s
40181}
40182
40183// SetDryRun sets the DryRun field's value.
40184func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
40185	s.DryRun = &v
40186	return s
40187}
40188
40189// SetFromPort sets the FromPort field's value.
40190func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
40191	s.FromPort = &v
40192	return s
40193}
40194
40195// SetGroupId sets the GroupId field's value.
40196func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
40197	s.GroupId = &v
40198	return s
40199}
40200
40201// SetIpPermissions sets the IpPermissions field's value.
40202func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
40203	s.IpPermissions = v
40204	return s
40205}
40206
40207// SetIpProtocol sets the IpProtocol field's value.
40208func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
40209	s.IpProtocol = &v
40210	return s
40211}
40212
40213// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
40214func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
40215	s.SourceSecurityGroupName = &v
40216	return s
40217}
40218
40219// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
40220func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
40221	s.SourceSecurityGroupOwnerId = &v
40222	return s
40223}
40224
40225// SetToPort sets the ToPort field's value.
40226func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
40227	s.ToPort = &v
40228	return s
40229}
40230
40231type AuthorizeSecurityGroupEgressOutput struct {
40232	_ struct{} `type:"structure"`
40233}
40234
40235// String returns the string representation
40236func (s AuthorizeSecurityGroupEgressOutput) String() string {
40237	return awsutil.Prettify(s)
40238}
40239
40240// GoString returns the string representation
40241func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
40242	return s.String()
40243}
40244
40245type AuthorizeSecurityGroupIngressInput struct {
40246	_ struct{} `type:"structure"`
40247
40248	// The IPv4 address range, in CIDR format. You can't specify this parameter
40249	// when specifying a source security group. To specify an IPv6 address range,
40250	// use a set of IP permissions.
40251	//
40252	// Alternatively, use a set of IP permissions to specify multiple rules and
40253	// a description for the rule.
40254	CidrIp *string `type:"string"`
40255
40256	// Checks whether you have the required permissions for the action, without
40257	// actually making the request, and provides an error response. If you have
40258	// the required permissions, the error response is DryRunOperation. Otherwise,
40259	// it is UnauthorizedOperation.
40260	DryRun *bool `locationName:"dryRun" type:"boolean"`
40261
40262	// The start of port range for the TCP and UDP protocols, or an ICMP type number.
40263	// For the ICMP type number, use -1 to specify all types. If you specify all
40264	// ICMP types, you must specify all codes.
40265	//
40266	// Alternatively, use a set of IP permissions to specify multiple rules and
40267	// a description for the rule.
40268	FromPort *int64 `type:"integer"`
40269
40270	// The ID of the security group. You must specify either the security group
40271	// ID or the security group name in the request. For security groups in a nondefault
40272	// VPC, you must specify the security group ID.
40273	GroupId *string `type:"string"`
40274
40275	// [EC2-Classic, default VPC] The name of the security group. You must specify
40276	// either the security group ID or the security group name in the request.
40277	GroupName *string `type:"string"`
40278
40279	// The sets of IP permissions.
40280	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
40281
40282	// The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
40283	// To specify icmpv6, use a set of IP permissions.
40284	//
40285	// [VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol
40286	// other than tcp, udp, or icmp, traffic on all ports is allowed, regardless
40287	// of any ports you specify.
40288	//
40289	// Alternatively, use a set of IP permissions to specify multiple rules and
40290	// a description for the rule.
40291	IpProtocol *string `type:"string"`
40292
40293	// [EC2-Classic, default VPC] The name of the source security group. You can't
40294	// specify this parameter in combination with the following parameters: the
40295	// CIDR IP address range, the start of the port range, the IP protocol, and
40296	// the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
40297	// access. To create a rule with a specific IP protocol and port range, use
40298	// a set of IP permissions instead. For EC2-VPC, the source security group must
40299	// be in the same VPC.
40300	SourceSecurityGroupName *string `type:"string"`
40301
40302	// [nondefault VPC] The AWS account ID for the source security group, if the
40303	// source security group is in a different account. You can't specify this parameter
40304	// in combination with the following parameters: the CIDR IP address range,
40305	// the IP protocol, the start of the port range, and the end of the port range.
40306	// Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
40307	// with a specific IP protocol and port range, use a set of IP permissions instead.
40308	SourceSecurityGroupOwnerId *string `type:"string"`
40309
40310	// The end of port range for the TCP and UDP protocols, or an ICMP code number.
40311	// For the ICMP code number, use -1 to specify all codes. If you specify all
40312	// ICMP types, you must specify all codes.
40313	//
40314	// Alternatively, use a set of IP permissions to specify multiple rules and
40315	// a description for the rule.
40316	ToPort *int64 `type:"integer"`
40317}
40318
40319// String returns the string representation
40320func (s AuthorizeSecurityGroupIngressInput) String() string {
40321	return awsutil.Prettify(s)
40322}
40323
40324// GoString returns the string representation
40325func (s AuthorizeSecurityGroupIngressInput) GoString() string {
40326	return s.String()
40327}
40328
40329// SetCidrIp sets the CidrIp field's value.
40330func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
40331	s.CidrIp = &v
40332	return s
40333}
40334
40335// SetDryRun sets the DryRun field's value.
40336func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
40337	s.DryRun = &v
40338	return s
40339}
40340
40341// SetFromPort sets the FromPort field's value.
40342func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
40343	s.FromPort = &v
40344	return s
40345}
40346
40347// SetGroupId sets the GroupId field's value.
40348func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
40349	s.GroupId = &v
40350	return s
40351}
40352
40353// SetGroupName sets the GroupName field's value.
40354func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
40355	s.GroupName = &v
40356	return s
40357}
40358
40359// SetIpPermissions sets the IpPermissions field's value.
40360func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
40361	s.IpPermissions = v
40362	return s
40363}
40364
40365// SetIpProtocol sets the IpProtocol field's value.
40366func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
40367	s.IpProtocol = &v
40368	return s
40369}
40370
40371// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
40372func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
40373	s.SourceSecurityGroupName = &v
40374	return s
40375}
40376
40377// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
40378func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
40379	s.SourceSecurityGroupOwnerId = &v
40380	return s
40381}
40382
40383// SetToPort sets the ToPort field's value.
40384func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
40385	s.ToPort = &v
40386	return s
40387}
40388
40389type AuthorizeSecurityGroupIngressOutput struct {
40390	_ struct{} `type:"structure"`
40391}
40392
40393// String returns the string representation
40394func (s AuthorizeSecurityGroupIngressOutput) String() string {
40395	return awsutil.Prettify(s)
40396}
40397
40398// GoString returns the string representation
40399func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
40400	return s.String()
40401}
40402
40403// Describes an Availability Zone or Local Zone.
40404type AvailabilityZone struct {
40405	_ struct{} `type:"structure"`
40406
40407	// For Availability Zones, this parameter has the same value as the Region name.
40408	//
40409	// For Local Zones, the name of the associated group, for example us-west-2-lax-1.
40410	GroupName *string `locationName:"groupName" type:"string"`
40411
40412	// Any messages about the Availability Zone or Local Zone.
40413	Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
40414
40415	// The name of the location from which the address is advertised.
40416	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
40417
40418	// For Availability Zones, this parameter always has the value of opt-in-not-required.
40419	//
40420	// For Local Zones, this parameter is the opt in status. The possible values
40421	// are opted-in, and not-opted-in.
40422	OptInStatus *string `locationName:"optInStatus" type:"string" enum:"AvailabilityZoneOptInStatus"`
40423
40424	// The name of the Region.
40425	RegionName *string `locationName:"regionName" type:"string"`
40426
40427	// The state of the Availability Zone or Local Zone.
40428	State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
40429
40430	// The ID of the Availability Zone or Local Zone.
40431	ZoneId *string `locationName:"zoneId" type:"string"`
40432
40433	// The name of the Availability Zone or Local Zone.
40434	ZoneName *string `locationName:"zoneName" type:"string"`
40435}
40436
40437// String returns the string representation
40438func (s AvailabilityZone) String() string {
40439	return awsutil.Prettify(s)
40440}
40441
40442// GoString returns the string representation
40443func (s AvailabilityZone) GoString() string {
40444	return s.String()
40445}
40446
40447// SetGroupName sets the GroupName field's value.
40448func (s *AvailabilityZone) SetGroupName(v string) *AvailabilityZone {
40449	s.GroupName = &v
40450	return s
40451}
40452
40453// SetMessages sets the Messages field's value.
40454func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
40455	s.Messages = v
40456	return s
40457}
40458
40459// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
40460func (s *AvailabilityZone) SetNetworkBorderGroup(v string) *AvailabilityZone {
40461	s.NetworkBorderGroup = &v
40462	return s
40463}
40464
40465// SetOptInStatus sets the OptInStatus field's value.
40466func (s *AvailabilityZone) SetOptInStatus(v string) *AvailabilityZone {
40467	s.OptInStatus = &v
40468	return s
40469}
40470
40471// SetRegionName sets the RegionName field's value.
40472func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
40473	s.RegionName = &v
40474	return s
40475}
40476
40477// SetState sets the State field's value.
40478func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
40479	s.State = &v
40480	return s
40481}
40482
40483// SetZoneId sets the ZoneId field's value.
40484func (s *AvailabilityZone) SetZoneId(v string) *AvailabilityZone {
40485	s.ZoneId = &v
40486	return s
40487}
40488
40489// SetZoneName sets the ZoneName field's value.
40490func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
40491	s.ZoneName = &v
40492	return s
40493}
40494
40495// Describes a message about an Availability Zone or Local Zone.
40496type AvailabilityZoneMessage struct {
40497	_ struct{} `type:"structure"`
40498
40499	// The message about the Availability Zone or Local Zone.
40500	Message *string `locationName:"message" type:"string"`
40501}
40502
40503// String returns the string representation
40504func (s AvailabilityZoneMessage) String() string {
40505	return awsutil.Prettify(s)
40506}
40507
40508// GoString returns the string representation
40509func (s AvailabilityZoneMessage) GoString() string {
40510	return s.String()
40511}
40512
40513// SetMessage sets the Message field's value.
40514func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
40515	s.Message = &v
40516	return s
40517}
40518
40519// The capacity information for instances that can be launched onto the Dedicated
40520// Host.
40521type AvailableCapacity struct {
40522	_ struct{} `type:"structure"`
40523
40524	// The number of instances that can be launched onto the Dedicated Host depending
40525	// on the host's available capacity. For Dedicated Hosts that support multiple
40526	// instance types, this parameter represents the number of instances for each
40527	// instance size that is supported on the host.
40528	AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
40529
40530	// The number of vCPUs available for launching instances onto the Dedicated
40531	// Host.
40532	AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
40533}
40534
40535// String returns the string representation
40536func (s AvailableCapacity) String() string {
40537	return awsutil.Prettify(s)
40538}
40539
40540// GoString returns the string representation
40541func (s AvailableCapacity) GoString() string {
40542	return s.String()
40543}
40544
40545// SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
40546func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
40547	s.AvailableInstanceCapacity = v
40548	return s
40549}
40550
40551// SetAvailableVCpus sets the AvailableVCpus field's value.
40552func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
40553	s.AvailableVCpus = &v
40554	return s
40555}
40556
40557type BlobAttributeValue struct {
40558	_ struct{} `type:"structure"`
40559
40560	// Value is automatically base64 encoded/decoded by the SDK.
40561	Value []byte `locationName:"value" type:"blob"`
40562}
40563
40564// String returns the string representation
40565func (s BlobAttributeValue) String() string {
40566	return awsutil.Prettify(s)
40567}
40568
40569// GoString returns the string representation
40570func (s BlobAttributeValue) GoString() string {
40571	return s.String()
40572}
40573
40574// SetValue sets the Value field's value.
40575func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
40576	s.Value = v
40577	return s
40578}
40579
40580// Describes a block device mapping.
40581type BlockDeviceMapping struct {
40582	_ struct{} `type:"structure"`
40583
40584	// The device name (for example, /dev/sdh or xvdh).
40585	DeviceName *string `locationName:"deviceName" type:"string"`
40586
40587	// Parameters used to automatically set up EBS volumes when the instance is
40588	// launched.
40589	Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
40590
40591	// Suppresses the specified device included in the block device mapping of the
40592	// AMI.
40593	NoDevice *string `locationName:"noDevice" type:"string"`
40594
40595	// The virtual device name (ephemeralN). Instance store volumes are numbered
40596	// starting from 0. An instance type with 2 available instance store volumes
40597	// can specify mappings for ephemeral0 and ephemeral1. The number of available
40598	// instance store volumes depends on the instance type. After you connect to
40599	// the instance, you must mount the volume.
40600	//
40601	// NVMe instance store volumes are automatically enumerated and assigned a device
40602	// name. Including them in your block device mapping has no effect.
40603	//
40604	// Constraints: For M3 instances, you must specify instance store volumes in
40605	// the block device mapping for the instance. When you launch an M3 instance,
40606	// we ignore any instance store volumes specified in the block device mapping
40607	// for the AMI.
40608	VirtualName *string `locationName:"virtualName" type:"string"`
40609}
40610
40611// String returns the string representation
40612func (s BlockDeviceMapping) String() string {
40613	return awsutil.Prettify(s)
40614}
40615
40616// GoString returns the string representation
40617func (s BlockDeviceMapping) GoString() string {
40618	return s.String()
40619}
40620
40621// SetDeviceName sets the DeviceName field's value.
40622func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
40623	s.DeviceName = &v
40624	return s
40625}
40626
40627// SetEbs sets the Ebs field's value.
40628func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
40629	s.Ebs = v
40630	return s
40631}
40632
40633// SetNoDevice sets the NoDevice field's value.
40634func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
40635	s.NoDevice = &v
40636	return s
40637}
40638
40639// SetVirtualName sets the VirtualName field's value.
40640func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
40641	s.VirtualName = &v
40642	return s
40643}
40644
40645// Contains the parameters for BundleInstance.
40646type BundleInstanceInput struct {
40647	_ struct{} `type:"structure"`
40648
40649	// Checks whether you have the required permissions for the action, without
40650	// actually making the request, and provides an error response. If you have
40651	// the required permissions, the error response is DryRunOperation. Otherwise,
40652	// it is UnauthorizedOperation.
40653	DryRun *bool `locationName:"dryRun" type:"boolean"`
40654
40655	// The ID of the instance to bundle.
40656	//
40657	// Type: String
40658	//
40659	// Default: None
40660	//
40661	// Required: Yes
40662	//
40663	// InstanceId is a required field
40664	InstanceId *string `type:"string" required:"true"`
40665
40666	// The bucket in which to store the AMI. You can specify a bucket that you already
40667	// own or a new bucket that Amazon EC2 creates on your behalf. If you specify
40668	// a bucket that belongs to someone else, Amazon EC2 returns an error.
40669	//
40670	// Storage is a required field
40671	Storage *Storage `type:"structure" required:"true"`
40672}
40673
40674// String returns the string representation
40675func (s BundleInstanceInput) String() string {
40676	return awsutil.Prettify(s)
40677}
40678
40679// GoString returns the string representation
40680func (s BundleInstanceInput) GoString() string {
40681	return s.String()
40682}
40683
40684// Validate inspects the fields of the type to determine if they are valid.
40685func (s *BundleInstanceInput) Validate() error {
40686	invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
40687	if s.InstanceId == nil {
40688		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
40689	}
40690	if s.Storage == nil {
40691		invalidParams.Add(request.NewErrParamRequired("Storage"))
40692	}
40693
40694	if invalidParams.Len() > 0 {
40695		return invalidParams
40696	}
40697	return nil
40698}
40699
40700// SetDryRun sets the DryRun field's value.
40701func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
40702	s.DryRun = &v
40703	return s
40704}
40705
40706// SetInstanceId sets the InstanceId field's value.
40707func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
40708	s.InstanceId = &v
40709	return s
40710}
40711
40712// SetStorage sets the Storage field's value.
40713func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
40714	s.Storage = v
40715	return s
40716}
40717
40718// Contains the output of BundleInstance.
40719type BundleInstanceOutput struct {
40720	_ struct{} `type:"structure"`
40721
40722	// Information about the bundle task.
40723	BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
40724}
40725
40726// String returns the string representation
40727func (s BundleInstanceOutput) String() string {
40728	return awsutil.Prettify(s)
40729}
40730
40731// GoString returns the string representation
40732func (s BundleInstanceOutput) GoString() string {
40733	return s.String()
40734}
40735
40736// SetBundleTask sets the BundleTask field's value.
40737func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
40738	s.BundleTask = v
40739	return s
40740}
40741
40742// Describes a bundle task.
40743type BundleTask struct {
40744	_ struct{} `type:"structure"`
40745
40746	// The ID of the bundle task.
40747	BundleId *string `locationName:"bundleId" type:"string"`
40748
40749	// If the task fails, a description of the error.
40750	BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
40751
40752	// The ID of the instance associated with this bundle task.
40753	InstanceId *string `locationName:"instanceId" type:"string"`
40754
40755	// The level of task completion, as a percent (for example, 20%).
40756	Progress *string `locationName:"progress" type:"string"`
40757
40758	// The time this task started.
40759	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
40760
40761	// The state of the task.
40762	State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
40763
40764	// The Amazon S3 storage locations.
40765	Storage *Storage `locationName:"storage" type:"structure"`
40766
40767	// The time of the most recent update for the task.
40768	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
40769}
40770
40771// String returns the string representation
40772func (s BundleTask) String() string {
40773	return awsutil.Prettify(s)
40774}
40775
40776// GoString returns the string representation
40777func (s BundleTask) GoString() string {
40778	return s.String()
40779}
40780
40781// SetBundleId sets the BundleId field's value.
40782func (s *BundleTask) SetBundleId(v string) *BundleTask {
40783	s.BundleId = &v
40784	return s
40785}
40786
40787// SetBundleTaskError sets the BundleTaskError field's value.
40788func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
40789	s.BundleTaskError = v
40790	return s
40791}
40792
40793// SetInstanceId sets the InstanceId field's value.
40794func (s *BundleTask) SetInstanceId(v string) *BundleTask {
40795	s.InstanceId = &v
40796	return s
40797}
40798
40799// SetProgress sets the Progress field's value.
40800func (s *BundleTask) SetProgress(v string) *BundleTask {
40801	s.Progress = &v
40802	return s
40803}
40804
40805// SetStartTime sets the StartTime field's value.
40806func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
40807	s.StartTime = &v
40808	return s
40809}
40810
40811// SetState sets the State field's value.
40812func (s *BundleTask) SetState(v string) *BundleTask {
40813	s.State = &v
40814	return s
40815}
40816
40817// SetStorage sets the Storage field's value.
40818func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
40819	s.Storage = v
40820	return s
40821}
40822
40823// SetUpdateTime sets the UpdateTime field's value.
40824func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
40825	s.UpdateTime = &v
40826	return s
40827}
40828
40829// Describes an error for BundleInstance.
40830type BundleTaskError struct {
40831	_ struct{} `type:"structure"`
40832
40833	// The error code.
40834	Code *string `locationName:"code" type:"string"`
40835
40836	// The error message.
40837	Message *string `locationName:"message" type:"string"`
40838}
40839
40840// String returns the string representation
40841func (s BundleTaskError) String() string {
40842	return awsutil.Prettify(s)
40843}
40844
40845// GoString returns the string representation
40846func (s BundleTaskError) GoString() string {
40847	return s.String()
40848}
40849
40850// SetCode sets the Code field's value.
40851func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
40852	s.Code = &v
40853	return s
40854}
40855
40856// SetMessage sets the Message field's value.
40857func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
40858	s.Message = &v
40859	return s
40860}
40861
40862// Information about an address range that is provisioned for use with your
40863// AWS resources through bring your own IP addresses (BYOIP).
40864type ByoipCidr struct {
40865	_ struct{} `type:"structure"`
40866
40867	// The address range, in CIDR notation.
40868	Cidr *string `locationName:"cidr" type:"string"`
40869
40870	// The description of the address range.
40871	Description *string `locationName:"description" type:"string"`
40872
40873	// The state of the address pool.
40874	State *string `locationName:"state" type:"string" enum:"ByoipCidrState"`
40875
40876	// Upon success, contains the ID of the address pool. Otherwise, contains an
40877	// error message.
40878	StatusMessage *string `locationName:"statusMessage" type:"string"`
40879}
40880
40881// String returns the string representation
40882func (s ByoipCidr) String() string {
40883	return awsutil.Prettify(s)
40884}
40885
40886// GoString returns the string representation
40887func (s ByoipCidr) GoString() string {
40888	return s.String()
40889}
40890
40891// SetCidr sets the Cidr field's value.
40892func (s *ByoipCidr) SetCidr(v string) *ByoipCidr {
40893	s.Cidr = &v
40894	return s
40895}
40896
40897// SetDescription sets the Description field's value.
40898func (s *ByoipCidr) SetDescription(v string) *ByoipCidr {
40899	s.Description = &v
40900	return s
40901}
40902
40903// SetState sets the State field's value.
40904func (s *ByoipCidr) SetState(v string) *ByoipCidr {
40905	s.State = &v
40906	return s
40907}
40908
40909// SetStatusMessage sets the StatusMessage field's value.
40910func (s *ByoipCidr) SetStatusMessage(v string) *ByoipCidr {
40911	s.StatusMessage = &v
40912	return s
40913}
40914
40915// Contains the parameters for CancelBundleTask.
40916type CancelBundleTaskInput struct {
40917	_ struct{} `type:"structure"`
40918
40919	// The ID of the bundle task.
40920	//
40921	// BundleId is a required field
40922	BundleId *string `type:"string" required:"true"`
40923
40924	// Checks whether you have the required permissions for the action, without
40925	// actually making the request, and provides an error response. If you have
40926	// the required permissions, the error response is DryRunOperation. Otherwise,
40927	// it is UnauthorizedOperation.
40928	DryRun *bool `locationName:"dryRun" type:"boolean"`
40929}
40930
40931// String returns the string representation
40932func (s CancelBundleTaskInput) String() string {
40933	return awsutil.Prettify(s)
40934}
40935
40936// GoString returns the string representation
40937func (s CancelBundleTaskInput) GoString() string {
40938	return s.String()
40939}
40940
40941// Validate inspects the fields of the type to determine if they are valid.
40942func (s *CancelBundleTaskInput) Validate() error {
40943	invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
40944	if s.BundleId == nil {
40945		invalidParams.Add(request.NewErrParamRequired("BundleId"))
40946	}
40947
40948	if invalidParams.Len() > 0 {
40949		return invalidParams
40950	}
40951	return nil
40952}
40953
40954// SetBundleId sets the BundleId field's value.
40955func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
40956	s.BundleId = &v
40957	return s
40958}
40959
40960// SetDryRun sets the DryRun field's value.
40961func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
40962	s.DryRun = &v
40963	return s
40964}
40965
40966// Contains the output of CancelBundleTask.
40967type CancelBundleTaskOutput struct {
40968	_ struct{} `type:"structure"`
40969
40970	// Information about the bundle task.
40971	BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
40972}
40973
40974// String returns the string representation
40975func (s CancelBundleTaskOutput) String() string {
40976	return awsutil.Prettify(s)
40977}
40978
40979// GoString returns the string representation
40980func (s CancelBundleTaskOutput) GoString() string {
40981	return s.String()
40982}
40983
40984// SetBundleTask sets the BundleTask field's value.
40985func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
40986	s.BundleTask = v
40987	return s
40988}
40989
40990type CancelCapacityReservationInput struct {
40991	_ struct{} `type:"structure"`
40992
40993	// The ID of the Capacity Reservation to be cancelled.
40994	//
40995	// CapacityReservationId is a required field
40996	CapacityReservationId *string `type:"string" required:"true"`
40997
40998	// Checks whether you have the required permissions for the action, without
40999	// actually making the request, and provides an error response. If you have
41000	// the required permissions, the error response is DryRunOperation. Otherwise,
41001	// it is UnauthorizedOperation.
41002	DryRun *bool `type:"boolean"`
41003}
41004
41005// String returns the string representation
41006func (s CancelCapacityReservationInput) String() string {
41007	return awsutil.Prettify(s)
41008}
41009
41010// GoString returns the string representation
41011func (s CancelCapacityReservationInput) GoString() string {
41012	return s.String()
41013}
41014
41015// Validate inspects the fields of the type to determine if they are valid.
41016func (s *CancelCapacityReservationInput) Validate() error {
41017	invalidParams := request.ErrInvalidParams{Context: "CancelCapacityReservationInput"}
41018	if s.CapacityReservationId == nil {
41019		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
41020	}
41021
41022	if invalidParams.Len() > 0 {
41023		return invalidParams
41024	}
41025	return nil
41026}
41027
41028// SetCapacityReservationId sets the CapacityReservationId field's value.
41029func (s *CancelCapacityReservationInput) SetCapacityReservationId(v string) *CancelCapacityReservationInput {
41030	s.CapacityReservationId = &v
41031	return s
41032}
41033
41034// SetDryRun sets the DryRun field's value.
41035func (s *CancelCapacityReservationInput) SetDryRun(v bool) *CancelCapacityReservationInput {
41036	s.DryRun = &v
41037	return s
41038}
41039
41040type CancelCapacityReservationOutput struct {
41041	_ struct{} `type:"structure"`
41042
41043	// Returns true if the request succeeds; otherwise, it returns an error.
41044	Return *bool `locationName:"return" type:"boolean"`
41045}
41046
41047// String returns the string representation
41048func (s CancelCapacityReservationOutput) String() string {
41049	return awsutil.Prettify(s)
41050}
41051
41052// GoString returns the string representation
41053func (s CancelCapacityReservationOutput) GoString() string {
41054	return s.String()
41055}
41056
41057// SetReturn sets the Return field's value.
41058func (s *CancelCapacityReservationOutput) SetReturn(v bool) *CancelCapacityReservationOutput {
41059	s.Return = &v
41060	return s
41061}
41062
41063type CancelConversionTaskInput struct {
41064	_ struct{} `type:"structure"`
41065
41066	// The ID of the conversion task.
41067	//
41068	// ConversionTaskId is a required field
41069	ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
41070
41071	// Checks whether you have the required permissions for the action, without
41072	// actually making the request, and provides an error response. If you have
41073	// the required permissions, the error response is DryRunOperation. Otherwise,
41074	// it is UnauthorizedOperation.
41075	DryRun *bool `locationName:"dryRun" type:"boolean"`
41076
41077	// The reason for canceling the conversion task.
41078	ReasonMessage *string `locationName:"reasonMessage" type:"string"`
41079}
41080
41081// String returns the string representation
41082func (s CancelConversionTaskInput) String() string {
41083	return awsutil.Prettify(s)
41084}
41085
41086// GoString returns the string representation
41087func (s CancelConversionTaskInput) GoString() string {
41088	return s.String()
41089}
41090
41091// Validate inspects the fields of the type to determine if they are valid.
41092func (s *CancelConversionTaskInput) Validate() error {
41093	invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
41094	if s.ConversionTaskId == nil {
41095		invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
41096	}
41097
41098	if invalidParams.Len() > 0 {
41099		return invalidParams
41100	}
41101	return nil
41102}
41103
41104// SetConversionTaskId sets the ConversionTaskId field's value.
41105func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
41106	s.ConversionTaskId = &v
41107	return s
41108}
41109
41110// SetDryRun sets the DryRun field's value.
41111func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
41112	s.DryRun = &v
41113	return s
41114}
41115
41116// SetReasonMessage sets the ReasonMessage field's value.
41117func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
41118	s.ReasonMessage = &v
41119	return s
41120}
41121
41122type CancelConversionTaskOutput struct {
41123	_ struct{} `type:"structure"`
41124}
41125
41126// String returns the string representation
41127func (s CancelConversionTaskOutput) String() string {
41128	return awsutil.Prettify(s)
41129}
41130
41131// GoString returns the string representation
41132func (s CancelConversionTaskOutput) GoString() string {
41133	return s.String()
41134}
41135
41136type CancelExportTaskInput struct {
41137	_ struct{} `type:"structure"`
41138
41139	// The ID of the export task. This is the ID returned by CreateInstanceExportTask.
41140	//
41141	// ExportTaskId is a required field
41142	ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
41143}
41144
41145// String returns the string representation
41146func (s CancelExportTaskInput) String() string {
41147	return awsutil.Prettify(s)
41148}
41149
41150// GoString returns the string representation
41151func (s CancelExportTaskInput) GoString() string {
41152	return s.String()
41153}
41154
41155// Validate inspects the fields of the type to determine if they are valid.
41156func (s *CancelExportTaskInput) Validate() error {
41157	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
41158	if s.ExportTaskId == nil {
41159		invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
41160	}
41161
41162	if invalidParams.Len() > 0 {
41163		return invalidParams
41164	}
41165	return nil
41166}
41167
41168// SetExportTaskId sets the ExportTaskId field's value.
41169func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
41170	s.ExportTaskId = &v
41171	return s
41172}
41173
41174type CancelExportTaskOutput struct {
41175	_ struct{} `type:"structure"`
41176}
41177
41178// String returns the string representation
41179func (s CancelExportTaskOutput) String() string {
41180	return awsutil.Prettify(s)
41181}
41182
41183// GoString returns the string representation
41184func (s CancelExportTaskOutput) GoString() string {
41185	return s.String()
41186}
41187
41188type CancelImportTaskInput struct {
41189	_ struct{} `type:"structure"`
41190
41191	// The reason for canceling the task.
41192	CancelReason *string `type:"string"`
41193
41194	// Checks whether you have the required permissions for the action, without
41195	// actually making the request, and provides an error response. If you have
41196	// the required permissions, the error response is DryRunOperation. Otherwise,
41197	// it is UnauthorizedOperation.
41198	DryRun *bool `type:"boolean"`
41199
41200	// The ID of the import image or import snapshot task to be canceled.
41201	ImportTaskId *string `type:"string"`
41202}
41203
41204// String returns the string representation
41205func (s CancelImportTaskInput) String() string {
41206	return awsutil.Prettify(s)
41207}
41208
41209// GoString returns the string representation
41210func (s CancelImportTaskInput) GoString() string {
41211	return s.String()
41212}
41213
41214// SetCancelReason sets the CancelReason field's value.
41215func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
41216	s.CancelReason = &v
41217	return s
41218}
41219
41220// SetDryRun sets the DryRun field's value.
41221func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
41222	s.DryRun = &v
41223	return s
41224}
41225
41226// SetImportTaskId sets the ImportTaskId field's value.
41227func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
41228	s.ImportTaskId = &v
41229	return s
41230}
41231
41232type CancelImportTaskOutput struct {
41233	_ struct{} `type:"structure"`
41234
41235	// The ID of the task being canceled.
41236	ImportTaskId *string `locationName:"importTaskId" type:"string"`
41237
41238	// The current state of the task being canceled.
41239	PreviousState *string `locationName:"previousState" type:"string"`
41240
41241	// The current state of the task being canceled.
41242	State *string `locationName:"state" type:"string"`
41243}
41244
41245// String returns the string representation
41246func (s CancelImportTaskOutput) String() string {
41247	return awsutil.Prettify(s)
41248}
41249
41250// GoString returns the string representation
41251func (s CancelImportTaskOutput) GoString() string {
41252	return s.String()
41253}
41254
41255// SetImportTaskId sets the ImportTaskId field's value.
41256func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
41257	s.ImportTaskId = &v
41258	return s
41259}
41260
41261// SetPreviousState sets the PreviousState field's value.
41262func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
41263	s.PreviousState = &v
41264	return s
41265}
41266
41267// SetState sets the State field's value.
41268func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
41269	s.State = &v
41270	return s
41271}
41272
41273// Contains the parameters for CancelReservedInstancesListing.
41274type CancelReservedInstancesListingInput struct {
41275	_ struct{} `type:"structure"`
41276
41277	// The ID of the Reserved Instance listing.
41278	//
41279	// ReservedInstancesListingId is a required field
41280	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
41281}
41282
41283// String returns the string representation
41284func (s CancelReservedInstancesListingInput) String() string {
41285	return awsutil.Prettify(s)
41286}
41287
41288// GoString returns the string representation
41289func (s CancelReservedInstancesListingInput) GoString() string {
41290	return s.String()
41291}
41292
41293// Validate inspects the fields of the type to determine if they are valid.
41294func (s *CancelReservedInstancesListingInput) Validate() error {
41295	invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
41296	if s.ReservedInstancesListingId == nil {
41297		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
41298	}
41299
41300	if invalidParams.Len() > 0 {
41301		return invalidParams
41302	}
41303	return nil
41304}
41305
41306// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
41307func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
41308	s.ReservedInstancesListingId = &v
41309	return s
41310}
41311
41312// Contains the output of CancelReservedInstancesListing.
41313type CancelReservedInstancesListingOutput struct {
41314	_ struct{} `type:"structure"`
41315
41316	// The Reserved Instance listing.
41317	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
41318}
41319
41320// String returns the string representation
41321func (s CancelReservedInstancesListingOutput) String() string {
41322	return awsutil.Prettify(s)
41323}
41324
41325// GoString returns the string representation
41326func (s CancelReservedInstancesListingOutput) GoString() string {
41327	return s.String()
41328}
41329
41330// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
41331func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
41332	s.ReservedInstancesListings = v
41333	return s
41334}
41335
41336// Describes a Spot Fleet error.
41337type CancelSpotFleetRequestsError struct {
41338	_ struct{} `type:"structure"`
41339
41340	// The error code.
41341	Code *string `locationName:"code" type:"string" enum:"CancelBatchErrorCode"`
41342
41343	// The description for the error code.
41344	Message *string `locationName:"message" type:"string"`
41345}
41346
41347// String returns the string representation
41348func (s CancelSpotFleetRequestsError) String() string {
41349	return awsutil.Prettify(s)
41350}
41351
41352// GoString returns the string representation
41353func (s CancelSpotFleetRequestsError) GoString() string {
41354	return s.String()
41355}
41356
41357// SetCode sets the Code field's value.
41358func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
41359	s.Code = &v
41360	return s
41361}
41362
41363// SetMessage sets the Message field's value.
41364func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
41365	s.Message = &v
41366	return s
41367}
41368
41369// Describes a Spot Fleet request that was not successfully canceled.
41370type CancelSpotFleetRequestsErrorItem struct {
41371	_ struct{} `type:"structure"`
41372
41373	// The error.
41374	Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure"`
41375
41376	// The ID of the Spot Fleet request.
41377	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
41378}
41379
41380// String returns the string representation
41381func (s CancelSpotFleetRequestsErrorItem) String() string {
41382	return awsutil.Prettify(s)
41383}
41384
41385// GoString returns the string representation
41386func (s CancelSpotFleetRequestsErrorItem) GoString() string {
41387	return s.String()
41388}
41389
41390// SetError sets the Error field's value.
41391func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
41392	s.Error = v
41393	return s
41394}
41395
41396// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
41397func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
41398	s.SpotFleetRequestId = &v
41399	return s
41400}
41401
41402// Contains the parameters for CancelSpotFleetRequests.
41403type CancelSpotFleetRequestsInput struct {
41404	_ struct{} `type:"structure"`
41405
41406	// Checks whether you have the required permissions for the action, without
41407	// actually making the request, and provides an error response. If you have
41408	// the required permissions, the error response is DryRunOperation. Otherwise,
41409	// it is UnauthorizedOperation.
41410	DryRun *bool `locationName:"dryRun" type:"boolean"`
41411
41412	// The IDs of the Spot Fleet requests.
41413	//
41414	// SpotFleetRequestIds is a required field
41415	SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
41416
41417	// Indicates whether to terminate instances for a Spot Fleet request if it is
41418	// canceled successfully.
41419	//
41420	// TerminateInstances is a required field
41421	TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
41422}
41423
41424// String returns the string representation
41425func (s CancelSpotFleetRequestsInput) String() string {
41426	return awsutil.Prettify(s)
41427}
41428
41429// GoString returns the string representation
41430func (s CancelSpotFleetRequestsInput) GoString() string {
41431	return s.String()
41432}
41433
41434// Validate inspects the fields of the type to determine if they are valid.
41435func (s *CancelSpotFleetRequestsInput) Validate() error {
41436	invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
41437	if s.SpotFleetRequestIds == nil {
41438		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
41439	}
41440	if s.TerminateInstances == nil {
41441		invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
41442	}
41443
41444	if invalidParams.Len() > 0 {
41445		return invalidParams
41446	}
41447	return nil
41448}
41449
41450// SetDryRun sets the DryRun field's value.
41451func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
41452	s.DryRun = &v
41453	return s
41454}
41455
41456// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
41457func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
41458	s.SpotFleetRequestIds = v
41459	return s
41460}
41461
41462// SetTerminateInstances sets the TerminateInstances field's value.
41463func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
41464	s.TerminateInstances = &v
41465	return s
41466}
41467
41468// Contains the output of CancelSpotFleetRequests.
41469type CancelSpotFleetRequestsOutput struct {
41470	_ struct{} `type:"structure"`
41471
41472	// Information about the Spot Fleet requests that are successfully canceled.
41473	SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
41474
41475	// Information about the Spot Fleet requests that are not successfully canceled.
41476	UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
41477}
41478
41479// String returns the string representation
41480func (s CancelSpotFleetRequestsOutput) String() string {
41481	return awsutil.Prettify(s)
41482}
41483
41484// GoString returns the string representation
41485func (s CancelSpotFleetRequestsOutput) GoString() string {
41486	return s.String()
41487}
41488
41489// SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
41490func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
41491	s.SuccessfulFleetRequests = v
41492	return s
41493}
41494
41495// SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
41496func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
41497	s.UnsuccessfulFleetRequests = v
41498	return s
41499}
41500
41501// Describes a Spot Fleet request that was successfully canceled.
41502type CancelSpotFleetRequestsSuccessItem struct {
41503	_ struct{} `type:"structure"`
41504
41505	// The current state of the Spot Fleet request.
41506	CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" enum:"BatchState"`
41507
41508	// The previous state of the Spot Fleet request.
41509	PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" enum:"BatchState"`
41510
41511	// The ID of the Spot Fleet request.
41512	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
41513}
41514
41515// String returns the string representation
41516func (s CancelSpotFleetRequestsSuccessItem) String() string {
41517	return awsutil.Prettify(s)
41518}
41519
41520// GoString returns the string representation
41521func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
41522	return s.String()
41523}
41524
41525// SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
41526func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
41527	s.CurrentSpotFleetRequestState = &v
41528	return s
41529}
41530
41531// SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
41532func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
41533	s.PreviousSpotFleetRequestState = &v
41534	return s
41535}
41536
41537// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
41538func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
41539	s.SpotFleetRequestId = &v
41540	return s
41541}
41542
41543// Contains the parameters for CancelSpotInstanceRequests.
41544type CancelSpotInstanceRequestsInput struct {
41545	_ struct{} `type:"structure"`
41546
41547	// Checks whether you have the required permissions for the action, without
41548	// actually making the request, and provides an error response. If you have
41549	// the required permissions, the error response is DryRunOperation. Otherwise,
41550	// it is UnauthorizedOperation.
41551	DryRun *bool `locationName:"dryRun" type:"boolean"`
41552
41553	// One or more Spot Instance request IDs.
41554	//
41555	// SpotInstanceRequestIds is a required field
41556	SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
41557}
41558
41559// String returns the string representation
41560func (s CancelSpotInstanceRequestsInput) String() string {
41561	return awsutil.Prettify(s)
41562}
41563
41564// GoString returns the string representation
41565func (s CancelSpotInstanceRequestsInput) GoString() string {
41566	return s.String()
41567}
41568
41569// Validate inspects the fields of the type to determine if they are valid.
41570func (s *CancelSpotInstanceRequestsInput) Validate() error {
41571	invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
41572	if s.SpotInstanceRequestIds == nil {
41573		invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
41574	}
41575
41576	if invalidParams.Len() > 0 {
41577		return invalidParams
41578	}
41579	return nil
41580}
41581
41582// SetDryRun sets the DryRun field's value.
41583func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
41584	s.DryRun = &v
41585	return s
41586}
41587
41588// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
41589func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
41590	s.SpotInstanceRequestIds = v
41591	return s
41592}
41593
41594// Contains the output of CancelSpotInstanceRequests.
41595type CancelSpotInstanceRequestsOutput struct {
41596	_ struct{} `type:"structure"`
41597
41598	// One or more Spot Instance requests.
41599	CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
41600}
41601
41602// String returns the string representation
41603func (s CancelSpotInstanceRequestsOutput) String() string {
41604	return awsutil.Prettify(s)
41605}
41606
41607// GoString returns the string representation
41608func (s CancelSpotInstanceRequestsOutput) GoString() string {
41609	return s.String()
41610}
41611
41612// SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
41613func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
41614	s.CancelledSpotInstanceRequests = v
41615	return s
41616}
41617
41618// Describes a request to cancel a Spot Instance.
41619type CancelledSpotInstanceRequest struct {
41620	_ struct{} `type:"structure"`
41621
41622	// The ID of the Spot Instance request.
41623	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
41624
41625	// The state of the Spot Instance request.
41626	State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
41627}
41628
41629// String returns the string representation
41630func (s CancelledSpotInstanceRequest) String() string {
41631	return awsutil.Prettify(s)
41632}
41633
41634// GoString returns the string representation
41635func (s CancelledSpotInstanceRequest) GoString() string {
41636	return s.String()
41637}
41638
41639// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
41640func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
41641	s.SpotInstanceRequestId = &v
41642	return s
41643}
41644
41645// SetState sets the State field's value.
41646func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
41647	s.State = &v
41648	return s
41649}
41650
41651// Describes a Capacity Reservation.
41652type CapacityReservation struct {
41653	_ struct{} `type:"structure"`
41654
41655	// The Availability Zone in which the capacity is reserved.
41656	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
41657
41658	// The Availability Zone ID of the Capacity Reservation.
41659	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
41660
41661	// The remaining capacity. Indicates the number of instances that can be launched
41662	// in the Capacity Reservation.
41663	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
41664
41665	// The Amazon Resource Name (ARN) of the Capacity Reservation.
41666	CapacityReservationArn *string `locationName:"capacityReservationArn" type:"string"`
41667
41668	// The ID of the Capacity Reservation.
41669	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
41670
41671	// The date and time at which the Capacity Reservation was created.
41672	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
41673
41674	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
41675	// This optimization provides dedicated throughput to Amazon EBS and an optimized
41676	// configuration stack to provide optimal I/O performance. This optimization
41677	// isn't available with all instance types. Additional usage charges apply when
41678	// using an EBS- optimized instance.
41679	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
41680
41681	// The date and time at which the Capacity Reservation expires. When a Capacity
41682	// Reservation expires, the reserved capacity is released and you can no longer
41683	// launch instances into it. The Capacity Reservation's state changes to expired
41684	// when it reaches its end date and time.
41685	EndDate *time.Time `locationName:"endDate" type:"timestamp"`
41686
41687	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
41688	// can have one of the following end types:
41689	//
41690	//    * unlimited - The Capacity Reservation remains active until you explicitly
41691	//    cancel it.
41692	//
41693	//    * limited - The Capacity Reservation expires automatically at a specified
41694	//    date and time.
41695	EndDateType *string `locationName:"endDateType" type:"string" enum:"EndDateType"`
41696
41697	// Indicates whether the Capacity Reservation supports instances with temporary,
41698	// block-level storage.
41699	EphemeralStorage *bool `locationName:"ephemeralStorage" type:"boolean"`
41700
41701	// Indicates the type of instance launches that the Capacity Reservation accepts.
41702	// The options include:
41703	//
41704	//    * open - The Capacity Reservation accepts all instances that have matching
41705	//    attributes (instance type, platform, and Availability Zone). Instances
41706	//    that have matching attributes launch into the Capacity Reservation automatically
41707	//    without specifying any additional parameters.
41708	//
41709	//    * targeted - The Capacity Reservation only accepts instances that have
41710	//    matching attributes (instance type, platform, and Availability Zone),
41711	//    and explicitly target the Capacity Reservation. This ensures that only
41712	//    permitted instances can use the reserved capacity.
41713	InstanceMatchCriteria *string `locationName:"instanceMatchCriteria" type:"string" enum:"InstanceMatchCriteria"`
41714
41715	// The type of operating system for which the Capacity Reservation reserves
41716	// capacity.
41717	InstancePlatform *string `locationName:"instancePlatform" type:"string" enum:"CapacityReservationInstancePlatform"`
41718
41719	// The type of instance for which the Capacity Reservation reserves capacity.
41720	InstanceType *string `locationName:"instanceType" type:"string"`
41721
41722	// The ID of the AWS account that owns the Capacity Reservation.
41723	OwnerId *string `locationName:"ownerId" type:"string"`
41724
41725	// The current state of the Capacity Reservation. A Capacity Reservation can
41726	// be in one of the following states:
41727	//
41728	//    * active - The Capacity Reservation is active and the capacity is available
41729	//    for your use.
41730	//
41731	//    * expired - The Capacity Reservation expired automatically at the date
41732	//    and time specified in your request. The reserved capacity is no longer
41733	//    available for your use.
41734	//
41735	//    * cancelled - The Capacity Reservation was manually cancelled. The reserved
41736	//    capacity is no longer available for your use.
41737	//
41738	//    * pending - The Capacity Reservation request was successful but the capacity
41739	//    provisioning is still pending.
41740	//
41741	//    * failed - The Capacity Reservation request has failed. A request might
41742	//    fail due to invalid request parameters, capacity constraints, or instance
41743	//    limit constraints. Failed requests are retained for 60 minutes.
41744	State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
41745
41746	// Any tags assigned to the Capacity Reservation.
41747	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
41748
41749	// Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
41750	// can have one of the following tenancy settings:
41751	//
41752	//    * default - The Capacity Reservation is created on hardware that is shared
41753	//    with other AWS accounts.
41754	//
41755	//    * dedicated - The Capacity Reservation is created on single-tenant hardware
41756	//    that is dedicated to a single AWS account.
41757	Tenancy *string `locationName:"tenancy" type:"string" enum:"CapacityReservationTenancy"`
41758
41759	// The total number of instances for which the Capacity Reservation reserves
41760	// capacity.
41761	TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
41762}
41763
41764// String returns the string representation
41765func (s CapacityReservation) String() string {
41766	return awsutil.Prettify(s)
41767}
41768
41769// GoString returns the string representation
41770func (s CapacityReservation) GoString() string {
41771	return s.String()
41772}
41773
41774// SetAvailabilityZone sets the AvailabilityZone field's value.
41775func (s *CapacityReservation) SetAvailabilityZone(v string) *CapacityReservation {
41776	s.AvailabilityZone = &v
41777	return s
41778}
41779
41780// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
41781func (s *CapacityReservation) SetAvailabilityZoneId(v string) *CapacityReservation {
41782	s.AvailabilityZoneId = &v
41783	return s
41784}
41785
41786// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
41787func (s *CapacityReservation) SetAvailableInstanceCount(v int64) *CapacityReservation {
41788	s.AvailableInstanceCount = &v
41789	return s
41790}
41791
41792// SetCapacityReservationArn sets the CapacityReservationArn field's value.
41793func (s *CapacityReservation) SetCapacityReservationArn(v string) *CapacityReservation {
41794	s.CapacityReservationArn = &v
41795	return s
41796}
41797
41798// SetCapacityReservationId sets the CapacityReservationId field's value.
41799func (s *CapacityReservation) SetCapacityReservationId(v string) *CapacityReservation {
41800	s.CapacityReservationId = &v
41801	return s
41802}
41803
41804// SetCreateDate sets the CreateDate field's value.
41805func (s *CapacityReservation) SetCreateDate(v time.Time) *CapacityReservation {
41806	s.CreateDate = &v
41807	return s
41808}
41809
41810// SetEbsOptimized sets the EbsOptimized field's value.
41811func (s *CapacityReservation) SetEbsOptimized(v bool) *CapacityReservation {
41812	s.EbsOptimized = &v
41813	return s
41814}
41815
41816// SetEndDate sets the EndDate field's value.
41817func (s *CapacityReservation) SetEndDate(v time.Time) *CapacityReservation {
41818	s.EndDate = &v
41819	return s
41820}
41821
41822// SetEndDateType sets the EndDateType field's value.
41823func (s *CapacityReservation) SetEndDateType(v string) *CapacityReservation {
41824	s.EndDateType = &v
41825	return s
41826}
41827
41828// SetEphemeralStorage sets the EphemeralStorage field's value.
41829func (s *CapacityReservation) SetEphemeralStorage(v bool) *CapacityReservation {
41830	s.EphemeralStorage = &v
41831	return s
41832}
41833
41834// SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
41835func (s *CapacityReservation) SetInstanceMatchCriteria(v string) *CapacityReservation {
41836	s.InstanceMatchCriteria = &v
41837	return s
41838}
41839
41840// SetInstancePlatform sets the InstancePlatform field's value.
41841func (s *CapacityReservation) SetInstancePlatform(v string) *CapacityReservation {
41842	s.InstancePlatform = &v
41843	return s
41844}
41845
41846// SetInstanceType sets the InstanceType field's value.
41847func (s *CapacityReservation) SetInstanceType(v string) *CapacityReservation {
41848	s.InstanceType = &v
41849	return s
41850}
41851
41852// SetOwnerId sets the OwnerId field's value.
41853func (s *CapacityReservation) SetOwnerId(v string) *CapacityReservation {
41854	s.OwnerId = &v
41855	return s
41856}
41857
41858// SetState sets the State field's value.
41859func (s *CapacityReservation) SetState(v string) *CapacityReservation {
41860	s.State = &v
41861	return s
41862}
41863
41864// SetTags sets the Tags field's value.
41865func (s *CapacityReservation) SetTags(v []*Tag) *CapacityReservation {
41866	s.Tags = v
41867	return s
41868}
41869
41870// SetTenancy sets the Tenancy field's value.
41871func (s *CapacityReservation) SetTenancy(v string) *CapacityReservation {
41872	s.Tenancy = &v
41873	return s
41874}
41875
41876// SetTotalInstanceCount sets the TotalInstanceCount field's value.
41877func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservation {
41878	s.TotalInstanceCount = &v
41879	return s
41880}
41881
41882// Describes the strategy for using unused Capacity Reservations for fulfilling
41883// On-Demand capacity.
41884//
41885// This strategy can only be used if the EC2 Fleet is of type instant.
41886//
41887// For more information about Capacity Reservations, see On-Demand Capacity
41888// Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
41889// in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity
41890// Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
41891// in the Amazon Elastic Compute Cloud User Guide.
41892type CapacityReservationOptions struct {
41893	_ struct{} `type:"structure"`
41894
41895	// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand
41896	// capacity.
41897	//
41898	// If you specify use-capacity-reservations-first, the fleet uses unused Capacity
41899	// Reservations to fulfill On-Demand capacity up to the target On-Demand capacity.
41900	// If multiple instance pools have unused Capacity Reservations, the On-Demand
41901	// allocation strategy (lowest-price or prioritized) is applied. If the number
41902	// of unused Capacity Reservations is less than the On-Demand target capacity,
41903	// the remaining On-Demand target capacity is launched according to the On-Demand
41904	// allocation strategy (lowest-price or prioritized).
41905	//
41906	// If you do not specify a value, the fleet fulfils the On-Demand capacity according
41907	// to the chosen On-Demand allocation strategy.
41908	UsageStrategy *string `locationName:"usageStrategy" type:"string" enum:"FleetCapacityReservationUsageStrategy"`
41909}
41910
41911// String returns the string representation
41912func (s CapacityReservationOptions) String() string {
41913	return awsutil.Prettify(s)
41914}
41915
41916// GoString returns the string representation
41917func (s CapacityReservationOptions) GoString() string {
41918	return s.String()
41919}
41920
41921// SetUsageStrategy sets the UsageStrategy field's value.
41922func (s *CapacityReservationOptions) SetUsageStrategy(v string) *CapacityReservationOptions {
41923	s.UsageStrategy = &v
41924	return s
41925}
41926
41927// Describes the strategy for using unused Capacity Reservations for fulfilling
41928// On-Demand capacity.
41929//
41930// This strategy can only be used if the EC2 Fleet is of type instant.
41931//
41932// For more information about Capacity Reservations, see On-Demand Capacity
41933// Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
41934// in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity
41935// Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
41936// in the Amazon Elastic Compute Cloud User Guide.
41937type CapacityReservationOptionsRequest struct {
41938	_ struct{} `type:"structure"`
41939
41940	// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand
41941	// capacity.
41942	//
41943	// If you specify use-capacity-reservations-first, the fleet uses unused Capacity
41944	// Reservations to fulfill On-Demand capacity up to the target On-Demand capacity.
41945	// If multiple instance pools have unused Capacity Reservations, the On-Demand
41946	// allocation strategy (lowest-price or prioritized) is applied. If the number
41947	// of unused Capacity Reservations is less than the On-Demand target capacity,
41948	// the remaining On-Demand target capacity is launched according to the On-Demand
41949	// allocation strategy (lowest-price or prioritized).
41950	//
41951	// If you do not specify a value, the fleet fulfils the On-Demand capacity according
41952	// to the chosen On-Demand allocation strategy.
41953	UsageStrategy *string `type:"string" enum:"FleetCapacityReservationUsageStrategy"`
41954}
41955
41956// String returns the string representation
41957func (s CapacityReservationOptionsRequest) String() string {
41958	return awsutil.Prettify(s)
41959}
41960
41961// GoString returns the string representation
41962func (s CapacityReservationOptionsRequest) GoString() string {
41963	return s.String()
41964}
41965
41966// SetUsageStrategy sets the UsageStrategy field's value.
41967func (s *CapacityReservationOptionsRequest) SetUsageStrategy(v string) *CapacityReservationOptionsRequest {
41968	s.UsageStrategy = &v
41969	return s
41970}
41971
41972// Describes an instance's Capacity Reservation targeting option. You can specify
41973// only one parameter at a time. If you specify CapacityReservationPreference
41974// and CapacityReservationTarget, the request fails.
41975//
41976// Use the CapacityReservationPreference parameter to configure the instance
41977// to run as an On-Demand Instance or to run in any open Capacity Reservation
41978// that has matching attributes (instance type, platform, Availability Zone).
41979// Use the CapacityReservationTarget parameter to explicitly target a specific
41980// Capacity Reservation.
41981type CapacityReservationSpecification struct {
41982	_ struct{} `type:"structure"`
41983
41984	// Indicates the instance's Capacity Reservation preferences. Possible preferences
41985	// include:
41986	//
41987	//    * open - The instance can run in any open Capacity Reservation that has
41988	//    matching attributes (instance type, platform, Availability Zone).
41989	//
41990	//    * none - The instance avoids running in a Capacity Reservation even if
41991	//    one is available. The instance runs as an On-Demand Instance.
41992	CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
41993
41994	// Information about the target Capacity Reservation.
41995	CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
41996}
41997
41998// String returns the string representation
41999func (s CapacityReservationSpecification) String() string {
42000	return awsutil.Prettify(s)
42001}
42002
42003// GoString returns the string representation
42004func (s CapacityReservationSpecification) GoString() string {
42005	return s.String()
42006}
42007
42008// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
42009func (s *CapacityReservationSpecification) SetCapacityReservationPreference(v string) *CapacityReservationSpecification {
42010	s.CapacityReservationPreference = &v
42011	return s
42012}
42013
42014// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
42015func (s *CapacityReservationSpecification) SetCapacityReservationTarget(v *CapacityReservationTarget) *CapacityReservationSpecification {
42016	s.CapacityReservationTarget = v
42017	return s
42018}
42019
42020// Describes the instance's Capacity Reservation targeting preferences. The
42021// action returns the capacityReservationPreference response element if the
42022// instance is configured to run in On-Demand capacity, or if it is configured
42023// in run in any open Capacity Reservation that has matching attributes (instance
42024// type, platform, Availability Zone). The action returns the capacityReservationTarget
42025// response element if the instance explicily targets a specific Capacity Reservation.
42026type CapacityReservationSpecificationResponse struct {
42027	_ struct{} `type:"structure"`
42028
42029	// Describes the instance's Capacity Reservation preferences. Possible preferences
42030	// include:
42031	//
42032	//    * open - The instance can run in any open Capacity Reservation that has
42033	//    matching attributes (instance type, platform, Availability Zone).
42034	//
42035	//    * none - The instance avoids running in a Capacity Reservation even if
42036	//    one is available. The instance runs in On-Demand capacity.
42037	CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
42038
42039	// Information about the targeted Capacity Reservation.
42040	CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
42041}
42042
42043// String returns the string representation
42044func (s CapacityReservationSpecificationResponse) String() string {
42045	return awsutil.Prettify(s)
42046}
42047
42048// GoString returns the string representation
42049func (s CapacityReservationSpecificationResponse) GoString() string {
42050	return s.String()
42051}
42052
42053// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
42054func (s *CapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *CapacityReservationSpecificationResponse {
42055	s.CapacityReservationPreference = &v
42056	return s
42057}
42058
42059// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
42060func (s *CapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *CapacityReservationSpecificationResponse {
42061	s.CapacityReservationTarget = v
42062	return s
42063}
42064
42065// Describes a target Capacity Reservation.
42066type CapacityReservationTarget struct {
42067	_ struct{} `type:"structure"`
42068
42069	// The ID of the Capacity Reservation.
42070	CapacityReservationId *string `type:"string"`
42071}
42072
42073// String returns the string representation
42074func (s CapacityReservationTarget) String() string {
42075	return awsutil.Prettify(s)
42076}
42077
42078// GoString returns the string representation
42079func (s CapacityReservationTarget) GoString() string {
42080	return s.String()
42081}
42082
42083// SetCapacityReservationId sets the CapacityReservationId field's value.
42084func (s *CapacityReservationTarget) SetCapacityReservationId(v string) *CapacityReservationTarget {
42085	s.CapacityReservationId = &v
42086	return s
42087}
42088
42089// Describes a target Capacity Reservation.
42090type CapacityReservationTargetResponse struct {
42091	_ struct{} `type:"structure"`
42092
42093	// The ID of the Capacity Reservation.
42094	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
42095}
42096
42097// String returns the string representation
42098func (s CapacityReservationTargetResponse) String() string {
42099	return awsutil.Prettify(s)
42100}
42101
42102// GoString returns the string representation
42103func (s CapacityReservationTargetResponse) GoString() string {
42104	return s.String()
42105}
42106
42107// SetCapacityReservationId sets the CapacityReservationId field's value.
42108func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) *CapacityReservationTargetResponse {
42109	s.CapacityReservationId = &v
42110	return s
42111}
42112
42113// Information about the client certificate used for authentication.
42114type CertificateAuthentication struct {
42115	_ struct{} `type:"structure"`
42116
42117	// The ARN of the client certificate.
42118	ClientRootCertificateChain *string `locationName:"clientRootCertificateChain" type:"string"`
42119}
42120
42121// String returns the string representation
42122func (s CertificateAuthentication) String() string {
42123	return awsutil.Prettify(s)
42124}
42125
42126// GoString returns the string representation
42127func (s CertificateAuthentication) GoString() string {
42128	return s.String()
42129}
42130
42131// SetClientRootCertificateChain sets the ClientRootCertificateChain field's value.
42132func (s *CertificateAuthentication) SetClientRootCertificateChain(v string) *CertificateAuthentication {
42133	s.ClientRootCertificateChain = &v
42134	return s
42135}
42136
42137// Information about the client certificate to be used for authentication.
42138type CertificateAuthenticationRequest struct {
42139	_ struct{} `type:"structure"`
42140
42141	// The ARN of the client certificate. The certificate must be signed by a certificate
42142	// authority (CA) and it must be provisioned in AWS Certificate Manager (ACM).
42143	ClientRootCertificateChainArn *string `type:"string"`
42144}
42145
42146// String returns the string representation
42147func (s CertificateAuthenticationRequest) String() string {
42148	return awsutil.Prettify(s)
42149}
42150
42151// GoString returns the string representation
42152func (s CertificateAuthenticationRequest) GoString() string {
42153	return s.String()
42154}
42155
42156// SetClientRootCertificateChainArn sets the ClientRootCertificateChainArn field's value.
42157func (s *CertificateAuthenticationRequest) SetClientRootCertificateChainArn(v string) *CertificateAuthenticationRequest {
42158	s.ClientRootCertificateChainArn = &v
42159	return s
42160}
42161
42162// Provides authorization for Amazon to bring a specific IP address range to
42163// a specific AWS account using bring your own IP addresses (BYOIP). For more
42164// information, see Prepare to Bring Your Address Range to Your AWS Account
42165// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip)
42166// in the Amazon Elastic Compute Cloud User Guide.
42167type CidrAuthorizationContext struct {
42168	_ struct{} `type:"structure"`
42169
42170	// The plain-text authorization message for the prefix and account.
42171	//
42172	// Message is a required field
42173	Message *string `type:"string" required:"true"`
42174
42175	// The signed authorization message for the prefix and account.
42176	//
42177	// Signature is a required field
42178	Signature *string `type:"string" required:"true"`
42179}
42180
42181// String returns the string representation
42182func (s CidrAuthorizationContext) String() string {
42183	return awsutil.Prettify(s)
42184}
42185
42186// GoString returns the string representation
42187func (s CidrAuthorizationContext) GoString() string {
42188	return s.String()
42189}
42190
42191// Validate inspects the fields of the type to determine if they are valid.
42192func (s *CidrAuthorizationContext) Validate() error {
42193	invalidParams := request.ErrInvalidParams{Context: "CidrAuthorizationContext"}
42194	if s.Message == nil {
42195		invalidParams.Add(request.NewErrParamRequired("Message"))
42196	}
42197	if s.Signature == nil {
42198		invalidParams.Add(request.NewErrParamRequired("Signature"))
42199	}
42200
42201	if invalidParams.Len() > 0 {
42202		return invalidParams
42203	}
42204	return nil
42205}
42206
42207// SetMessage sets the Message field's value.
42208func (s *CidrAuthorizationContext) SetMessage(v string) *CidrAuthorizationContext {
42209	s.Message = &v
42210	return s
42211}
42212
42213// SetSignature sets the Signature field's value.
42214func (s *CidrAuthorizationContext) SetSignature(v string) *CidrAuthorizationContext {
42215	s.Signature = &v
42216	return s
42217}
42218
42219// Describes an IPv4 CIDR block.
42220type CidrBlock struct {
42221	_ struct{} `type:"structure"`
42222
42223	// The IPv4 CIDR block.
42224	CidrBlock *string `locationName:"cidrBlock" type:"string"`
42225}
42226
42227// String returns the string representation
42228func (s CidrBlock) String() string {
42229	return awsutil.Prettify(s)
42230}
42231
42232// GoString returns the string representation
42233func (s CidrBlock) GoString() string {
42234	return s.String()
42235}
42236
42237// SetCidrBlock sets the CidrBlock field's value.
42238func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock {
42239	s.CidrBlock = &v
42240	return s
42241}
42242
42243// Describes the ClassicLink DNS support status of a VPC.
42244type ClassicLinkDnsSupport struct {
42245	_ struct{} `type:"structure"`
42246
42247	// Indicates whether ClassicLink DNS support is enabled for the VPC.
42248	ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
42249
42250	// The ID of the VPC.
42251	VpcId *string `locationName:"vpcId" type:"string"`
42252}
42253
42254// String returns the string representation
42255func (s ClassicLinkDnsSupport) String() string {
42256	return awsutil.Prettify(s)
42257}
42258
42259// GoString returns the string representation
42260func (s ClassicLinkDnsSupport) GoString() string {
42261	return s.String()
42262}
42263
42264// SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
42265func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
42266	s.ClassicLinkDnsSupported = &v
42267	return s
42268}
42269
42270// SetVpcId sets the VpcId field's value.
42271func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
42272	s.VpcId = &v
42273	return s
42274}
42275
42276// Describes a linked EC2-Classic instance.
42277type ClassicLinkInstance struct {
42278	_ struct{} `type:"structure"`
42279
42280	// A list of security groups.
42281	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
42282
42283	// The ID of the instance.
42284	InstanceId *string `locationName:"instanceId" type:"string"`
42285
42286	// Any tags assigned to the instance.
42287	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
42288
42289	// The ID of the VPC.
42290	VpcId *string `locationName:"vpcId" type:"string"`
42291}
42292
42293// String returns the string representation
42294func (s ClassicLinkInstance) String() string {
42295	return awsutil.Prettify(s)
42296}
42297
42298// GoString returns the string representation
42299func (s ClassicLinkInstance) GoString() string {
42300	return s.String()
42301}
42302
42303// SetGroups sets the Groups field's value.
42304func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
42305	s.Groups = v
42306	return s
42307}
42308
42309// SetInstanceId sets the InstanceId field's value.
42310func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
42311	s.InstanceId = &v
42312	return s
42313}
42314
42315// SetTags sets the Tags field's value.
42316func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
42317	s.Tags = v
42318	return s
42319}
42320
42321// SetVpcId sets the VpcId field's value.
42322func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
42323	s.VpcId = &v
42324	return s
42325}
42326
42327// Describes a Classic Load Balancer.
42328type ClassicLoadBalancer struct {
42329	_ struct{} `type:"structure"`
42330
42331	// The name of the load balancer.
42332	Name *string `locationName:"name" type:"string"`
42333}
42334
42335// String returns the string representation
42336func (s ClassicLoadBalancer) String() string {
42337	return awsutil.Prettify(s)
42338}
42339
42340// GoString returns the string representation
42341func (s ClassicLoadBalancer) GoString() string {
42342	return s.String()
42343}
42344
42345// SetName sets the Name field's value.
42346func (s *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer {
42347	s.Name = &v
42348	return s
42349}
42350
42351// Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet
42352// registers the running Spot Instances with these Classic Load Balancers.
42353type ClassicLoadBalancersConfig struct {
42354	_ struct{} `type:"structure"`
42355
42356	// One or more Classic Load Balancers.
42357	ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list"`
42358}
42359
42360// String returns the string representation
42361func (s ClassicLoadBalancersConfig) String() string {
42362	return awsutil.Prettify(s)
42363}
42364
42365// GoString returns the string representation
42366func (s ClassicLoadBalancersConfig) GoString() string {
42367	return s.String()
42368}
42369
42370// Validate inspects the fields of the type to determine if they are valid.
42371func (s *ClassicLoadBalancersConfig) Validate() error {
42372	invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"}
42373	if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 {
42374		invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1))
42375	}
42376
42377	if invalidParams.Len() > 0 {
42378		return invalidParams
42379	}
42380	return nil
42381}
42382
42383// SetClassicLoadBalancers sets the ClassicLoadBalancers field's value.
42384func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBalancer) *ClassicLoadBalancersConfig {
42385	s.ClassicLoadBalancers = v
42386	return s
42387}
42388
42389// Describes the state of a client certificate revocation list.
42390type ClientCertificateRevocationListStatus struct {
42391	_ struct{} `type:"structure"`
42392
42393	// The state of the client certificate revocation list.
42394	Code *string `locationName:"code" type:"string" enum:"ClientCertificateRevocationListStatusCode"`
42395
42396	// A message about the status of the client certificate revocation list, if
42397	// applicable.
42398	Message *string `locationName:"message" type:"string"`
42399}
42400
42401// String returns the string representation
42402func (s ClientCertificateRevocationListStatus) String() string {
42403	return awsutil.Prettify(s)
42404}
42405
42406// GoString returns the string representation
42407func (s ClientCertificateRevocationListStatus) GoString() string {
42408	return s.String()
42409}
42410
42411// SetCode sets the Code field's value.
42412func (s *ClientCertificateRevocationListStatus) SetCode(v string) *ClientCertificateRevocationListStatus {
42413	s.Code = &v
42414	return s
42415}
42416
42417// SetMessage sets the Message field's value.
42418func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCertificateRevocationListStatus {
42419	s.Message = &v
42420	return s
42421}
42422
42423// Describes the client-specific data.
42424type ClientData struct {
42425	_ struct{} `type:"structure"`
42426
42427	// A user-defined comment about the disk upload.
42428	Comment *string `type:"string"`
42429
42430	// The time that the disk upload ends.
42431	UploadEnd *time.Time `type:"timestamp"`
42432
42433	// The size of the uploaded disk image, in GiB.
42434	UploadSize *float64 `type:"double"`
42435
42436	// The time that the disk upload starts.
42437	UploadStart *time.Time `type:"timestamp"`
42438}
42439
42440// String returns the string representation
42441func (s ClientData) String() string {
42442	return awsutil.Prettify(s)
42443}
42444
42445// GoString returns the string representation
42446func (s ClientData) GoString() string {
42447	return s.String()
42448}
42449
42450// SetComment sets the Comment field's value.
42451func (s *ClientData) SetComment(v string) *ClientData {
42452	s.Comment = &v
42453	return s
42454}
42455
42456// SetUploadEnd sets the UploadEnd field's value.
42457func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
42458	s.UploadEnd = &v
42459	return s
42460}
42461
42462// SetUploadSize sets the UploadSize field's value.
42463func (s *ClientData) SetUploadSize(v float64) *ClientData {
42464	s.UploadSize = &v
42465	return s
42466}
42467
42468// SetUploadStart sets the UploadStart field's value.
42469func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
42470	s.UploadStart = &v
42471	return s
42472}
42473
42474// Describes the authentication methods used by a Client VPN endpoint. Client
42475// VPN supports Active Directory and mutual authentication. For more information,
42476// see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
42477// in the AWS Client VPN Administrator Guide.
42478type ClientVpnAuthentication struct {
42479	_ struct{} `type:"structure"`
42480
42481	// Information about the Active Directory, if applicable.
42482	ActiveDirectory *DirectoryServiceAuthentication `locationName:"activeDirectory" type:"structure"`
42483
42484	// Information about the authentication certificates, if applicable.
42485	MutualAuthentication *CertificateAuthentication `locationName:"mutualAuthentication" type:"structure"`
42486
42487	// The authentication type used.
42488	Type *string `locationName:"type" type:"string" enum:"ClientVpnAuthenticationType"`
42489}
42490
42491// String returns the string representation
42492func (s ClientVpnAuthentication) String() string {
42493	return awsutil.Prettify(s)
42494}
42495
42496// GoString returns the string representation
42497func (s ClientVpnAuthentication) GoString() string {
42498	return s.String()
42499}
42500
42501// SetActiveDirectory sets the ActiveDirectory field's value.
42502func (s *ClientVpnAuthentication) SetActiveDirectory(v *DirectoryServiceAuthentication) *ClientVpnAuthentication {
42503	s.ActiveDirectory = v
42504	return s
42505}
42506
42507// SetMutualAuthentication sets the MutualAuthentication field's value.
42508func (s *ClientVpnAuthentication) SetMutualAuthentication(v *CertificateAuthentication) *ClientVpnAuthentication {
42509	s.MutualAuthentication = v
42510	return s
42511}
42512
42513// SetType sets the Type field's value.
42514func (s *ClientVpnAuthentication) SetType(v string) *ClientVpnAuthentication {
42515	s.Type = &v
42516	return s
42517}
42518
42519// Describes the authentication method to be used by a Client VPN endpoint.
42520// Client VPN supports Active Directory and mutual authentication. For more
42521// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
42522// in the AWS Client VPN Administrator Guide.
42523type ClientVpnAuthenticationRequest struct {
42524	_ struct{} `type:"structure"`
42525
42526	// Information about the Active Directory to be used, if applicable. You must
42527	// provide this information if Type is directory-service-authentication.
42528	ActiveDirectory *DirectoryServiceAuthenticationRequest `type:"structure"`
42529
42530	// Information about the authentication certificates to be used, if applicable.
42531	// You must provide this information if Type is certificate-authentication.
42532	MutualAuthentication *CertificateAuthenticationRequest `type:"structure"`
42533
42534	// The type of client authentication to be used. Specify certificate-authentication
42535	// to use certificate-based authentication, or directory-service-authentication
42536	// to use Active Directory authentication.
42537	Type *string `type:"string" enum:"ClientVpnAuthenticationType"`
42538}
42539
42540// String returns the string representation
42541func (s ClientVpnAuthenticationRequest) String() string {
42542	return awsutil.Prettify(s)
42543}
42544
42545// GoString returns the string representation
42546func (s ClientVpnAuthenticationRequest) GoString() string {
42547	return s.String()
42548}
42549
42550// SetActiveDirectory sets the ActiveDirectory field's value.
42551func (s *ClientVpnAuthenticationRequest) SetActiveDirectory(v *DirectoryServiceAuthenticationRequest) *ClientVpnAuthenticationRequest {
42552	s.ActiveDirectory = v
42553	return s
42554}
42555
42556// SetMutualAuthentication sets the MutualAuthentication field's value.
42557func (s *ClientVpnAuthenticationRequest) SetMutualAuthentication(v *CertificateAuthenticationRequest) *ClientVpnAuthenticationRequest {
42558	s.MutualAuthentication = v
42559	return s
42560}
42561
42562// SetType sets the Type field's value.
42563func (s *ClientVpnAuthenticationRequest) SetType(v string) *ClientVpnAuthenticationRequest {
42564	s.Type = &v
42565	return s
42566}
42567
42568// Describes the state of an authorization rule.
42569type ClientVpnAuthorizationRuleStatus struct {
42570	_ struct{} `type:"structure"`
42571
42572	// The state of the authorization rule.
42573	Code *string `locationName:"code" type:"string" enum:"ClientVpnAuthorizationRuleStatusCode"`
42574
42575	// A message about the status of the authorization rule, if applicable.
42576	Message *string `locationName:"message" type:"string"`
42577}
42578
42579// String returns the string representation
42580func (s ClientVpnAuthorizationRuleStatus) String() string {
42581	return awsutil.Prettify(s)
42582}
42583
42584// GoString returns the string representation
42585func (s ClientVpnAuthorizationRuleStatus) GoString() string {
42586	return s.String()
42587}
42588
42589// SetCode sets the Code field's value.
42590func (s *ClientVpnAuthorizationRuleStatus) SetCode(v string) *ClientVpnAuthorizationRuleStatus {
42591	s.Code = &v
42592	return s
42593}
42594
42595// SetMessage sets the Message field's value.
42596func (s *ClientVpnAuthorizationRuleStatus) SetMessage(v string) *ClientVpnAuthorizationRuleStatus {
42597	s.Message = &v
42598	return s
42599}
42600
42601// Describes a client connection.
42602type ClientVpnConnection struct {
42603	_ struct{} `type:"structure"`
42604
42605	// The IP address of the client.
42606	ClientIp *string `locationName:"clientIp" type:"string"`
42607
42608	// The ID of the Client VPN endpoint to which the client is connected.
42609	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
42610
42611	// The common name associated with the client. This is either the name of the
42612	// client certificate, or the Active Directory user name.
42613	CommonName *string `locationName:"commonName" type:"string"`
42614
42615	// The date and time the client connection was terminated.
42616	ConnectionEndTime *string `locationName:"connectionEndTime" type:"string"`
42617
42618	// The date and time the client connection was established.
42619	ConnectionEstablishedTime *string `locationName:"connectionEstablishedTime" type:"string"`
42620
42621	// The ID of the client connection.
42622	ConnectionId *string `locationName:"connectionId" type:"string"`
42623
42624	// The number of bytes received by the client.
42625	EgressBytes *string `locationName:"egressBytes" type:"string"`
42626
42627	// The number of packets received by the client.
42628	EgressPackets *string `locationName:"egressPackets" type:"string"`
42629
42630	// The number of bytes sent by the client.
42631	IngressBytes *string `locationName:"ingressBytes" type:"string"`
42632
42633	// The number of packets sent by the client.
42634	IngressPackets *string `locationName:"ingressPackets" type:"string"`
42635
42636	// The current state of the client connection.
42637	Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"`
42638
42639	// The current date and time.
42640	Timestamp *string `locationName:"timestamp" type:"string"`
42641
42642	// The username of the client who established the client connection. This information
42643	// is only provided if Active Directory client authentication is used.
42644	Username *string `locationName:"username" type:"string"`
42645}
42646
42647// String returns the string representation
42648func (s ClientVpnConnection) String() string {
42649	return awsutil.Prettify(s)
42650}
42651
42652// GoString returns the string representation
42653func (s ClientVpnConnection) GoString() string {
42654	return s.String()
42655}
42656
42657// SetClientIp sets the ClientIp field's value.
42658func (s *ClientVpnConnection) SetClientIp(v string) *ClientVpnConnection {
42659	s.ClientIp = &v
42660	return s
42661}
42662
42663// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
42664func (s *ClientVpnConnection) SetClientVpnEndpointId(v string) *ClientVpnConnection {
42665	s.ClientVpnEndpointId = &v
42666	return s
42667}
42668
42669// SetCommonName sets the CommonName field's value.
42670func (s *ClientVpnConnection) SetCommonName(v string) *ClientVpnConnection {
42671	s.CommonName = &v
42672	return s
42673}
42674
42675// SetConnectionEndTime sets the ConnectionEndTime field's value.
42676func (s *ClientVpnConnection) SetConnectionEndTime(v string) *ClientVpnConnection {
42677	s.ConnectionEndTime = &v
42678	return s
42679}
42680
42681// SetConnectionEstablishedTime sets the ConnectionEstablishedTime field's value.
42682func (s *ClientVpnConnection) SetConnectionEstablishedTime(v string) *ClientVpnConnection {
42683	s.ConnectionEstablishedTime = &v
42684	return s
42685}
42686
42687// SetConnectionId sets the ConnectionId field's value.
42688func (s *ClientVpnConnection) SetConnectionId(v string) *ClientVpnConnection {
42689	s.ConnectionId = &v
42690	return s
42691}
42692
42693// SetEgressBytes sets the EgressBytes field's value.
42694func (s *ClientVpnConnection) SetEgressBytes(v string) *ClientVpnConnection {
42695	s.EgressBytes = &v
42696	return s
42697}
42698
42699// SetEgressPackets sets the EgressPackets field's value.
42700func (s *ClientVpnConnection) SetEgressPackets(v string) *ClientVpnConnection {
42701	s.EgressPackets = &v
42702	return s
42703}
42704
42705// SetIngressBytes sets the IngressBytes field's value.
42706func (s *ClientVpnConnection) SetIngressBytes(v string) *ClientVpnConnection {
42707	s.IngressBytes = &v
42708	return s
42709}
42710
42711// SetIngressPackets sets the IngressPackets field's value.
42712func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection {
42713	s.IngressPackets = &v
42714	return s
42715}
42716
42717// SetStatus sets the Status field's value.
42718func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection {
42719	s.Status = v
42720	return s
42721}
42722
42723// SetTimestamp sets the Timestamp field's value.
42724func (s *ClientVpnConnection) SetTimestamp(v string) *ClientVpnConnection {
42725	s.Timestamp = &v
42726	return s
42727}
42728
42729// SetUsername sets the Username field's value.
42730func (s *ClientVpnConnection) SetUsername(v string) *ClientVpnConnection {
42731	s.Username = &v
42732	return s
42733}
42734
42735// Describes the status of a client connection.
42736type ClientVpnConnectionStatus struct {
42737	_ struct{} `type:"structure"`
42738
42739	// The state of the client connection.
42740	Code *string `locationName:"code" type:"string" enum:"ClientVpnConnectionStatusCode"`
42741
42742	// A message about the status of the client connection, if applicable.
42743	Message *string `locationName:"message" type:"string"`
42744}
42745
42746// String returns the string representation
42747func (s ClientVpnConnectionStatus) String() string {
42748	return awsutil.Prettify(s)
42749}
42750
42751// GoString returns the string representation
42752func (s ClientVpnConnectionStatus) GoString() string {
42753	return s.String()
42754}
42755
42756// SetCode sets the Code field's value.
42757func (s *ClientVpnConnectionStatus) SetCode(v string) *ClientVpnConnectionStatus {
42758	s.Code = &v
42759	return s
42760}
42761
42762// SetMessage sets the Message field's value.
42763func (s *ClientVpnConnectionStatus) SetMessage(v string) *ClientVpnConnectionStatus {
42764	s.Message = &v
42765	return s
42766}
42767
42768// Describes a Client VPN endpoint.
42769type ClientVpnEndpoint struct {
42770	_ struct{} `type:"structure"`
42771
42772	// Information about the associated target networks. A target network is a subnet
42773	// in a VPC.
42774	//
42775	// Deprecated: This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.
42776	AssociatedTargetNetworks []*AssociatedTargetNetwork `locationName:"associatedTargetNetwork" locationNameList:"item" deprecated:"true" type:"list"`
42777
42778	// Information about the authentication method used by the Client VPN endpoint.
42779	AuthenticationOptions []*ClientVpnAuthentication `locationName:"authenticationOptions" locationNameList:"item" type:"list"`
42780
42781	// The IPv4 address range, in CIDR notation, from which client IP addresses
42782	// are assigned.
42783	ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"`
42784
42785	// The ID of the Client VPN endpoint.
42786	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
42787
42788	// Information about the client connection logging options for the Client VPN
42789	// endpoint.
42790	ConnectionLogOptions *ConnectionLogResponseOptions `locationName:"connectionLogOptions" type:"structure"`
42791
42792	// The date and time the Client VPN endpoint was created.
42793	CreationTime *string `locationName:"creationTime" type:"string"`
42794
42795	// The date and time the Client VPN endpoint was deleted, if applicable.
42796	DeletionTime *string `locationName:"deletionTime" type:"string"`
42797
42798	// A brief description of the endpoint.
42799	Description *string `locationName:"description" type:"string"`
42800
42801	// The DNS name to be used by clients when connecting to the Client VPN endpoint.
42802	DnsName *string `locationName:"dnsName" type:"string"`
42803
42804	// Information about the DNS servers to be used for DNS resolution.
42805	DnsServers []*string `locationName:"dnsServer" locationNameList:"item" type:"list"`
42806
42807	// The IDs of the security groups for the target network.
42808	SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
42809
42810	// The ARN of the server certificate.
42811	ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"`
42812
42813	// Indicates whether split-tunnel is enabled in the AWS Client VPN endpoint.
42814	//
42815	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
42816	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
42817	// in the AWS Client VPN Administrator Guide.
42818	SplitTunnel *bool `locationName:"splitTunnel" type:"boolean"`
42819
42820	// The current state of the Client VPN endpoint.
42821	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
42822
42823	// Any tags assigned to the Client VPN endpoint.
42824	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
42825
42826	// The transport protocol used by the Client VPN endpoint.
42827	TransportProtocol *string `locationName:"transportProtocol" type:"string" enum:"TransportProtocol"`
42828
42829	// The ID of the VPC.
42830	VpcId *string `locationName:"vpcId" type:"string"`
42831
42832	// The port number for the Client VPN endpoint.
42833	VpnPort *int64 `locationName:"vpnPort" type:"integer"`
42834
42835	// The protocol used by the VPN session.
42836	VpnProtocol *string `locationName:"vpnProtocol" type:"string" enum:"VpnProtocol"`
42837}
42838
42839// String returns the string representation
42840func (s ClientVpnEndpoint) String() string {
42841	return awsutil.Prettify(s)
42842}
42843
42844// GoString returns the string representation
42845func (s ClientVpnEndpoint) GoString() string {
42846	return s.String()
42847}
42848
42849// SetAssociatedTargetNetworks sets the AssociatedTargetNetworks field's value.
42850func (s *ClientVpnEndpoint) SetAssociatedTargetNetworks(v []*AssociatedTargetNetwork) *ClientVpnEndpoint {
42851	s.AssociatedTargetNetworks = v
42852	return s
42853}
42854
42855// SetAuthenticationOptions sets the AuthenticationOptions field's value.
42856func (s *ClientVpnEndpoint) SetAuthenticationOptions(v []*ClientVpnAuthentication) *ClientVpnEndpoint {
42857	s.AuthenticationOptions = v
42858	return s
42859}
42860
42861// SetClientCidrBlock sets the ClientCidrBlock field's value.
42862func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint {
42863	s.ClientCidrBlock = &v
42864	return s
42865}
42866
42867// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
42868func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint {
42869	s.ClientVpnEndpointId = &v
42870	return s
42871}
42872
42873// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
42874func (s *ClientVpnEndpoint) SetConnectionLogOptions(v *ConnectionLogResponseOptions) *ClientVpnEndpoint {
42875	s.ConnectionLogOptions = v
42876	return s
42877}
42878
42879// SetCreationTime sets the CreationTime field's value.
42880func (s *ClientVpnEndpoint) SetCreationTime(v string) *ClientVpnEndpoint {
42881	s.CreationTime = &v
42882	return s
42883}
42884
42885// SetDeletionTime sets the DeletionTime field's value.
42886func (s *ClientVpnEndpoint) SetDeletionTime(v string) *ClientVpnEndpoint {
42887	s.DeletionTime = &v
42888	return s
42889}
42890
42891// SetDescription sets the Description field's value.
42892func (s *ClientVpnEndpoint) SetDescription(v string) *ClientVpnEndpoint {
42893	s.Description = &v
42894	return s
42895}
42896
42897// SetDnsName sets the DnsName field's value.
42898func (s *ClientVpnEndpoint) SetDnsName(v string) *ClientVpnEndpoint {
42899	s.DnsName = &v
42900	return s
42901}
42902
42903// SetDnsServers sets the DnsServers field's value.
42904func (s *ClientVpnEndpoint) SetDnsServers(v []*string) *ClientVpnEndpoint {
42905	s.DnsServers = v
42906	return s
42907}
42908
42909// SetSecurityGroupIds sets the SecurityGroupIds field's value.
42910func (s *ClientVpnEndpoint) SetSecurityGroupIds(v []*string) *ClientVpnEndpoint {
42911	s.SecurityGroupIds = v
42912	return s
42913}
42914
42915// SetServerCertificateArn sets the ServerCertificateArn field's value.
42916func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint {
42917	s.ServerCertificateArn = &v
42918	return s
42919}
42920
42921// SetSplitTunnel sets the SplitTunnel field's value.
42922func (s *ClientVpnEndpoint) SetSplitTunnel(v bool) *ClientVpnEndpoint {
42923	s.SplitTunnel = &v
42924	return s
42925}
42926
42927// SetStatus sets the Status field's value.
42928func (s *ClientVpnEndpoint) SetStatus(v *ClientVpnEndpointStatus) *ClientVpnEndpoint {
42929	s.Status = v
42930	return s
42931}
42932
42933// SetTags sets the Tags field's value.
42934func (s *ClientVpnEndpoint) SetTags(v []*Tag) *ClientVpnEndpoint {
42935	s.Tags = v
42936	return s
42937}
42938
42939// SetTransportProtocol sets the TransportProtocol field's value.
42940func (s *ClientVpnEndpoint) SetTransportProtocol(v string) *ClientVpnEndpoint {
42941	s.TransportProtocol = &v
42942	return s
42943}
42944
42945// SetVpcId sets the VpcId field's value.
42946func (s *ClientVpnEndpoint) SetVpcId(v string) *ClientVpnEndpoint {
42947	s.VpcId = &v
42948	return s
42949}
42950
42951// SetVpnPort sets the VpnPort field's value.
42952func (s *ClientVpnEndpoint) SetVpnPort(v int64) *ClientVpnEndpoint {
42953	s.VpnPort = &v
42954	return s
42955}
42956
42957// SetVpnProtocol sets the VpnProtocol field's value.
42958func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint {
42959	s.VpnProtocol = &v
42960	return s
42961}
42962
42963// Describes the state of a Client VPN endpoint.
42964type ClientVpnEndpointStatus struct {
42965	_ struct{} `type:"structure"`
42966
42967	// The state of the Client VPN endpoint. Possible states include:
42968	//
42969	//    * pending-associate - The Client VPN endpoint has been created but no
42970	//    target networks have been associated. The Client VPN endpoint cannot accept
42971	//    connections.
42972	//
42973	//    * available - The Client VPN endpoint has been created and a target network
42974	//    has been associated. The Client VPN endpoint can accept connections.
42975	//
42976	//    * deleting - The Client VPN endpoint is being deleted. The Client VPN
42977	//    endpoint cannot accept connections.
42978	//
42979	//    * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint
42980	//    cannot accept connections.
42981	Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointStatusCode"`
42982
42983	// A message about the status of the Client VPN endpoint.
42984	Message *string `locationName:"message" type:"string"`
42985}
42986
42987// String returns the string representation
42988func (s ClientVpnEndpointStatus) String() string {
42989	return awsutil.Prettify(s)
42990}
42991
42992// GoString returns the string representation
42993func (s ClientVpnEndpointStatus) GoString() string {
42994	return s.String()
42995}
42996
42997// SetCode sets the Code field's value.
42998func (s *ClientVpnEndpointStatus) SetCode(v string) *ClientVpnEndpointStatus {
42999	s.Code = &v
43000	return s
43001}
43002
43003// SetMessage sets the Message field's value.
43004func (s *ClientVpnEndpointStatus) SetMessage(v string) *ClientVpnEndpointStatus {
43005	s.Message = &v
43006	return s
43007}
43008
43009// Information about a Client VPN endpoint route.
43010type ClientVpnRoute struct {
43011	_ struct{} `type:"structure"`
43012
43013	// The ID of the Client VPN endpoint with which the route is associated.
43014	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
43015
43016	// A brief description of the route.
43017	Description *string `locationName:"description" type:"string"`
43018
43019	// The IPv4 address range, in CIDR notation, of the route destination.
43020	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
43021
43022	// Indicates how the route was associated with the Client VPN endpoint. associate
43023	// indicates that the route was automatically added when the target network
43024	// was associated with the Client VPN endpoint. add-route indicates that the
43025	// route was manually added using the CreateClientVpnRoute action.
43026	Origin *string `locationName:"origin" type:"string"`
43027
43028	// The current state of the route.
43029	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
43030
43031	// The ID of the subnet through which traffic is routed.
43032	TargetSubnet *string `locationName:"targetSubnet" type:"string"`
43033
43034	// The route type.
43035	Type *string `locationName:"type" type:"string"`
43036}
43037
43038// String returns the string representation
43039func (s ClientVpnRoute) String() string {
43040	return awsutil.Prettify(s)
43041}
43042
43043// GoString returns the string representation
43044func (s ClientVpnRoute) GoString() string {
43045	return s.String()
43046}
43047
43048// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
43049func (s *ClientVpnRoute) SetClientVpnEndpointId(v string) *ClientVpnRoute {
43050	s.ClientVpnEndpointId = &v
43051	return s
43052}
43053
43054// SetDescription sets the Description field's value.
43055func (s *ClientVpnRoute) SetDescription(v string) *ClientVpnRoute {
43056	s.Description = &v
43057	return s
43058}
43059
43060// SetDestinationCidr sets the DestinationCidr field's value.
43061func (s *ClientVpnRoute) SetDestinationCidr(v string) *ClientVpnRoute {
43062	s.DestinationCidr = &v
43063	return s
43064}
43065
43066// SetOrigin sets the Origin field's value.
43067func (s *ClientVpnRoute) SetOrigin(v string) *ClientVpnRoute {
43068	s.Origin = &v
43069	return s
43070}
43071
43072// SetStatus sets the Status field's value.
43073func (s *ClientVpnRoute) SetStatus(v *ClientVpnRouteStatus) *ClientVpnRoute {
43074	s.Status = v
43075	return s
43076}
43077
43078// SetTargetSubnet sets the TargetSubnet field's value.
43079func (s *ClientVpnRoute) SetTargetSubnet(v string) *ClientVpnRoute {
43080	s.TargetSubnet = &v
43081	return s
43082}
43083
43084// SetType sets the Type field's value.
43085func (s *ClientVpnRoute) SetType(v string) *ClientVpnRoute {
43086	s.Type = &v
43087	return s
43088}
43089
43090// Describes the state of a Client VPN endpoint route.
43091type ClientVpnRouteStatus struct {
43092	_ struct{} `type:"structure"`
43093
43094	// The state of the Client VPN endpoint route.
43095	Code *string `locationName:"code" type:"string" enum:"ClientVpnRouteStatusCode"`
43096
43097	// A message about the status of the Client VPN endpoint route, if applicable.
43098	Message *string `locationName:"message" type:"string"`
43099}
43100
43101// String returns the string representation
43102func (s ClientVpnRouteStatus) String() string {
43103	return awsutil.Prettify(s)
43104}
43105
43106// GoString returns the string representation
43107func (s ClientVpnRouteStatus) GoString() string {
43108	return s.String()
43109}
43110
43111// SetCode sets the Code field's value.
43112func (s *ClientVpnRouteStatus) SetCode(v string) *ClientVpnRouteStatus {
43113	s.Code = &v
43114	return s
43115}
43116
43117// SetMessage sets the Message field's value.
43118func (s *ClientVpnRouteStatus) SetMessage(v string) *ClientVpnRouteStatus {
43119	s.Message = &v
43120	return s
43121}
43122
43123// Describes address usage for a customer-owned address pool.
43124type CoipAddressUsage struct {
43125	_ struct{} `type:"structure"`
43126
43127	// The allocation ID of the address.
43128	AllocationId *string `locationName:"allocationId" type:"string"`
43129
43130	// The AWS account ID.
43131	AwsAccountId *string `locationName:"awsAccountId" type:"string"`
43132
43133	// The AWS service.
43134	AwsService *string `locationName:"awsService" type:"string"`
43135
43136	// The customer-owned IP address.
43137	CoIp *string `locationName:"coIp" type:"string"`
43138}
43139
43140// String returns the string representation
43141func (s CoipAddressUsage) String() string {
43142	return awsutil.Prettify(s)
43143}
43144
43145// GoString returns the string representation
43146func (s CoipAddressUsage) GoString() string {
43147	return s.String()
43148}
43149
43150// SetAllocationId sets the AllocationId field's value.
43151func (s *CoipAddressUsage) SetAllocationId(v string) *CoipAddressUsage {
43152	s.AllocationId = &v
43153	return s
43154}
43155
43156// SetAwsAccountId sets the AwsAccountId field's value.
43157func (s *CoipAddressUsage) SetAwsAccountId(v string) *CoipAddressUsage {
43158	s.AwsAccountId = &v
43159	return s
43160}
43161
43162// SetAwsService sets the AwsService field's value.
43163func (s *CoipAddressUsage) SetAwsService(v string) *CoipAddressUsage {
43164	s.AwsService = &v
43165	return s
43166}
43167
43168// SetCoIp sets the CoIp field's value.
43169func (s *CoipAddressUsage) SetCoIp(v string) *CoipAddressUsage {
43170	s.CoIp = &v
43171	return s
43172}
43173
43174// Describes a customer-owned address pool.
43175type CoipPool struct {
43176	_ struct{} `type:"structure"`
43177
43178	// The ID of the local gateway route table.
43179	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
43180
43181	// The address ranges of the address pool.
43182	PoolCidrs []*string `locationName:"poolCidrSet" locationNameList:"item" type:"list"`
43183
43184	// The ID of the address pool.
43185	PoolId *string `locationName:"poolId" type:"string"`
43186
43187	// The tags.
43188	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
43189}
43190
43191// String returns the string representation
43192func (s CoipPool) String() string {
43193	return awsutil.Prettify(s)
43194}
43195
43196// GoString returns the string representation
43197func (s CoipPool) GoString() string {
43198	return s.String()
43199}
43200
43201// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
43202func (s *CoipPool) SetLocalGatewayRouteTableId(v string) *CoipPool {
43203	s.LocalGatewayRouteTableId = &v
43204	return s
43205}
43206
43207// SetPoolCidrs sets the PoolCidrs field's value.
43208func (s *CoipPool) SetPoolCidrs(v []*string) *CoipPool {
43209	s.PoolCidrs = v
43210	return s
43211}
43212
43213// SetPoolId sets the PoolId field's value.
43214func (s *CoipPool) SetPoolId(v string) *CoipPool {
43215	s.PoolId = &v
43216	return s
43217}
43218
43219// SetTags sets the Tags field's value.
43220func (s *CoipPool) SetTags(v []*Tag) *CoipPool {
43221	s.Tags = v
43222	return s
43223}
43224
43225type ConfirmProductInstanceInput struct {
43226	_ struct{} `type:"structure"`
43227
43228	// Checks whether you have the required permissions for the action, without
43229	// actually making the request, and provides an error response. If you have
43230	// the required permissions, the error response is DryRunOperation. Otherwise,
43231	// it is UnauthorizedOperation.
43232	DryRun *bool `locationName:"dryRun" type:"boolean"`
43233
43234	// The ID of the instance.
43235	//
43236	// InstanceId is a required field
43237	InstanceId *string `type:"string" required:"true"`
43238
43239	// The product code. This must be a product code that you own.
43240	//
43241	// ProductCode is a required field
43242	ProductCode *string `type:"string" required:"true"`
43243}
43244
43245// String returns the string representation
43246func (s ConfirmProductInstanceInput) String() string {
43247	return awsutil.Prettify(s)
43248}
43249
43250// GoString returns the string representation
43251func (s ConfirmProductInstanceInput) GoString() string {
43252	return s.String()
43253}
43254
43255// Validate inspects the fields of the type to determine if they are valid.
43256func (s *ConfirmProductInstanceInput) Validate() error {
43257	invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
43258	if s.InstanceId == nil {
43259		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
43260	}
43261	if s.ProductCode == nil {
43262		invalidParams.Add(request.NewErrParamRequired("ProductCode"))
43263	}
43264
43265	if invalidParams.Len() > 0 {
43266		return invalidParams
43267	}
43268	return nil
43269}
43270
43271// SetDryRun sets the DryRun field's value.
43272func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
43273	s.DryRun = &v
43274	return s
43275}
43276
43277// SetInstanceId sets the InstanceId field's value.
43278func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
43279	s.InstanceId = &v
43280	return s
43281}
43282
43283// SetProductCode sets the ProductCode field's value.
43284func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
43285	s.ProductCode = &v
43286	return s
43287}
43288
43289type ConfirmProductInstanceOutput struct {
43290	_ struct{} `type:"structure"`
43291
43292	// The AWS account ID of the instance owner. This is only present if the product
43293	// code is attached to the instance.
43294	OwnerId *string `locationName:"ownerId" type:"string"`
43295
43296	// The return value of the request. Returns true if the specified product code
43297	// is owned by the requester and associated with the specified instance.
43298	Return *bool `locationName:"return" type:"boolean"`
43299}
43300
43301// String returns the string representation
43302func (s ConfirmProductInstanceOutput) String() string {
43303	return awsutil.Prettify(s)
43304}
43305
43306// GoString returns the string representation
43307func (s ConfirmProductInstanceOutput) GoString() string {
43308	return s.String()
43309}
43310
43311// SetOwnerId sets the OwnerId field's value.
43312func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
43313	s.OwnerId = &v
43314	return s
43315}
43316
43317// SetReturn sets the Return field's value.
43318func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
43319	s.Return = &v
43320	return s
43321}
43322
43323// Describes the client connection logging options for the Client VPN endpoint.
43324type ConnectionLogOptions struct {
43325	_ struct{} `type:"structure"`
43326
43327	// The name of the CloudWatch Logs log group.
43328	CloudwatchLogGroup *string `type:"string"`
43329
43330	// The name of the CloudWatch Logs log stream to which the connection data is
43331	// published.
43332	CloudwatchLogStream *string `type:"string"`
43333
43334	// Indicates whether connection logging is enabled.
43335	Enabled *bool `type:"boolean"`
43336}
43337
43338// String returns the string representation
43339func (s ConnectionLogOptions) String() string {
43340	return awsutil.Prettify(s)
43341}
43342
43343// GoString returns the string representation
43344func (s ConnectionLogOptions) GoString() string {
43345	return s.String()
43346}
43347
43348// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
43349func (s *ConnectionLogOptions) SetCloudwatchLogGroup(v string) *ConnectionLogOptions {
43350	s.CloudwatchLogGroup = &v
43351	return s
43352}
43353
43354// SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
43355func (s *ConnectionLogOptions) SetCloudwatchLogStream(v string) *ConnectionLogOptions {
43356	s.CloudwatchLogStream = &v
43357	return s
43358}
43359
43360// SetEnabled sets the Enabled field's value.
43361func (s *ConnectionLogOptions) SetEnabled(v bool) *ConnectionLogOptions {
43362	s.Enabled = &v
43363	return s
43364}
43365
43366// Information about the client connection logging options for a Client VPN
43367// endpoint.
43368type ConnectionLogResponseOptions struct {
43369	_ struct{} `type:"structure"`
43370
43371	// The name of the Amazon CloudWatch Logs log group to which connection logging
43372	// data is published.
43373	CloudwatchLogGroup *string `type:"string"`
43374
43375	// The name of the Amazon CloudWatch Logs log stream to which connection logging
43376	// data is published.
43377	CloudwatchLogStream *string `type:"string"`
43378
43379	// Indicates whether client connection logging is enabled for the Client VPN
43380	// endpoint.
43381	Enabled *bool `type:"boolean"`
43382}
43383
43384// String returns the string representation
43385func (s ConnectionLogResponseOptions) String() string {
43386	return awsutil.Prettify(s)
43387}
43388
43389// GoString returns the string representation
43390func (s ConnectionLogResponseOptions) GoString() string {
43391	return s.String()
43392}
43393
43394// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
43395func (s *ConnectionLogResponseOptions) SetCloudwatchLogGroup(v string) *ConnectionLogResponseOptions {
43396	s.CloudwatchLogGroup = &v
43397	return s
43398}
43399
43400// SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
43401func (s *ConnectionLogResponseOptions) SetCloudwatchLogStream(v string) *ConnectionLogResponseOptions {
43402	s.CloudwatchLogStream = &v
43403	return s
43404}
43405
43406// SetEnabled sets the Enabled field's value.
43407func (s *ConnectionLogResponseOptions) SetEnabled(v bool) *ConnectionLogResponseOptions {
43408	s.Enabled = &v
43409	return s
43410}
43411
43412// Describes a connection notification for a VPC endpoint or VPC endpoint service.
43413type ConnectionNotification struct {
43414	_ struct{} `type:"structure"`
43415
43416	// The events for the notification. Valid values are Accept, Connect, Delete,
43417	// and Reject.
43418	ConnectionEvents []*string `locationName:"connectionEvents" locationNameList:"item" type:"list"`
43419
43420	// The ARN of the SNS topic for the notification.
43421	ConnectionNotificationArn *string `locationName:"connectionNotificationArn" type:"string"`
43422
43423	// The ID of the notification.
43424	ConnectionNotificationId *string `locationName:"connectionNotificationId" type:"string"`
43425
43426	// The state of the notification.
43427	ConnectionNotificationState *string `locationName:"connectionNotificationState" type:"string" enum:"ConnectionNotificationState"`
43428
43429	// The type of notification.
43430	ConnectionNotificationType *string `locationName:"connectionNotificationType" type:"string" enum:"ConnectionNotificationType"`
43431
43432	// The ID of the endpoint service.
43433	ServiceId *string `locationName:"serviceId" type:"string"`
43434
43435	// The ID of the VPC endpoint.
43436	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
43437}
43438
43439// String returns the string representation
43440func (s ConnectionNotification) String() string {
43441	return awsutil.Prettify(s)
43442}
43443
43444// GoString returns the string representation
43445func (s ConnectionNotification) GoString() string {
43446	return s.String()
43447}
43448
43449// SetConnectionEvents sets the ConnectionEvents field's value.
43450func (s *ConnectionNotification) SetConnectionEvents(v []*string) *ConnectionNotification {
43451	s.ConnectionEvents = v
43452	return s
43453}
43454
43455// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
43456func (s *ConnectionNotification) SetConnectionNotificationArn(v string) *ConnectionNotification {
43457	s.ConnectionNotificationArn = &v
43458	return s
43459}
43460
43461// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
43462func (s *ConnectionNotification) SetConnectionNotificationId(v string) *ConnectionNotification {
43463	s.ConnectionNotificationId = &v
43464	return s
43465}
43466
43467// SetConnectionNotificationState sets the ConnectionNotificationState field's value.
43468func (s *ConnectionNotification) SetConnectionNotificationState(v string) *ConnectionNotification {
43469	s.ConnectionNotificationState = &v
43470	return s
43471}
43472
43473// SetConnectionNotificationType sets the ConnectionNotificationType field's value.
43474func (s *ConnectionNotification) SetConnectionNotificationType(v string) *ConnectionNotification {
43475	s.ConnectionNotificationType = &v
43476	return s
43477}
43478
43479// SetServiceId sets the ServiceId field's value.
43480func (s *ConnectionNotification) SetServiceId(v string) *ConnectionNotification {
43481	s.ServiceId = &v
43482	return s
43483}
43484
43485// SetVpcEndpointId sets the VpcEndpointId field's value.
43486func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotification {
43487	s.VpcEndpointId = &v
43488	return s
43489}
43490
43491// Describes a conversion task.
43492type ConversionTask struct {
43493	_ struct{} `type:"structure"`
43494
43495	// The ID of the conversion task.
43496	ConversionTaskId *string `locationName:"conversionTaskId" type:"string"`
43497
43498	// The time when the task expires. If the upload isn't complete before the expiration
43499	// time, we automatically cancel the task.
43500	ExpirationTime *string `locationName:"expirationTime" type:"string"`
43501
43502	// If the task is for importing an instance, this contains information about
43503	// the import instance task.
43504	ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
43505
43506	// If the task is for importing a volume, this contains information about the
43507	// import volume task.
43508	ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
43509
43510	// The state of the conversion task.
43511	State *string `locationName:"state" type:"string" enum:"ConversionTaskState"`
43512
43513	// The status message related to the conversion task.
43514	StatusMessage *string `locationName:"statusMessage" type:"string"`
43515
43516	// Any tags assigned to the task.
43517	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
43518}
43519
43520// String returns the string representation
43521func (s ConversionTask) String() string {
43522	return awsutil.Prettify(s)
43523}
43524
43525// GoString returns the string representation
43526func (s ConversionTask) GoString() string {
43527	return s.String()
43528}
43529
43530// SetConversionTaskId sets the ConversionTaskId field's value.
43531func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
43532	s.ConversionTaskId = &v
43533	return s
43534}
43535
43536// SetExpirationTime sets the ExpirationTime field's value.
43537func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
43538	s.ExpirationTime = &v
43539	return s
43540}
43541
43542// SetImportInstance sets the ImportInstance field's value.
43543func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
43544	s.ImportInstance = v
43545	return s
43546}
43547
43548// SetImportVolume sets the ImportVolume field's value.
43549func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
43550	s.ImportVolume = v
43551	return s
43552}
43553
43554// SetState sets the State field's value.
43555func (s *ConversionTask) SetState(v string) *ConversionTask {
43556	s.State = &v
43557	return s
43558}
43559
43560// SetStatusMessage sets the StatusMessage field's value.
43561func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
43562	s.StatusMessage = &v
43563	return s
43564}
43565
43566// SetTags sets the Tags field's value.
43567func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
43568	s.Tags = v
43569	return s
43570}
43571
43572type CopyFpgaImageInput struct {
43573	_ struct{} `type:"structure"`
43574
43575	// Unique, case-sensitive identifier that you provide to ensure the idempotency
43576	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
43577	ClientToken *string `type:"string"`
43578
43579	// The description for the new AFI.
43580	Description *string `type:"string"`
43581
43582	// Checks whether you have the required permissions for the action, without
43583	// actually making the request, and provides an error response. If you have
43584	// the required permissions, the error response is DryRunOperation. Otherwise,
43585	// it is UnauthorizedOperation.
43586	DryRun *bool `type:"boolean"`
43587
43588	// The name for the new AFI. The default is the name of the source AFI.
43589	Name *string `type:"string"`
43590
43591	// The ID of the source AFI.
43592	//
43593	// SourceFpgaImageId is a required field
43594	SourceFpgaImageId *string `type:"string" required:"true"`
43595
43596	// The Region that contains the source AFI.
43597	//
43598	// SourceRegion is a required field
43599	SourceRegion *string `type:"string" required:"true"`
43600}
43601
43602// String returns the string representation
43603func (s CopyFpgaImageInput) String() string {
43604	return awsutil.Prettify(s)
43605}
43606
43607// GoString returns the string representation
43608func (s CopyFpgaImageInput) GoString() string {
43609	return s.String()
43610}
43611
43612// Validate inspects the fields of the type to determine if they are valid.
43613func (s *CopyFpgaImageInput) Validate() error {
43614	invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"}
43615	if s.SourceFpgaImageId == nil {
43616		invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId"))
43617	}
43618	if s.SourceRegion == nil {
43619		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
43620	}
43621
43622	if invalidParams.Len() > 0 {
43623		return invalidParams
43624	}
43625	return nil
43626}
43627
43628// SetClientToken sets the ClientToken field's value.
43629func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput {
43630	s.ClientToken = &v
43631	return s
43632}
43633
43634// SetDescription sets the Description field's value.
43635func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput {
43636	s.Description = &v
43637	return s
43638}
43639
43640// SetDryRun sets the DryRun field's value.
43641func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput {
43642	s.DryRun = &v
43643	return s
43644}
43645
43646// SetName sets the Name field's value.
43647func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput {
43648	s.Name = &v
43649	return s
43650}
43651
43652// SetSourceFpgaImageId sets the SourceFpgaImageId field's value.
43653func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput {
43654	s.SourceFpgaImageId = &v
43655	return s
43656}
43657
43658// SetSourceRegion sets the SourceRegion field's value.
43659func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput {
43660	s.SourceRegion = &v
43661	return s
43662}
43663
43664type CopyFpgaImageOutput struct {
43665	_ struct{} `type:"structure"`
43666
43667	// The ID of the new AFI.
43668	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
43669}
43670
43671// String returns the string representation
43672func (s CopyFpgaImageOutput) String() string {
43673	return awsutil.Prettify(s)
43674}
43675
43676// GoString returns the string representation
43677func (s CopyFpgaImageOutput) GoString() string {
43678	return s.String()
43679}
43680
43681// SetFpgaImageId sets the FpgaImageId field's value.
43682func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput {
43683	s.FpgaImageId = &v
43684	return s
43685}
43686
43687// Contains the parameters for CopyImage.
43688type CopyImageInput struct {
43689	_ struct{} `type:"structure"`
43690
43691	// Unique, case-sensitive identifier you provide to ensure idempotency of the
43692	// request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
43693	// in the Amazon Elastic Compute Cloud User Guide.
43694	ClientToken *string `type:"string"`
43695
43696	// A description for the new AMI in the destination Region.
43697	Description *string `type:"string"`
43698
43699	// Checks whether you have the required permissions for the action, without
43700	// actually making the request, and provides an error response. If you have
43701	// the required permissions, the error response is DryRunOperation. Otherwise,
43702	// it is UnauthorizedOperation.
43703	DryRun *bool `locationName:"dryRun" type:"boolean"`
43704
43705	// Specifies whether the destination snapshots of the copied image should be
43706	// encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot
43707	// create an unencrypted copy of an encrypted snapshot. The default CMK for
43708	// EBS is used unless you specify a non-default AWS Key Management Service (AWS
43709	// KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption
43710	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
43711	// in the Amazon Elastic Compute Cloud User Guide.
43712	Encrypted *bool `locationName:"encrypted" type:"boolean"`
43713
43714	// An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
43715	// master key (CMK) to use when creating the encrypted volume. This parameter
43716	// is only required if you want to use a non-default CMK; if this parameter
43717	// is not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
43718	// the Encrypted flag must also be set.
43719	//
43720	// To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
43721	// or alias ARN. When using an alias name, prefix it with "alias/". For example:
43722	//
43723	//    * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
43724	//
43725	//    * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
43726	//
43727	//    * Alias name: alias/ExampleAlias
43728	//
43729	//    * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
43730	//
43731	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
43732	// appear to complete even though you provided an invalid identifier. This action
43733	// will eventually report failure.
43734	//
43735	// The specified CMK must exist in the Region that the snapshot is being copied
43736	// to.
43737	//
43738	// Amazon EBS does not support asymmetric CMKs.
43739	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
43740
43741	// The name of the new AMI in the destination Region.
43742	//
43743	// Name is a required field
43744	Name *string `type:"string" required:"true"`
43745
43746	// The ID of the AMI to copy.
43747	//
43748	// SourceImageId is a required field
43749	SourceImageId *string `type:"string" required:"true"`
43750
43751	// The name of the Region that contains the AMI to copy.
43752	//
43753	// SourceRegion is a required field
43754	SourceRegion *string `type:"string" required:"true"`
43755}
43756
43757// String returns the string representation
43758func (s CopyImageInput) String() string {
43759	return awsutil.Prettify(s)
43760}
43761
43762// GoString returns the string representation
43763func (s CopyImageInput) GoString() string {
43764	return s.String()
43765}
43766
43767// Validate inspects the fields of the type to determine if they are valid.
43768func (s *CopyImageInput) Validate() error {
43769	invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
43770	if s.Name == nil {
43771		invalidParams.Add(request.NewErrParamRequired("Name"))
43772	}
43773	if s.SourceImageId == nil {
43774		invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
43775	}
43776	if s.SourceRegion == nil {
43777		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
43778	}
43779
43780	if invalidParams.Len() > 0 {
43781		return invalidParams
43782	}
43783	return nil
43784}
43785
43786// SetClientToken sets the ClientToken field's value.
43787func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
43788	s.ClientToken = &v
43789	return s
43790}
43791
43792// SetDescription sets the Description field's value.
43793func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
43794	s.Description = &v
43795	return s
43796}
43797
43798// SetDryRun sets the DryRun field's value.
43799func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
43800	s.DryRun = &v
43801	return s
43802}
43803
43804// SetEncrypted sets the Encrypted field's value.
43805func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
43806	s.Encrypted = &v
43807	return s
43808}
43809
43810// SetKmsKeyId sets the KmsKeyId field's value.
43811func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
43812	s.KmsKeyId = &v
43813	return s
43814}
43815
43816// SetName sets the Name field's value.
43817func (s *CopyImageInput) SetName(v string) *CopyImageInput {
43818	s.Name = &v
43819	return s
43820}
43821
43822// SetSourceImageId sets the SourceImageId field's value.
43823func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
43824	s.SourceImageId = &v
43825	return s
43826}
43827
43828// SetSourceRegion sets the SourceRegion field's value.
43829func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
43830	s.SourceRegion = &v
43831	return s
43832}
43833
43834// Contains the output of CopyImage.
43835type CopyImageOutput struct {
43836	_ struct{} `type:"structure"`
43837
43838	// The ID of the new AMI.
43839	ImageId *string `locationName:"imageId" type:"string"`
43840}
43841
43842// String returns the string representation
43843func (s CopyImageOutput) String() string {
43844	return awsutil.Prettify(s)
43845}
43846
43847// GoString returns the string representation
43848func (s CopyImageOutput) GoString() string {
43849	return s.String()
43850}
43851
43852// SetImageId sets the ImageId field's value.
43853func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
43854	s.ImageId = &v
43855	return s
43856}
43857
43858type CopySnapshotInput struct {
43859	_ struct{} `type:"structure"`
43860
43861	// A description for the EBS snapshot.
43862	Description *string `type:"string"`
43863
43864	// The destination Region to use in the PresignedUrl parameter of a snapshot
43865	// copy operation. This parameter is only valid for specifying the destination
43866	// Region in a PresignedUrl parameter, where it is required.
43867	//
43868	// The snapshot copy is sent to the regional endpoint that you sent the HTTP
43869	// request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI,
43870	// this is specified using the --region parameter or the default Region in your
43871	// AWS configuration file.
43872	DestinationRegion *string `locationName:"destinationRegion" type:"string"`
43873
43874	// Checks whether you have the required permissions for the action, without
43875	// actually making the request, and provides an error response. If you have
43876	// the required permissions, the error response is DryRunOperation. Otherwise,
43877	// it is UnauthorizedOperation.
43878	DryRun *bool `locationName:"dryRun" type:"boolean"`
43879
43880	// To encrypt a copy of an unencrypted snapshot if encryption by default is
43881	// not enabled, enable encryption using this parameter. Otherwise, omit this
43882	// parameter. Encrypted snapshots are encrypted, even if you omit this parameter
43883	// and encryption by default is not enabled. You cannot set this parameter to
43884	// false. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
43885	// in the Amazon Elastic Compute Cloud User Guide.
43886	Encrypted *bool `locationName:"encrypted" type:"boolean"`
43887
43888	// The identifier of the AWS Key Management Service (AWS KMS) customer master
43889	// key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
43890	// your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
43891	// state must be true.
43892	//
43893	// You can specify the CMK using any of the following:
43894	//
43895	//    * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
43896	//
43897	//    * Key alias. For example, alias/ExampleAlias.
43898	//
43899	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
43900	//
43901	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
43902	//
43903	// AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
43904	// alias, or ARN that is not valid, the action can appear to complete, but eventually
43905	// fails.
43906	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
43907
43908	// When you copy an encrypted source snapshot using the Amazon EC2 Query API,
43909	// you must supply a pre-signed URL. This parameter is optional for unencrypted
43910	// snapshots. For more information, see Query Requests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html).
43911	//
43912	// The PresignedUrl should use the snapshot source endpoint, the CopySnapshot
43913	// action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion
43914	// parameters. The PresignedUrl must be signed using AWS Signature Version 4.
43915	// Because EBS snapshots are stored in Amazon S3, the signing algorithm for
43916	// this parameter uses the same logic that is described in Authenticating Requests
43917	// by Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
43918	// in the Amazon Simple Storage Service API Reference. An invalid or improperly
43919	// signed PresignedUrl will cause the copy operation to fail asynchronously,
43920	// and the snapshot will move to an error state.
43921	PresignedUrl *string `locationName:"presignedUrl" type:"string"`
43922
43923	// The ID of the Region that contains the snapshot to be copied.
43924	//
43925	// SourceRegion is a required field
43926	SourceRegion *string `type:"string" required:"true"`
43927
43928	// The ID of the EBS snapshot to copy.
43929	//
43930	// SourceSnapshotId is a required field
43931	SourceSnapshotId *string `type:"string" required:"true"`
43932
43933	// The tags to apply to the new snapshot.
43934	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
43935}
43936
43937// String returns the string representation
43938func (s CopySnapshotInput) String() string {
43939	return awsutil.Prettify(s)
43940}
43941
43942// GoString returns the string representation
43943func (s CopySnapshotInput) GoString() string {
43944	return s.String()
43945}
43946
43947// Validate inspects the fields of the type to determine if they are valid.
43948func (s *CopySnapshotInput) Validate() error {
43949	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
43950	if s.SourceRegion == nil {
43951		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
43952	}
43953	if s.SourceSnapshotId == nil {
43954		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
43955	}
43956
43957	if invalidParams.Len() > 0 {
43958		return invalidParams
43959	}
43960	return nil
43961}
43962
43963// SetDescription sets the Description field's value.
43964func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
43965	s.Description = &v
43966	return s
43967}
43968
43969// SetDestinationRegion sets the DestinationRegion field's value.
43970func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
43971	s.DestinationRegion = &v
43972	return s
43973}
43974
43975// SetDryRun sets the DryRun field's value.
43976func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
43977	s.DryRun = &v
43978	return s
43979}
43980
43981// SetEncrypted sets the Encrypted field's value.
43982func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
43983	s.Encrypted = &v
43984	return s
43985}
43986
43987// SetKmsKeyId sets the KmsKeyId field's value.
43988func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
43989	s.KmsKeyId = &v
43990	return s
43991}
43992
43993// SetPresignedUrl sets the PresignedUrl field's value.
43994func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
43995	s.PresignedUrl = &v
43996	return s
43997}
43998
43999// SetSourceRegion sets the SourceRegion field's value.
44000func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
44001	s.SourceRegion = &v
44002	return s
44003}
44004
44005// SetSourceSnapshotId sets the SourceSnapshotId field's value.
44006func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
44007	s.SourceSnapshotId = &v
44008	return s
44009}
44010
44011// SetTagSpecifications sets the TagSpecifications field's value.
44012func (s *CopySnapshotInput) SetTagSpecifications(v []*TagSpecification) *CopySnapshotInput {
44013	s.TagSpecifications = v
44014	return s
44015}
44016
44017type CopySnapshotOutput struct {
44018	_ struct{} `type:"structure"`
44019
44020	// The ID of the new snapshot.
44021	SnapshotId *string `locationName:"snapshotId" type:"string"`
44022
44023	// Any tags applied to the new snapshot.
44024	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
44025}
44026
44027// String returns the string representation
44028func (s CopySnapshotOutput) String() string {
44029	return awsutil.Prettify(s)
44030}
44031
44032// GoString returns the string representation
44033func (s CopySnapshotOutput) GoString() string {
44034	return s.String()
44035}
44036
44037// SetSnapshotId sets the SnapshotId field's value.
44038func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
44039	s.SnapshotId = &v
44040	return s
44041}
44042
44043// SetTags sets the Tags field's value.
44044func (s *CopySnapshotOutput) SetTags(v []*Tag) *CopySnapshotOutput {
44045	s.Tags = v
44046	return s
44047}
44048
44049// The CPU options for the instance.
44050type CpuOptions struct {
44051	_ struct{} `type:"structure"`
44052
44053	// The number of CPU cores for the instance.
44054	CoreCount *int64 `locationName:"coreCount" type:"integer"`
44055
44056	// The number of threads per CPU core.
44057	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
44058}
44059
44060// String returns the string representation
44061func (s CpuOptions) String() string {
44062	return awsutil.Prettify(s)
44063}
44064
44065// GoString returns the string representation
44066func (s CpuOptions) GoString() string {
44067	return s.String()
44068}
44069
44070// SetCoreCount sets the CoreCount field's value.
44071func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions {
44072	s.CoreCount = &v
44073	return s
44074}
44075
44076// SetThreadsPerCore sets the ThreadsPerCore field's value.
44077func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions {
44078	s.ThreadsPerCore = &v
44079	return s
44080}
44081
44082// The CPU options for the instance. Both the core count and threads per core
44083// must be specified in the request.
44084type CpuOptionsRequest struct {
44085	_ struct{} `type:"structure"`
44086
44087	// The number of CPU cores for the instance.
44088	CoreCount *int64 `type:"integer"`
44089
44090	// The number of threads per CPU core. To disable multithreading for the instance,
44091	// specify a value of 1. Otherwise, specify the default value of 2.
44092	ThreadsPerCore *int64 `type:"integer"`
44093}
44094
44095// String returns the string representation
44096func (s CpuOptionsRequest) String() string {
44097	return awsutil.Prettify(s)
44098}
44099
44100// GoString returns the string representation
44101func (s CpuOptionsRequest) GoString() string {
44102	return s.String()
44103}
44104
44105// SetCoreCount sets the CoreCount field's value.
44106func (s *CpuOptionsRequest) SetCoreCount(v int64) *CpuOptionsRequest {
44107	s.CoreCount = &v
44108	return s
44109}
44110
44111// SetThreadsPerCore sets the ThreadsPerCore field's value.
44112func (s *CpuOptionsRequest) SetThreadsPerCore(v int64) *CpuOptionsRequest {
44113	s.ThreadsPerCore = &v
44114	return s
44115}
44116
44117type CreateCapacityReservationInput struct {
44118	_ struct{} `type:"structure"`
44119
44120	// The Availability Zone in which to create the Capacity Reservation.
44121	AvailabilityZone *string `type:"string"`
44122
44123	// The ID of the Availability Zone in which to create the Capacity Reservation.
44124	AvailabilityZoneId *string `type:"string"`
44125
44126	// Unique, case-sensitive identifier that you provide to ensure the idempotency
44127	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
44128	//
44129	// Constraint: Maximum 64 ASCII characters.
44130	ClientToken *string `type:"string"`
44131
44132	// Checks whether you have the required permissions for the action, without
44133	// actually making the request, and provides an error response. If you have
44134	// the required permissions, the error response is DryRunOperation. Otherwise,
44135	// it is UnauthorizedOperation.
44136	DryRun *bool `type:"boolean"`
44137
44138	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
44139	// This optimization provides dedicated throughput to Amazon EBS and an optimized
44140	// configuration stack to provide optimal I/O performance. This optimization
44141	// isn't available with all instance types. Additional usage charges apply when
44142	// using an EBS- optimized instance.
44143	EbsOptimized *bool `type:"boolean"`
44144
44145	// The date and time at which the Capacity Reservation expires. When a Capacity
44146	// Reservation expires, the reserved capacity is released and you can no longer
44147	// launch instances into it. The Capacity Reservation's state changes to expired
44148	// when it reaches its end date and time.
44149	//
44150	// You must provide an EndDate value if EndDateType is limited. Omit EndDate
44151	// if EndDateType is unlimited.
44152	//
44153	// If the EndDateType is limited, the Capacity Reservation is cancelled within
44154	// an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55,
44155	// the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55
44156	// on 5/31/2019.
44157	EndDate *time.Time `type:"timestamp"`
44158
44159	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
44160	// can have one of the following end types:
44161	//
44162	//    * unlimited - The Capacity Reservation remains active until you explicitly
44163	//    cancel it. Do not provide an EndDate if the EndDateType is unlimited.
44164	//
44165	//    * limited - The Capacity Reservation expires automatically at a specified
44166	//    date and time. You must provide an EndDate value if the EndDateType value
44167	//    is limited.
44168	EndDateType *string `type:"string" enum:"EndDateType"`
44169
44170	// Indicates whether the Capacity Reservation supports instances with temporary,
44171	// block-level storage.
44172	EphemeralStorage *bool `type:"boolean"`
44173
44174	// The number of instances for which to reserve capacity.
44175	//
44176	// InstanceCount is a required field
44177	InstanceCount *int64 `type:"integer" required:"true"`
44178
44179	// Indicates the type of instance launches that the Capacity Reservation accepts.
44180	// The options include:
44181	//
44182	//    * open - The Capacity Reservation automatically matches all instances
44183	//    that have matching attributes (instance type, platform, and Availability
44184	//    Zone). Instances that have matching attributes run in the Capacity Reservation
44185	//    automatically without specifying any additional parameters.
44186	//
44187	//    * targeted - The Capacity Reservation only accepts instances that have
44188	//    matching attributes (instance type, platform, and Availability Zone),
44189	//    and explicitly target the Capacity Reservation. This ensures that only
44190	//    permitted instances can use the reserved capacity.
44191	//
44192	// Default: open
44193	InstanceMatchCriteria *string `type:"string" enum:"InstanceMatchCriteria"`
44194
44195	// The type of operating system for which to reserve capacity.
44196	//
44197	// InstancePlatform is a required field
44198	InstancePlatform *string `type:"string" required:"true" enum:"CapacityReservationInstancePlatform"`
44199
44200	// The instance type for which to reserve capacity. For more information, see
44201	// Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
44202	// in the Amazon Elastic Compute Cloud User Guide.
44203	//
44204	// InstanceType is a required field
44205	InstanceType *string `type:"string" required:"true"`
44206
44207	// The tags to apply to the Capacity Reservation during launch.
44208	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
44209
44210	// Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
44211	// can have one of the following tenancy settings:
44212	//
44213	//    * default - The Capacity Reservation is created on hardware that is shared
44214	//    with other AWS accounts.
44215	//
44216	//    * dedicated - The Capacity Reservation is created on single-tenant hardware
44217	//    that is dedicated to a single AWS account.
44218	Tenancy *string `type:"string" enum:"CapacityReservationTenancy"`
44219}
44220
44221// String returns the string representation
44222func (s CreateCapacityReservationInput) String() string {
44223	return awsutil.Prettify(s)
44224}
44225
44226// GoString returns the string representation
44227func (s CreateCapacityReservationInput) GoString() string {
44228	return s.String()
44229}
44230
44231// Validate inspects the fields of the type to determine if they are valid.
44232func (s *CreateCapacityReservationInput) Validate() error {
44233	invalidParams := request.ErrInvalidParams{Context: "CreateCapacityReservationInput"}
44234	if s.InstanceCount == nil {
44235		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
44236	}
44237	if s.InstancePlatform == nil {
44238		invalidParams.Add(request.NewErrParamRequired("InstancePlatform"))
44239	}
44240	if s.InstanceType == nil {
44241		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
44242	}
44243
44244	if invalidParams.Len() > 0 {
44245		return invalidParams
44246	}
44247	return nil
44248}
44249
44250// SetAvailabilityZone sets the AvailabilityZone field's value.
44251func (s *CreateCapacityReservationInput) SetAvailabilityZone(v string) *CreateCapacityReservationInput {
44252	s.AvailabilityZone = &v
44253	return s
44254}
44255
44256// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
44257func (s *CreateCapacityReservationInput) SetAvailabilityZoneId(v string) *CreateCapacityReservationInput {
44258	s.AvailabilityZoneId = &v
44259	return s
44260}
44261
44262// SetClientToken sets the ClientToken field's value.
44263func (s *CreateCapacityReservationInput) SetClientToken(v string) *CreateCapacityReservationInput {
44264	s.ClientToken = &v
44265	return s
44266}
44267
44268// SetDryRun sets the DryRun field's value.
44269func (s *CreateCapacityReservationInput) SetDryRun(v bool) *CreateCapacityReservationInput {
44270	s.DryRun = &v
44271	return s
44272}
44273
44274// SetEbsOptimized sets the EbsOptimized field's value.
44275func (s *CreateCapacityReservationInput) SetEbsOptimized(v bool) *CreateCapacityReservationInput {
44276	s.EbsOptimized = &v
44277	return s
44278}
44279
44280// SetEndDate sets the EndDate field's value.
44281func (s *CreateCapacityReservationInput) SetEndDate(v time.Time) *CreateCapacityReservationInput {
44282	s.EndDate = &v
44283	return s
44284}
44285
44286// SetEndDateType sets the EndDateType field's value.
44287func (s *CreateCapacityReservationInput) SetEndDateType(v string) *CreateCapacityReservationInput {
44288	s.EndDateType = &v
44289	return s
44290}
44291
44292// SetEphemeralStorage sets the EphemeralStorage field's value.
44293func (s *CreateCapacityReservationInput) SetEphemeralStorage(v bool) *CreateCapacityReservationInput {
44294	s.EphemeralStorage = &v
44295	return s
44296}
44297
44298// SetInstanceCount sets the InstanceCount field's value.
44299func (s *CreateCapacityReservationInput) SetInstanceCount(v int64) *CreateCapacityReservationInput {
44300	s.InstanceCount = &v
44301	return s
44302}
44303
44304// SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
44305func (s *CreateCapacityReservationInput) SetInstanceMatchCriteria(v string) *CreateCapacityReservationInput {
44306	s.InstanceMatchCriteria = &v
44307	return s
44308}
44309
44310// SetInstancePlatform sets the InstancePlatform field's value.
44311func (s *CreateCapacityReservationInput) SetInstancePlatform(v string) *CreateCapacityReservationInput {
44312	s.InstancePlatform = &v
44313	return s
44314}
44315
44316// SetInstanceType sets the InstanceType field's value.
44317func (s *CreateCapacityReservationInput) SetInstanceType(v string) *CreateCapacityReservationInput {
44318	s.InstanceType = &v
44319	return s
44320}
44321
44322// SetTagSpecifications sets the TagSpecifications field's value.
44323func (s *CreateCapacityReservationInput) SetTagSpecifications(v []*TagSpecification) *CreateCapacityReservationInput {
44324	s.TagSpecifications = v
44325	return s
44326}
44327
44328// SetTenancy sets the Tenancy field's value.
44329func (s *CreateCapacityReservationInput) SetTenancy(v string) *CreateCapacityReservationInput {
44330	s.Tenancy = &v
44331	return s
44332}
44333
44334type CreateCapacityReservationOutput struct {
44335	_ struct{} `type:"structure"`
44336
44337	// Information about the Capacity Reservation.
44338	CapacityReservation *CapacityReservation `locationName:"capacityReservation" type:"structure"`
44339}
44340
44341// String returns the string representation
44342func (s CreateCapacityReservationOutput) String() string {
44343	return awsutil.Prettify(s)
44344}
44345
44346// GoString returns the string representation
44347func (s CreateCapacityReservationOutput) GoString() string {
44348	return s.String()
44349}
44350
44351// SetCapacityReservation sets the CapacityReservation field's value.
44352func (s *CreateCapacityReservationOutput) SetCapacityReservation(v *CapacityReservation) *CreateCapacityReservationOutput {
44353	s.CapacityReservation = v
44354	return s
44355}
44356
44357type CreateClientVpnEndpointInput struct {
44358	_ struct{} `type:"structure"`
44359
44360	// Information about the authentication method to be used to authenticate clients.
44361	//
44362	// AuthenticationOptions is a required field
44363	AuthenticationOptions []*ClientVpnAuthenticationRequest `locationName:"Authentication" type:"list" required:"true"`
44364
44365	// The IPv4 address range, in CIDR notation, from which to assign client IP
44366	// addresses. The address range cannot overlap with the local CIDR of the VPC
44367	// in which the associated subnet is located, or the routes that you add manually.
44368	// The address range cannot be changed after the Client VPN endpoint has been
44369	// created. The CIDR block should be /22 or greater.
44370	//
44371	// ClientCidrBlock is a required field
44372	ClientCidrBlock *string `type:"string" required:"true"`
44373
44374	// Unique, case-sensitive identifier that you provide to ensure the idempotency
44375	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
44376	ClientToken *string `type:"string" idempotencyToken:"true"`
44377
44378	// Information about the client connection logging options.
44379	//
44380	// If you enable client connection logging, data about client connections is
44381	// sent to a Cloudwatch Logs log stream. The following information is logged:
44382	//
44383	//    * Client connection requests
44384	//
44385	//    * Client connection results (successful and unsuccessful)
44386	//
44387	//    * Reasons for unsuccessful client connection requests
44388	//
44389	//    * Client connection termination time
44390	//
44391	// ConnectionLogOptions is a required field
44392	ConnectionLogOptions *ConnectionLogOptions `type:"structure" required:"true"`
44393
44394	// A brief description of the Client VPN endpoint.
44395	Description *string `type:"string"`
44396
44397	// Information about the DNS servers to be used for DNS resolution. A Client
44398	// VPN endpoint can have up to two DNS servers. If no DNS server is specified,
44399	// the DNS address configured on the device is used for the DNS server.
44400	DnsServers []*string `locationNameList:"item" type:"list"`
44401
44402	// Checks whether you have the required permissions for the action, without
44403	// actually making the request, and provides an error response. If you have
44404	// the required permissions, the error response is DryRunOperation. Otherwise,
44405	// it is UnauthorizedOperation.
44406	DryRun *bool `type:"boolean"`
44407
44408	// The IDs of one or more security groups to apply to the target network. You
44409	// must also specify the ID of the VPC that contains the security groups.
44410	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
44411
44412	// The ARN of the server certificate. For more information, see the AWS Certificate
44413	// Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/).
44414	//
44415	// ServerCertificateArn is a required field
44416	ServerCertificateArn *string `type:"string" required:"true"`
44417
44418	// Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.
44419	//
44420	// By default, split-tunnel on a VPN endpoint is disabled.
44421	//
44422	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
44423	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
44424	// in the AWS Client VPN Administrator Guide.
44425	SplitTunnel *bool `type:"boolean"`
44426
44427	// The tags to apply to the Client VPN endpoint during creation.
44428	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
44429
44430	// The transport protocol to be used by the VPN session.
44431	//
44432	// Default value: udp
44433	TransportProtocol *string `type:"string" enum:"TransportProtocol"`
44434
44435	// The ID of the VPC to associate with the Client VPN endpoint. If no security
44436	// group IDs are specified in the request, the default security group for the
44437	// VPC is applied.
44438	VpcId *string `type:"string"`
44439
44440	// The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
44441	//
44442	// Valid Values: 443 | 1194
44443	//
44444	// Default Value: 443
44445	VpnPort *int64 `type:"integer"`
44446}
44447
44448// String returns the string representation
44449func (s CreateClientVpnEndpointInput) String() string {
44450	return awsutil.Prettify(s)
44451}
44452
44453// GoString returns the string representation
44454func (s CreateClientVpnEndpointInput) GoString() string {
44455	return s.String()
44456}
44457
44458// Validate inspects the fields of the type to determine if they are valid.
44459func (s *CreateClientVpnEndpointInput) Validate() error {
44460	invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnEndpointInput"}
44461	if s.AuthenticationOptions == nil {
44462		invalidParams.Add(request.NewErrParamRequired("AuthenticationOptions"))
44463	}
44464	if s.ClientCidrBlock == nil {
44465		invalidParams.Add(request.NewErrParamRequired("ClientCidrBlock"))
44466	}
44467	if s.ConnectionLogOptions == nil {
44468		invalidParams.Add(request.NewErrParamRequired("ConnectionLogOptions"))
44469	}
44470	if s.ServerCertificateArn == nil {
44471		invalidParams.Add(request.NewErrParamRequired("ServerCertificateArn"))
44472	}
44473
44474	if invalidParams.Len() > 0 {
44475		return invalidParams
44476	}
44477	return nil
44478}
44479
44480// SetAuthenticationOptions sets the AuthenticationOptions field's value.
44481func (s *CreateClientVpnEndpointInput) SetAuthenticationOptions(v []*ClientVpnAuthenticationRequest) *CreateClientVpnEndpointInput {
44482	s.AuthenticationOptions = v
44483	return s
44484}
44485
44486// SetClientCidrBlock sets the ClientCidrBlock field's value.
44487func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClientVpnEndpointInput {
44488	s.ClientCidrBlock = &v
44489	return s
44490}
44491
44492// SetClientToken sets the ClientToken field's value.
44493func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput {
44494	s.ClientToken = &v
44495	return s
44496}
44497
44498// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
44499func (s *CreateClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *CreateClientVpnEndpointInput {
44500	s.ConnectionLogOptions = v
44501	return s
44502}
44503
44504// SetDescription sets the Description field's value.
44505func (s *CreateClientVpnEndpointInput) SetDescription(v string) *CreateClientVpnEndpointInput {
44506	s.Description = &v
44507	return s
44508}
44509
44510// SetDnsServers sets the DnsServers field's value.
44511func (s *CreateClientVpnEndpointInput) SetDnsServers(v []*string) *CreateClientVpnEndpointInput {
44512	s.DnsServers = v
44513	return s
44514}
44515
44516// SetDryRun sets the DryRun field's value.
44517func (s *CreateClientVpnEndpointInput) SetDryRun(v bool) *CreateClientVpnEndpointInput {
44518	s.DryRun = &v
44519	return s
44520}
44521
44522// SetSecurityGroupIds sets the SecurityGroupIds field's value.
44523func (s *CreateClientVpnEndpointInput) SetSecurityGroupIds(v []*string) *CreateClientVpnEndpointInput {
44524	s.SecurityGroupIds = v
44525	return s
44526}
44527
44528// SetServerCertificateArn sets the ServerCertificateArn field's value.
44529func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *CreateClientVpnEndpointInput {
44530	s.ServerCertificateArn = &v
44531	return s
44532}
44533
44534// SetSplitTunnel sets the SplitTunnel field's value.
44535func (s *CreateClientVpnEndpointInput) SetSplitTunnel(v bool) *CreateClientVpnEndpointInput {
44536	s.SplitTunnel = &v
44537	return s
44538}
44539
44540// SetTagSpecifications sets the TagSpecifications field's value.
44541func (s *CreateClientVpnEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateClientVpnEndpointInput {
44542	s.TagSpecifications = v
44543	return s
44544}
44545
44546// SetTransportProtocol sets the TransportProtocol field's value.
44547func (s *CreateClientVpnEndpointInput) SetTransportProtocol(v string) *CreateClientVpnEndpointInput {
44548	s.TransportProtocol = &v
44549	return s
44550}
44551
44552// SetVpcId sets the VpcId field's value.
44553func (s *CreateClientVpnEndpointInput) SetVpcId(v string) *CreateClientVpnEndpointInput {
44554	s.VpcId = &v
44555	return s
44556}
44557
44558// SetVpnPort sets the VpnPort field's value.
44559func (s *CreateClientVpnEndpointInput) SetVpnPort(v int64) *CreateClientVpnEndpointInput {
44560	s.VpnPort = &v
44561	return s
44562}
44563
44564type CreateClientVpnEndpointOutput struct {
44565	_ struct{} `type:"structure"`
44566
44567	// The ID of the Client VPN endpoint.
44568	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
44569
44570	// The DNS name to be used by clients when establishing their VPN session.
44571	DnsName *string `locationName:"dnsName" type:"string"`
44572
44573	// The current state of the Client VPN endpoint.
44574	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
44575}
44576
44577// String returns the string representation
44578func (s CreateClientVpnEndpointOutput) String() string {
44579	return awsutil.Prettify(s)
44580}
44581
44582// GoString returns the string representation
44583func (s CreateClientVpnEndpointOutput) GoString() string {
44584	return s.String()
44585}
44586
44587// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
44588func (s *CreateClientVpnEndpointOutput) SetClientVpnEndpointId(v string) *CreateClientVpnEndpointOutput {
44589	s.ClientVpnEndpointId = &v
44590	return s
44591}
44592
44593// SetDnsName sets the DnsName field's value.
44594func (s *CreateClientVpnEndpointOutput) SetDnsName(v string) *CreateClientVpnEndpointOutput {
44595	s.DnsName = &v
44596	return s
44597}
44598
44599// SetStatus sets the Status field's value.
44600func (s *CreateClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *CreateClientVpnEndpointOutput {
44601	s.Status = v
44602	return s
44603}
44604
44605type CreateClientVpnRouteInput struct {
44606	_ struct{} `type:"structure"`
44607
44608	// Unique, case-sensitive identifier that you provide to ensure the idempotency
44609	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
44610	ClientToken *string `type:"string" idempotencyToken:"true"`
44611
44612	// The ID of the Client VPN endpoint to which to add the route.
44613	//
44614	// ClientVpnEndpointId is a required field
44615	ClientVpnEndpointId *string `type:"string" required:"true"`
44616
44617	// A brief description of the route.
44618	Description *string `type:"string"`
44619
44620	// The IPv4 address range, in CIDR notation, of the route destination. For example:
44621	//
44622	//    * To add a route for Internet access, enter 0.0.0.0/0
44623	//
44624	//    * To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range
44625	//
44626	//    * To add a route for an on-premises network, enter the AWS Site-to-Site
44627	//    VPN connection's IPv4 CIDR range
44628	//
44629	// Route address ranges cannot overlap with the CIDR range specified for client
44630	// allocation.
44631	//
44632	// DestinationCidrBlock is a required field
44633	DestinationCidrBlock *string `type:"string" required:"true"`
44634
44635	// Checks whether you have the required permissions for the action, without
44636	// actually making the request, and provides an error response. If you have
44637	// the required permissions, the error response is DryRunOperation. Otherwise,
44638	// it is UnauthorizedOperation.
44639	DryRun *bool `type:"boolean"`
44640
44641	// The ID of the subnet through which you want to route traffic. The specified
44642	// subnet must be an existing target network of the Client VPN endpoint.
44643	//
44644	// TargetVpcSubnetId is a required field
44645	TargetVpcSubnetId *string `type:"string" required:"true"`
44646}
44647
44648// String returns the string representation
44649func (s CreateClientVpnRouteInput) String() string {
44650	return awsutil.Prettify(s)
44651}
44652
44653// GoString returns the string representation
44654func (s CreateClientVpnRouteInput) GoString() string {
44655	return s.String()
44656}
44657
44658// Validate inspects the fields of the type to determine if they are valid.
44659func (s *CreateClientVpnRouteInput) Validate() error {
44660	invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnRouteInput"}
44661	if s.ClientVpnEndpointId == nil {
44662		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
44663	}
44664	if s.DestinationCidrBlock == nil {
44665		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
44666	}
44667	if s.TargetVpcSubnetId == nil {
44668		invalidParams.Add(request.NewErrParamRequired("TargetVpcSubnetId"))
44669	}
44670
44671	if invalidParams.Len() > 0 {
44672		return invalidParams
44673	}
44674	return nil
44675}
44676
44677// SetClientToken sets the ClientToken field's value.
44678func (s *CreateClientVpnRouteInput) SetClientToken(v string) *CreateClientVpnRouteInput {
44679	s.ClientToken = &v
44680	return s
44681}
44682
44683// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
44684func (s *CreateClientVpnRouteInput) SetClientVpnEndpointId(v string) *CreateClientVpnRouteInput {
44685	s.ClientVpnEndpointId = &v
44686	return s
44687}
44688
44689// SetDescription sets the Description field's value.
44690func (s *CreateClientVpnRouteInput) SetDescription(v string) *CreateClientVpnRouteInput {
44691	s.Description = &v
44692	return s
44693}
44694
44695// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
44696func (s *CreateClientVpnRouteInput) SetDestinationCidrBlock(v string) *CreateClientVpnRouteInput {
44697	s.DestinationCidrBlock = &v
44698	return s
44699}
44700
44701// SetDryRun sets the DryRun field's value.
44702func (s *CreateClientVpnRouteInput) SetDryRun(v bool) *CreateClientVpnRouteInput {
44703	s.DryRun = &v
44704	return s
44705}
44706
44707// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
44708func (s *CreateClientVpnRouteInput) SetTargetVpcSubnetId(v string) *CreateClientVpnRouteInput {
44709	s.TargetVpcSubnetId = &v
44710	return s
44711}
44712
44713type CreateClientVpnRouteOutput struct {
44714	_ struct{} `type:"structure"`
44715
44716	// The current state of the route.
44717	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
44718}
44719
44720// String returns the string representation
44721func (s CreateClientVpnRouteOutput) String() string {
44722	return awsutil.Prettify(s)
44723}
44724
44725// GoString returns the string representation
44726func (s CreateClientVpnRouteOutput) GoString() string {
44727	return s.String()
44728}
44729
44730// SetStatus sets the Status field's value.
44731func (s *CreateClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *CreateClientVpnRouteOutput {
44732	s.Status = v
44733	return s
44734}
44735
44736// Contains the parameters for CreateCustomerGateway.
44737type CreateCustomerGatewayInput struct {
44738	_ struct{} `type:"structure"`
44739
44740	// For devices that support BGP, the customer gateway's BGP ASN.
44741	//
44742	// Default: 65000
44743	//
44744	// BgpAsn is a required field
44745	BgpAsn *int64 `type:"integer" required:"true"`
44746
44747	// The Amazon Resource Name (ARN) for the customer gateway certificate.
44748	CertificateArn *string `type:"string"`
44749
44750	// A name for the customer gateway device.
44751	//
44752	// Length Constraints: Up to 255 characters.
44753	DeviceName *string `type:"string"`
44754
44755	// Checks whether you have the required permissions for the action, without
44756	// actually making the request, and provides an error response. If you have
44757	// the required permissions, the error response is DryRunOperation. Otherwise,
44758	// it is UnauthorizedOperation.
44759	DryRun *bool `locationName:"dryRun" type:"boolean"`
44760
44761	// The Internet-routable IP address for the customer gateway's outside interface.
44762	// The address must be static.
44763	PublicIp *string `locationName:"IpAddress" type:"string"`
44764
44765	// The type of VPN connection that this customer gateway supports (ipsec.1).
44766	//
44767	// Type is a required field
44768	Type *string `type:"string" required:"true" enum:"GatewayType"`
44769}
44770
44771// String returns the string representation
44772func (s CreateCustomerGatewayInput) String() string {
44773	return awsutil.Prettify(s)
44774}
44775
44776// GoString returns the string representation
44777func (s CreateCustomerGatewayInput) GoString() string {
44778	return s.String()
44779}
44780
44781// Validate inspects the fields of the type to determine if they are valid.
44782func (s *CreateCustomerGatewayInput) Validate() error {
44783	invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
44784	if s.BgpAsn == nil {
44785		invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
44786	}
44787	if s.Type == nil {
44788		invalidParams.Add(request.NewErrParamRequired("Type"))
44789	}
44790
44791	if invalidParams.Len() > 0 {
44792		return invalidParams
44793	}
44794	return nil
44795}
44796
44797// SetBgpAsn sets the BgpAsn field's value.
44798func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
44799	s.BgpAsn = &v
44800	return s
44801}
44802
44803// SetCertificateArn sets the CertificateArn field's value.
44804func (s *CreateCustomerGatewayInput) SetCertificateArn(v string) *CreateCustomerGatewayInput {
44805	s.CertificateArn = &v
44806	return s
44807}
44808
44809// SetDeviceName sets the DeviceName field's value.
44810func (s *CreateCustomerGatewayInput) SetDeviceName(v string) *CreateCustomerGatewayInput {
44811	s.DeviceName = &v
44812	return s
44813}
44814
44815// SetDryRun sets the DryRun field's value.
44816func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
44817	s.DryRun = &v
44818	return s
44819}
44820
44821// SetPublicIp sets the PublicIp field's value.
44822func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
44823	s.PublicIp = &v
44824	return s
44825}
44826
44827// SetType sets the Type field's value.
44828func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
44829	s.Type = &v
44830	return s
44831}
44832
44833// Contains the output of CreateCustomerGateway.
44834type CreateCustomerGatewayOutput struct {
44835	_ struct{} `type:"structure"`
44836
44837	// Information about the customer gateway.
44838	CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
44839}
44840
44841// String returns the string representation
44842func (s CreateCustomerGatewayOutput) String() string {
44843	return awsutil.Prettify(s)
44844}
44845
44846// GoString returns the string representation
44847func (s CreateCustomerGatewayOutput) GoString() string {
44848	return s.String()
44849}
44850
44851// SetCustomerGateway sets the CustomerGateway field's value.
44852func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
44853	s.CustomerGateway = v
44854	return s
44855}
44856
44857type CreateDefaultSubnetInput struct {
44858	_ struct{} `type:"structure"`
44859
44860	// The Availability Zone in which to create the default subnet.
44861	//
44862	// AvailabilityZone is a required field
44863	AvailabilityZone *string `type:"string" required:"true"`
44864
44865	// Checks whether you have the required permissions for the action, without
44866	// actually making the request, and provides an error response. If you have
44867	// the required permissions, the error response is DryRunOperation. Otherwise,
44868	// it is UnauthorizedOperation.
44869	DryRun *bool `type:"boolean"`
44870}
44871
44872// String returns the string representation
44873func (s CreateDefaultSubnetInput) String() string {
44874	return awsutil.Prettify(s)
44875}
44876
44877// GoString returns the string representation
44878func (s CreateDefaultSubnetInput) GoString() string {
44879	return s.String()
44880}
44881
44882// Validate inspects the fields of the type to determine if they are valid.
44883func (s *CreateDefaultSubnetInput) Validate() error {
44884	invalidParams := request.ErrInvalidParams{Context: "CreateDefaultSubnetInput"}
44885	if s.AvailabilityZone == nil {
44886		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
44887	}
44888
44889	if invalidParams.Len() > 0 {
44890		return invalidParams
44891	}
44892	return nil
44893}
44894
44895// SetAvailabilityZone sets the AvailabilityZone field's value.
44896func (s *CreateDefaultSubnetInput) SetAvailabilityZone(v string) *CreateDefaultSubnetInput {
44897	s.AvailabilityZone = &v
44898	return s
44899}
44900
44901// SetDryRun sets the DryRun field's value.
44902func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput {
44903	s.DryRun = &v
44904	return s
44905}
44906
44907type CreateDefaultSubnetOutput struct {
44908	_ struct{} `type:"structure"`
44909
44910	// Information about the subnet.
44911	Subnet *Subnet `locationName:"subnet" type:"structure"`
44912}
44913
44914// String returns the string representation
44915func (s CreateDefaultSubnetOutput) String() string {
44916	return awsutil.Prettify(s)
44917}
44918
44919// GoString returns the string representation
44920func (s CreateDefaultSubnetOutput) GoString() string {
44921	return s.String()
44922}
44923
44924// SetSubnet sets the Subnet field's value.
44925func (s *CreateDefaultSubnetOutput) SetSubnet(v *Subnet) *CreateDefaultSubnetOutput {
44926	s.Subnet = v
44927	return s
44928}
44929
44930type CreateDefaultVpcInput struct {
44931	_ struct{} `type:"structure"`
44932
44933	// Checks whether you have the required permissions for the action, without
44934	// actually making the request, and provides an error response. If you have
44935	// the required permissions, the error response is DryRunOperation. Otherwise,
44936	// it is UnauthorizedOperation.
44937	DryRun *bool `type:"boolean"`
44938}
44939
44940// String returns the string representation
44941func (s CreateDefaultVpcInput) String() string {
44942	return awsutil.Prettify(s)
44943}
44944
44945// GoString returns the string representation
44946func (s CreateDefaultVpcInput) GoString() string {
44947	return s.String()
44948}
44949
44950// SetDryRun sets the DryRun field's value.
44951func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
44952	s.DryRun = &v
44953	return s
44954}
44955
44956type CreateDefaultVpcOutput struct {
44957	_ struct{} `type:"structure"`
44958
44959	// Information about the VPC.
44960	Vpc *Vpc `locationName:"vpc" type:"structure"`
44961}
44962
44963// String returns the string representation
44964func (s CreateDefaultVpcOutput) String() string {
44965	return awsutil.Prettify(s)
44966}
44967
44968// GoString returns the string representation
44969func (s CreateDefaultVpcOutput) GoString() string {
44970	return s.String()
44971}
44972
44973// SetVpc sets the Vpc field's value.
44974func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
44975	s.Vpc = v
44976	return s
44977}
44978
44979type CreateDhcpOptionsInput struct {
44980	_ struct{} `type:"structure"`
44981
44982	// A DHCP configuration option.
44983	//
44984	// DhcpConfigurations is a required field
44985	DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
44986
44987	// Checks whether you have the required permissions for the action, without
44988	// actually making the request, and provides an error response. If you have
44989	// the required permissions, the error response is DryRunOperation. Otherwise,
44990	// it is UnauthorizedOperation.
44991	DryRun *bool `locationName:"dryRun" type:"boolean"`
44992}
44993
44994// String returns the string representation
44995func (s CreateDhcpOptionsInput) String() string {
44996	return awsutil.Prettify(s)
44997}
44998
44999// GoString returns the string representation
45000func (s CreateDhcpOptionsInput) GoString() string {
45001	return s.String()
45002}
45003
45004// Validate inspects the fields of the type to determine if they are valid.
45005func (s *CreateDhcpOptionsInput) Validate() error {
45006	invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
45007	if s.DhcpConfigurations == nil {
45008		invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
45009	}
45010
45011	if invalidParams.Len() > 0 {
45012		return invalidParams
45013	}
45014	return nil
45015}
45016
45017// SetDhcpConfigurations sets the DhcpConfigurations field's value.
45018func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
45019	s.DhcpConfigurations = v
45020	return s
45021}
45022
45023// SetDryRun sets the DryRun field's value.
45024func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
45025	s.DryRun = &v
45026	return s
45027}
45028
45029type CreateDhcpOptionsOutput struct {
45030	_ struct{} `type:"structure"`
45031
45032	// A set of DHCP options.
45033	DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
45034}
45035
45036// String returns the string representation
45037func (s CreateDhcpOptionsOutput) String() string {
45038	return awsutil.Prettify(s)
45039}
45040
45041// GoString returns the string representation
45042func (s CreateDhcpOptionsOutput) GoString() string {
45043	return s.String()
45044}
45045
45046// SetDhcpOptions sets the DhcpOptions field's value.
45047func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
45048	s.DhcpOptions = v
45049	return s
45050}
45051
45052type CreateEgressOnlyInternetGatewayInput struct {
45053	_ struct{} `type:"structure"`
45054
45055	// Unique, case-sensitive identifier that you provide to ensure the idempotency
45056	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
45057	ClientToken *string `type:"string"`
45058
45059	// Checks whether you have the required permissions for the action, without
45060	// actually making the request, and provides an error response. If you have
45061	// the required permissions, the error response is DryRunOperation. Otherwise,
45062	// it is UnauthorizedOperation.
45063	DryRun *bool `type:"boolean"`
45064
45065	// The ID of the VPC for which to create the egress-only internet gateway.
45066	//
45067	// VpcId is a required field
45068	VpcId *string `type:"string" required:"true"`
45069}
45070
45071// String returns the string representation
45072func (s CreateEgressOnlyInternetGatewayInput) String() string {
45073	return awsutil.Prettify(s)
45074}
45075
45076// GoString returns the string representation
45077func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
45078	return s.String()
45079}
45080
45081// Validate inspects the fields of the type to determine if they are valid.
45082func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
45083	invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
45084	if s.VpcId == nil {
45085		invalidParams.Add(request.NewErrParamRequired("VpcId"))
45086	}
45087
45088	if invalidParams.Len() > 0 {
45089		return invalidParams
45090	}
45091	return nil
45092}
45093
45094// SetClientToken sets the ClientToken field's value.
45095func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
45096	s.ClientToken = &v
45097	return s
45098}
45099
45100// SetDryRun sets the DryRun field's value.
45101func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
45102	s.DryRun = &v
45103	return s
45104}
45105
45106// SetVpcId sets the VpcId field's value.
45107func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
45108	s.VpcId = &v
45109	return s
45110}
45111
45112type CreateEgressOnlyInternetGatewayOutput struct {
45113	_ struct{} `type:"structure"`
45114
45115	// Unique, case-sensitive identifier that you provide to ensure the idempotency
45116	// of the request.
45117	ClientToken *string `locationName:"clientToken" type:"string"`
45118
45119	// Information about the egress-only internet gateway.
45120	EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
45121}
45122
45123// String returns the string representation
45124func (s CreateEgressOnlyInternetGatewayOutput) String() string {
45125	return awsutil.Prettify(s)
45126}
45127
45128// GoString returns the string representation
45129func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
45130	return s.String()
45131}
45132
45133// SetClientToken sets the ClientToken field's value.
45134func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
45135	s.ClientToken = &v
45136	return s
45137}
45138
45139// SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
45140func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
45141	s.EgressOnlyInternetGateway = v
45142	return s
45143}
45144
45145// Describes the instances that could not be launched by the fleet.
45146type CreateFleetError struct {
45147	_ struct{} `type:"structure"`
45148
45149	// The error code that indicates why the instance could not be launched. For
45150	// more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
45151	ErrorCode *string `locationName:"errorCode" type:"string"`
45152
45153	// The error message that describes why the instance could not be launched.
45154	// For more information about error messages, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
45155	ErrorMessage *string `locationName:"errorMessage" type:"string"`
45156
45157	// The launch templates and overrides that were used for launching the instances.
45158	// The values that you specify in the Overrides replace the values in the launch
45159	// template.
45160	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
45161
45162	// Indicates if the instance that could not be launched was a Spot Instance
45163	// or On-Demand Instance.
45164	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
45165}
45166
45167// String returns the string representation
45168func (s CreateFleetError) String() string {
45169	return awsutil.Prettify(s)
45170}
45171
45172// GoString returns the string representation
45173func (s CreateFleetError) GoString() string {
45174	return s.String()
45175}
45176
45177// SetErrorCode sets the ErrorCode field's value.
45178func (s *CreateFleetError) SetErrorCode(v string) *CreateFleetError {
45179	s.ErrorCode = &v
45180	return s
45181}
45182
45183// SetErrorMessage sets the ErrorMessage field's value.
45184func (s *CreateFleetError) SetErrorMessage(v string) *CreateFleetError {
45185	s.ErrorMessage = &v
45186	return s
45187}
45188
45189// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
45190func (s *CreateFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetError {
45191	s.LaunchTemplateAndOverrides = v
45192	return s
45193}
45194
45195// SetLifecycle sets the Lifecycle field's value.
45196func (s *CreateFleetError) SetLifecycle(v string) *CreateFleetError {
45197	s.Lifecycle = &v
45198	return s
45199}
45200
45201type CreateFleetInput struct {
45202	_ struct{} `type:"structure"`
45203
45204	// Unique, case-sensitive identifier that you provide to ensure the idempotency
45205	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
45206	ClientToken *string `type:"string"`
45207
45208	// Checks whether you have the required permissions for the action, without
45209	// actually making the request, and provides an error response. If you have
45210	// the required permissions, the error response is DryRunOperation. Otherwise,
45211	// it is UnauthorizedOperation.
45212	DryRun *bool `type:"boolean"`
45213
45214	// Indicates whether running instances should be terminated if the total target
45215	// capacity of the EC2 Fleet is decreased below the current size of the EC2
45216	// Fleet.
45217	ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
45218
45219	// The configuration for the EC2 Fleet.
45220	//
45221	// LaunchTemplateConfigs is a required field
45222	LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationNameList:"item" type:"list" required:"true"`
45223
45224	// Describes the configuration of On-Demand Instances in an EC2 Fleet.
45225	OnDemandOptions *OnDemandOptionsRequest `type:"structure"`
45226
45227	// Indicates whether EC2 Fleet should replace unhealthy instances.
45228	ReplaceUnhealthyInstances *bool `type:"boolean"`
45229
45230	// Describes the configuration of Spot Instances in an EC2 Fleet.
45231	SpotOptions *SpotOptionsRequest `type:"structure"`
45232
45233	// The key-value pair for tagging the EC2 Fleet request on creation. The value
45234	// for ResourceType must be fleet, otherwise the fleet request fails. To tag
45235	// instances at launch, specify the tags in the launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template).
45236	// For information about tagging after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
45237	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
45238
45239	// The number of units to request.
45240	//
45241	// TargetCapacitySpecification is a required field
45242	TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
45243
45244	// Indicates whether running instances should be terminated when the EC2 Fleet
45245	// expires.
45246	TerminateInstancesWithExpiration *bool `type:"boolean"`
45247
45248	// The type of the request. By default, the EC2 Fleet places an asynchronous
45249	// request for your desired capacity, and maintains it by replenishing interrupted
45250	// Spot Instances (maintain). A value of instant places a synchronous one-time
45251	// request, and returns errors for any instances that could not be launched.
45252	// A value of request places an asynchronous one-time request without maintaining
45253	// capacity or submitting requests in alternative capacity pools if capacity
45254	// is unavailable. For more information, see EC2 Fleet Request Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-configuration-strategies.html#ec2-fleet-request-type)
45255	// in the Amazon Elastic Compute Cloud User Guide.
45256	Type *string `type:"string" enum:"FleetType"`
45257
45258	// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
45259	// The default is to start fulfilling the request immediately.
45260	ValidFrom *time.Time `type:"timestamp"`
45261
45262	// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
45263	// At this point, no new EC2 Fleet requests are placed or able to fulfill the
45264	// request. If no value is specified, the request remains until you cancel it.
45265	ValidUntil *time.Time `type:"timestamp"`
45266}
45267
45268// String returns the string representation
45269func (s CreateFleetInput) String() string {
45270	return awsutil.Prettify(s)
45271}
45272
45273// GoString returns the string representation
45274func (s CreateFleetInput) GoString() string {
45275	return s.String()
45276}
45277
45278// Validate inspects the fields of the type to determine if they are valid.
45279func (s *CreateFleetInput) Validate() error {
45280	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
45281	if s.LaunchTemplateConfigs == nil {
45282		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateConfigs"))
45283	}
45284	if s.TargetCapacitySpecification == nil {
45285		invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
45286	}
45287	if s.LaunchTemplateConfigs != nil {
45288		for i, v := range s.LaunchTemplateConfigs {
45289			if v == nil {
45290				continue
45291			}
45292			if err := v.Validate(); err != nil {
45293				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
45294			}
45295		}
45296	}
45297	if s.TargetCapacitySpecification != nil {
45298		if err := s.TargetCapacitySpecification.Validate(); err != nil {
45299			invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
45300		}
45301	}
45302
45303	if invalidParams.Len() > 0 {
45304		return invalidParams
45305	}
45306	return nil
45307}
45308
45309// SetClientToken sets the ClientToken field's value.
45310func (s *CreateFleetInput) SetClientToken(v string) *CreateFleetInput {
45311	s.ClientToken = &v
45312	return s
45313}
45314
45315// SetDryRun sets the DryRun field's value.
45316func (s *CreateFleetInput) SetDryRun(v bool) *CreateFleetInput {
45317	s.DryRun = &v
45318	return s
45319}
45320
45321// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
45322func (s *CreateFleetInput) SetExcessCapacityTerminationPolicy(v string) *CreateFleetInput {
45323	s.ExcessCapacityTerminationPolicy = &v
45324	return s
45325}
45326
45327// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
45328func (s *CreateFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *CreateFleetInput {
45329	s.LaunchTemplateConfigs = v
45330	return s
45331}
45332
45333// SetOnDemandOptions sets the OnDemandOptions field's value.
45334func (s *CreateFleetInput) SetOnDemandOptions(v *OnDemandOptionsRequest) *CreateFleetInput {
45335	s.OnDemandOptions = v
45336	return s
45337}
45338
45339// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
45340func (s *CreateFleetInput) SetReplaceUnhealthyInstances(v bool) *CreateFleetInput {
45341	s.ReplaceUnhealthyInstances = &v
45342	return s
45343}
45344
45345// SetSpotOptions sets the SpotOptions field's value.
45346func (s *CreateFleetInput) SetSpotOptions(v *SpotOptionsRequest) *CreateFleetInput {
45347	s.SpotOptions = v
45348	return s
45349}
45350
45351// SetTagSpecifications sets the TagSpecifications field's value.
45352func (s *CreateFleetInput) SetTagSpecifications(v []*TagSpecification) *CreateFleetInput {
45353	s.TagSpecifications = v
45354	return s
45355}
45356
45357// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
45358func (s *CreateFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *CreateFleetInput {
45359	s.TargetCapacitySpecification = v
45360	return s
45361}
45362
45363// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
45364func (s *CreateFleetInput) SetTerminateInstancesWithExpiration(v bool) *CreateFleetInput {
45365	s.TerminateInstancesWithExpiration = &v
45366	return s
45367}
45368
45369// SetType sets the Type field's value.
45370func (s *CreateFleetInput) SetType(v string) *CreateFleetInput {
45371	s.Type = &v
45372	return s
45373}
45374
45375// SetValidFrom sets the ValidFrom field's value.
45376func (s *CreateFleetInput) SetValidFrom(v time.Time) *CreateFleetInput {
45377	s.ValidFrom = &v
45378	return s
45379}
45380
45381// SetValidUntil sets the ValidUntil field's value.
45382func (s *CreateFleetInput) SetValidUntil(v time.Time) *CreateFleetInput {
45383	s.ValidUntil = &v
45384	return s
45385}
45386
45387// Describes the instances that were launched by the fleet.
45388type CreateFleetInstance struct {
45389	_ struct{} `type:"structure"`
45390
45391	// The IDs of the instances.
45392	InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
45393
45394	// The instance type.
45395	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
45396
45397	// The launch templates and overrides that were used for launching the instances.
45398	// The values that you specify in the Overrides replace the values in the launch
45399	// template.
45400	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
45401
45402	// Indicates if the instance that was launched is a Spot Instance or On-Demand
45403	// Instance.
45404	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
45405
45406	// The value is Windows for Windows instances. Otherwise, the value is blank.
45407	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
45408}
45409
45410// String returns the string representation
45411func (s CreateFleetInstance) String() string {
45412	return awsutil.Prettify(s)
45413}
45414
45415// GoString returns the string representation
45416func (s CreateFleetInstance) GoString() string {
45417	return s.String()
45418}
45419
45420// SetInstanceIds sets the InstanceIds field's value.
45421func (s *CreateFleetInstance) SetInstanceIds(v []*string) *CreateFleetInstance {
45422	s.InstanceIds = v
45423	return s
45424}
45425
45426// SetInstanceType sets the InstanceType field's value.
45427func (s *CreateFleetInstance) SetInstanceType(v string) *CreateFleetInstance {
45428	s.InstanceType = &v
45429	return s
45430}
45431
45432// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
45433func (s *CreateFleetInstance) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetInstance {
45434	s.LaunchTemplateAndOverrides = v
45435	return s
45436}
45437
45438// SetLifecycle sets the Lifecycle field's value.
45439func (s *CreateFleetInstance) SetLifecycle(v string) *CreateFleetInstance {
45440	s.Lifecycle = &v
45441	return s
45442}
45443
45444// SetPlatform sets the Platform field's value.
45445func (s *CreateFleetInstance) SetPlatform(v string) *CreateFleetInstance {
45446	s.Platform = &v
45447	return s
45448}
45449
45450type CreateFleetOutput struct {
45451	_ struct{} `type:"structure"`
45452
45453	// Information about the instances that could not be launched by the fleet.
45454	// Valid only when Type is set to instant.
45455	Errors []*CreateFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
45456
45457	// The ID of the EC2 Fleet.
45458	FleetId *string `locationName:"fleetId" type:"string"`
45459
45460	// Information about the instances that were launched by the fleet. Valid only
45461	// when Type is set to instant.
45462	Instances []*CreateFleetInstance `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
45463}
45464
45465// String returns the string representation
45466func (s CreateFleetOutput) String() string {
45467	return awsutil.Prettify(s)
45468}
45469
45470// GoString returns the string representation
45471func (s CreateFleetOutput) GoString() string {
45472	return s.String()
45473}
45474
45475// SetErrors sets the Errors field's value.
45476func (s *CreateFleetOutput) SetErrors(v []*CreateFleetError) *CreateFleetOutput {
45477	s.Errors = v
45478	return s
45479}
45480
45481// SetFleetId sets the FleetId field's value.
45482func (s *CreateFleetOutput) SetFleetId(v string) *CreateFleetOutput {
45483	s.FleetId = &v
45484	return s
45485}
45486
45487// SetInstances sets the Instances field's value.
45488func (s *CreateFleetOutput) SetInstances(v []*CreateFleetInstance) *CreateFleetOutput {
45489	s.Instances = v
45490	return s
45491}
45492
45493type CreateFlowLogsInput struct {
45494	_ struct{} `type:"structure"`
45495
45496	// Unique, case-sensitive identifier that you provide to ensure the idempotency
45497	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
45498	ClientToken *string `type:"string"`
45499
45500	// The ARN for the IAM role that permits Amazon EC2 to publish flow logs to
45501	// a CloudWatch Logs log group in your account.
45502	//
45503	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
45504	// or LogGroupName.
45505	DeliverLogsPermissionArn *string `type:"string"`
45506
45507	// Checks whether you have the required permissions for the action, without
45508	// actually making the request, and provides an error response. If you have
45509	// the required permissions, the error response is DryRunOperation. Otherwise,
45510	// it is UnauthorizedOperation.
45511	DryRun *bool `type:"boolean"`
45512
45513	// Specifies the destination to which the flow log data is to be published.
45514	// Flow log data can be published to a CloudWatch Logs log group or an Amazon
45515	// S3 bucket. The value specified for this parameter depends on the value specified
45516	// for LogDestinationType.
45517	//
45518	// If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon
45519	// Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish
45520	// to a log group called my-logs, specify arn:aws:logs:us-east-1:123456789012:log-group:my-logs.
45521	// Alternatively, use LogGroupName instead.
45522	//
45523	// If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You
45524	// can also specify a subfolder in the bucket. To specify a subfolder in the
45525	// bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example,
45526	// to specify a subfolder named my-logs in a bucket named my-bucket, use the
45527	// following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as
45528	// a subfolder name. This is a reserved term.
45529	LogDestination *string `type:"string"`
45530
45531	// Specifies the type of destination to which the flow log data is to be published.
45532	// Flow log data can be published to CloudWatch Logs or Amazon S3. To publish
45533	// flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow
45534	// log data to Amazon S3, specify s3.
45535	//
45536	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
45537	// or LogGroupName.
45538	//
45539	// Default: cloud-watch-logs
45540	LogDestinationType *string `type:"string" enum:"LogDestinationType"`
45541
45542	// The fields to include in the flow log record, in the order in which they
45543	// 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).
45544	// If you omit this parameter, the flow log is created using the default format.
45545	// If you specify this parameter, you must specify at least one field.
45546	//
45547	// Specify the fields using the ${field-id} format, separated by spaces. For
45548	// the AWS CLI, use single quotation marks (' ') to surround the parameter value.
45549	//
45550	// Only applicable to flow logs that are published to an Amazon S3 bucket.
45551	LogFormat *string `type:"string"`
45552
45553	// The name of a new or existing CloudWatch Logs log group where Amazon EC2
45554	// publishes your flow logs.
45555	//
45556	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
45557	// or LogGroupName.
45558	LogGroupName *string `type:"string"`
45559
45560	// The maximum interval of time during which a flow of packets is captured and
45561	// aggregated into a flow log record. You can specify 60 seconds (1 minute)
45562	// or 600 seconds (10 minutes).
45563	//
45564	// 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),
45565	// the aggregation interval is always 60 seconds or less, regardless of the
45566	// value that you specify.
45567	//
45568	// Default: 600
45569	MaxAggregationInterval *int64 `type:"integer"`
45570
45571	// The ID of the subnet, network interface, or VPC for which you want to create
45572	// a flow log.
45573	//
45574	// Constraints: Maximum of 1000 resources
45575	//
45576	// ResourceIds is a required field
45577	ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
45578
45579	// The type of resource for which to create the flow log. For example, if you
45580	// specified a VPC ID for the ResourceId property, specify VPC for this property.
45581	//
45582	// ResourceType is a required field
45583	ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
45584
45585	// The tags to apply to the flow logs.
45586	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
45587
45588	// The type of traffic to log. You can log traffic that the resource accepts
45589	// or rejects, or all traffic.
45590	//
45591	// TrafficType is a required field
45592	TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
45593}
45594
45595// String returns the string representation
45596func (s CreateFlowLogsInput) String() string {
45597	return awsutil.Prettify(s)
45598}
45599
45600// GoString returns the string representation
45601func (s CreateFlowLogsInput) GoString() string {
45602	return s.String()
45603}
45604
45605// Validate inspects the fields of the type to determine if they are valid.
45606func (s *CreateFlowLogsInput) Validate() error {
45607	invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
45608	if s.ResourceIds == nil {
45609		invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
45610	}
45611	if s.ResourceType == nil {
45612		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
45613	}
45614	if s.TrafficType == nil {
45615		invalidParams.Add(request.NewErrParamRequired("TrafficType"))
45616	}
45617
45618	if invalidParams.Len() > 0 {
45619		return invalidParams
45620	}
45621	return nil
45622}
45623
45624// SetClientToken sets the ClientToken field's value.
45625func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
45626	s.ClientToken = &v
45627	return s
45628}
45629
45630// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
45631func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
45632	s.DeliverLogsPermissionArn = &v
45633	return s
45634}
45635
45636// SetDryRun sets the DryRun field's value.
45637func (s *CreateFlowLogsInput) SetDryRun(v bool) *CreateFlowLogsInput {
45638	s.DryRun = &v
45639	return s
45640}
45641
45642// SetLogDestination sets the LogDestination field's value.
45643func (s *CreateFlowLogsInput) SetLogDestination(v string) *CreateFlowLogsInput {
45644	s.LogDestination = &v
45645	return s
45646}
45647
45648// SetLogDestinationType sets the LogDestinationType field's value.
45649func (s *CreateFlowLogsInput) SetLogDestinationType(v string) *CreateFlowLogsInput {
45650	s.LogDestinationType = &v
45651	return s
45652}
45653
45654// SetLogFormat sets the LogFormat field's value.
45655func (s *CreateFlowLogsInput) SetLogFormat(v string) *CreateFlowLogsInput {
45656	s.LogFormat = &v
45657	return s
45658}
45659
45660// SetLogGroupName sets the LogGroupName field's value.
45661func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
45662	s.LogGroupName = &v
45663	return s
45664}
45665
45666// SetMaxAggregationInterval sets the MaxAggregationInterval field's value.
45667func (s *CreateFlowLogsInput) SetMaxAggregationInterval(v int64) *CreateFlowLogsInput {
45668	s.MaxAggregationInterval = &v
45669	return s
45670}
45671
45672// SetResourceIds sets the ResourceIds field's value.
45673func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
45674	s.ResourceIds = v
45675	return s
45676}
45677
45678// SetResourceType sets the ResourceType field's value.
45679func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
45680	s.ResourceType = &v
45681	return s
45682}
45683
45684// SetTagSpecifications sets the TagSpecifications field's value.
45685func (s *CreateFlowLogsInput) SetTagSpecifications(v []*TagSpecification) *CreateFlowLogsInput {
45686	s.TagSpecifications = v
45687	return s
45688}
45689
45690// SetTrafficType sets the TrafficType field's value.
45691func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
45692	s.TrafficType = &v
45693	return s
45694}
45695
45696type CreateFlowLogsOutput struct {
45697	_ struct{} `type:"structure"`
45698
45699	// Unique, case-sensitive identifier that you provide to ensure the idempotency
45700	// of the request.
45701	ClientToken *string `locationName:"clientToken" type:"string"`
45702
45703	// The IDs of the flow logs.
45704	FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
45705
45706	// Information about the flow logs that could not be created successfully.
45707	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
45708}
45709
45710// String returns the string representation
45711func (s CreateFlowLogsOutput) String() string {
45712	return awsutil.Prettify(s)
45713}
45714
45715// GoString returns the string representation
45716func (s CreateFlowLogsOutput) GoString() string {
45717	return s.String()
45718}
45719
45720// SetClientToken sets the ClientToken field's value.
45721func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
45722	s.ClientToken = &v
45723	return s
45724}
45725
45726// SetFlowLogIds sets the FlowLogIds field's value.
45727func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
45728	s.FlowLogIds = v
45729	return s
45730}
45731
45732// SetUnsuccessful sets the Unsuccessful field's value.
45733func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
45734	s.Unsuccessful = v
45735	return s
45736}
45737
45738type CreateFpgaImageInput struct {
45739	_ struct{} `type:"structure"`
45740
45741	// Unique, case-sensitive identifier that you provide to ensure the idempotency
45742	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
45743	ClientToken *string `type:"string"`
45744
45745	// A description for the AFI.
45746	Description *string `type:"string"`
45747
45748	// Checks whether you have the required permissions for the action, without
45749	// actually making the request, and provides an error response. If you have
45750	// the required permissions, the error response is DryRunOperation. Otherwise,
45751	// it is UnauthorizedOperation.
45752	DryRun *bool `type:"boolean"`
45753
45754	// The location of the encrypted design checkpoint in Amazon S3. The input must
45755	// be a tarball.
45756	//
45757	// InputStorageLocation is a required field
45758	InputStorageLocation *StorageLocation `type:"structure" required:"true"`
45759
45760	// The location in Amazon S3 for the output logs.
45761	LogsStorageLocation *StorageLocation `type:"structure"`
45762
45763	// A name for the AFI.
45764	Name *string `type:"string"`
45765
45766	// The tags to apply to the FPGA image during creation.
45767	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
45768}
45769
45770// String returns the string representation
45771func (s CreateFpgaImageInput) String() string {
45772	return awsutil.Prettify(s)
45773}
45774
45775// GoString returns the string representation
45776func (s CreateFpgaImageInput) GoString() string {
45777	return s.String()
45778}
45779
45780// Validate inspects the fields of the type to determine if they are valid.
45781func (s *CreateFpgaImageInput) Validate() error {
45782	invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
45783	if s.InputStorageLocation == nil {
45784		invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
45785	}
45786
45787	if invalidParams.Len() > 0 {
45788		return invalidParams
45789	}
45790	return nil
45791}
45792
45793// SetClientToken sets the ClientToken field's value.
45794func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
45795	s.ClientToken = &v
45796	return s
45797}
45798
45799// SetDescription sets the Description field's value.
45800func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
45801	s.Description = &v
45802	return s
45803}
45804
45805// SetDryRun sets the DryRun field's value.
45806func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
45807	s.DryRun = &v
45808	return s
45809}
45810
45811// SetInputStorageLocation sets the InputStorageLocation field's value.
45812func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
45813	s.InputStorageLocation = v
45814	return s
45815}
45816
45817// SetLogsStorageLocation sets the LogsStorageLocation field's value.
45818func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
45819	s.LogsStorageLocation = v
45820	return s
45821}
45822
45823// SetName sets the Name field's value.
45824func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
45825	s.Name = &v
45826	return s
45827}
45828
45829// SetTagSpecifications sets the TagSpecifications field's value.
45830func (s *CreateFpgaImageInput) SetTagSpecifications(v []*TagSpecification) *CreateFpgaImageInput {
45831	s.TagSpecifications = v
45832	return s
45833}
45834
45835type CreateFpgaImageOutput struct {
45836	_ struct{} `type:"structure"`
45837
45838	// The global FPGA image identifier (AGFI ID).
45839	FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
45840
45841	// The FPGA image identifier (AFI ID).
45842	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
45843}
45844
45845// String returns the string representation
45846func (s CreateFpgaImageOutput) String() string {
45847	return awsutil.Prettify(s)
45848}
45849
45850// GoString returns the string representation
45851func (s CreateFpgaImageOutput) GoString() string {
45852	return s.String()
45853}
45854
45855// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
45856func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
45857	s.FpgaImageGlobalId = &v
45858	return s
45859}
45860
45861// SetFpgaImageId sets the FpgaImageId field's value.
45862func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
45863	s.FpgaImageId = &v
45864	return s
45865}
45866
45867type CreateImageInput struct {
45868	_ struct{} `type:"structure"`
45869
45870	// The block device mappings. This parameter cannot be used to modify the encryption
45871	// status of existing volumes or snapshots. To create an AMI with encrypted
45872	// snapshots, use the CopyImage action.
45873	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
45874
45875	// A description for the new image.
45876	Description *string `locationName:"description" type:"string"`
45877
45878	// Checks whether you have the required permissions for the action, without
45879	// actually making the request, and provides an error response. If you have
45880	// the required permissions, the error response is DryRunOperation. Otherwise,
45881	// it is UnauthorizedOperation.
45882	DryRun *bool `locationName:"dryRun" type:"boolean"`
45883
45884	// The ID of the instance.
45885	//
45886	// InstanceId is a required field
45887	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
45888
45889	// A name for the new image.
45890	//
45891	// Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
45892	// ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
45893	// at-signs (@), or underscores(_)
45894	//
45895	// Name is a required field
45896	Name *string `locationName:"name" type:"string" required:"true"`
45897
45898	// By default, Amazon EC2 attempts to shut down and reboot the instance before
45899	// creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
45900	// shut down the instance before creating the image. When this option is used,
45901	// file system integrity on the created image can't be guaranteed.
45902	NoReboot *bool `locationName:"noReboot" type:"boolean"`
45903}
45904
45905// String returns the string representation
45906func (s CreateImageInput) String() string {
45907	return awsutil.Prettify(s)
45908}
45909
45910// GoString returns the string representation
45911func (s CreateImageInput) GoString() string {
45912	return s.String()
45913}
45914
45915// Validate inspects the fields of the type to determine if they are valid.
45916func (s *CreateImageInput) Validate() error {
45917	invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
45918	if s.InstanceId == nil {
45919		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
45920	}
45921	if s.Name == nil {
45922		invalidParams.Add(request.NewErrParamRequired("Name"))
45923	}
45924
45925	if invalidParams.Len() > 0 {
45926		return invalidParams
45927	}
45928	return nil
45929}
45930
45931// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
45932func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
45933	s.BlockDeviceMappings = v
45934	return s
45935}
45936
45937// SetDescription sets the Description field's value.
45938func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
45939	s.Description = &v
45940	return s
45941}
45942
45943// SetDryRun sets the DryRun field's value.
45944func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
45945	s.DryRun = &v
45946	return s
45947}
45948
45949// SetInstanceId sets the InstanceId field's value.
45950func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
45951	s.InstanceId = &v
45952	return s
45953}
45954
45955// SetName sets the Name field's value.
45956func (s *CreateImageInput) SetName(v string) *CreateImageInput {
45957	s.Name = &v
45958	return s
45959}
45960
45961// SetNoReboot sets the NoReboot field's value.
45962func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
45963	s.NoReboot = &v
45964	return s
45965}
45966
45967type CreateImageOutput struct {
45968	_ struct{} `type:"structure"`
45969
45970	// The ID of the new AMI.
45971	ImageId *string `locationName:"imageId" type:"string"`
45972}
45973
45974// String returns the string representation
45975func (s CreateImageOutput) String() string {
45976	return awsutil.Prettify(s)
45977}
45978
45979// GoString returns the string representation
45980func (s CreateImageOutput) GoString() string {
45981	return s.String()
45982}
45983
45984// SetImageId sets the ImageId field's value.
45985func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
45986	s.ImageId = &v
45987	return s
45988}
45989
45990type CreateInstanceExportTaskInput struct {
45991	_ struct{} `type:"structure"`
45992
45993	// A description for the conversion task or the resource being exported. The
45994	// maximum length is 255 bytes.
45995	Description *string `locationName:"description" type:"string"`
45996
45997	// The format and location for an instance export task.
45998	ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
45999
46000	// The ID of the instance.
46001	//
46002	// InstanceId is a required field
46003	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
46004
46005	// The target virtualization environment.
46006	TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
46007}
46008
46009// String returns the string representation
46010func (s CreateInstanceExportTaskInput) String() string {
46011	return awsutil.Prettify(s)
46012}
46013
46014// GoString returns the string representation
46015func (s CreateInstanceExportTaskInput) GoString() string {
46016	return s.String()
46017}
46018
46019// Validate inspects the fields of the type to determine if they are valid.
46020func (s *CreateInstanceExportTaskInput) Validate() error {
46021	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
46022	if s.InstanceId == nil {
46023		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
46024	}
46025
46026	if invalidParams.Len() > 0 {
46027		return invalidParams
46028	}
46029	return nil
46030}
46031
46032// SetDescription sets the Description field's value.
46033func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
46034	s.Description = &v
46035	return s
46036}
46037
46038// SetExportToS3Task sets the ExportToS3Task field's value.
46039func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
46040	s.ExportToS3Task = v
46041	return s
46042}
46043
46044// SetInstanceId sets the InstanceId field's value.
46045func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
46046	s.InstanceId = &v
46047	return s
46048}
46049
46050// SetTargetEnvironment sets the TargetEnvironment field's value.
46051func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
46052	s.TargetEnvironment = &v
46053	return s
46054}
46055
46056type CreateInstanceExportTaskOutput struct {
46057	_ struct{} `type:"structure"`
46058
46059	// Information about the instance export task.
46060	ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
46061}
46062
46063// String returns the string representation
46064func (s CreateInstanceExportTaskOutput) String() string {
46065	return awsutil.Prettify(s)
46066}
46067
46068// GoString returns the string representation
46069func (s CreateInstanceExportTaskOutput) GoString() string {
46070	return s.String()
46071}
46072
46073// SetExportTask sets the ExportTask field's value.
46074func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
46075	s.ExportTask = v
46076	return s
46077}
46078
46079type CreateInternetGatewayInput struct {
46080	_ struct{} `type:"structure"`
46081
46082	// Checks whether you have the required permissions for the action, without
46083	// actually making the request, and provides an error response. If you have
46084	// the required permissions, the error response is DryRunOperation. Otherwise,
46085	// it is UnauthorizedOperation.
46086	DryRun *bool `locationName:"dryRun" type:"boolean"`
46087}
46088
46089// String returns the string representation
46090func (s CreateInternetGatewayInput) String() string {
46091	return awsutil.Prettify(s)
46092}
46093
46094// GoString returns the string representation
46095func (s CreateInternetGatewayInput) GoString() string {
46096	return s.String()
46097}
46098
46099// SetDryRun sets the DryRun field's value.
46100func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
46101	s.DryRun = &v
46102	return s
46103}
46104
46105type CreateInternetGatewayOutput struct {
46106	_ struct{} `type:"structure"`
46107
46108	// Information about the internet gateway.
46109	InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
46110}
46111
46112// String returns the string representation
46113func (s CreateInternetGatewayOutput) String() string {
46114	return awsutil.Prettify(s)
46115}
46116
46117// GoString returns the string representation
46118func (s CreateInternetGatewayOutput) GoString() string {
46119	return s.String()
46120}
46121
46122// SetInternetGateway sets the InternetGateway field's value.
46123func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
46124	s.InternetGateway = v
46125	return s
46126}
46127
46128type CreateKeyPairInput struct {
46129	_ struct{} `type:"structure"`
46130
46131	// Checks whether you have the required permissions for the action, without
46132	// actually making the request, and provides an error response. If you have
46133	// the required permissions, the error response is DryRunOperation. Otherwise,
46134	// it is UnauthorizedOperation.
46135	DryRun *bool `locationName:"dryRun" type:"boolean"`
46136
46137	// A unique name for the key pair.
46138	//
46139	// Constraints: Up to 255 ASCII characters
46140	//
46141	// KeyName is a required field
46142	KeyName *string `type:"string" required:"true"`
46143}
46144
46145// String returns the string representation
46146func (s CreateKeyPairInput) String() string {
46147	return awsutil.Prettify(s)
46148}
46149
46150// GoString returns the string representation
46151func (s CreateKeyPairInput) GoString() string {
46152	return s.String()
46153}
46154
46155// Validate inspects the fields of the type to determine if they are valid.
46156func (s *CreateKeyPairInput) Validate() error {
46157	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
46158	if s.KeyName == nil {
46159		invalidParams.Add(request.NewErrParamRequired("KeyName"))
46160	}
46161
46162	if invalidParams.Len() > 0 {
46163		return invalidParams
46164	}
46165	return nil
46166}
46167
46168// SetDryRun sets the DryRun field's value.
46169func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
46170	s.DryRun = &v
46171	return s
46172}
46173
46174// SetKeyName sets the KeyName field's value.
46175func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
46176	s.KeyName = &v
46177	return s
46178}
46179
46180// Describes a key pair.
46181type CreateKeyPairOutput struct {
46182	_ struct{} `type:"structure"`
46183
46184	// The SHA-1 digest of the DER encoded private key.
46185	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
46186
46187	// An unencrypted PEM encoded RSA private key.
46188	KeyMaterial *string `locationName:"keyMaterial" type:"string" sensitive:"true"`
46189
46190	// The name of the key pair.
46191	KeyName *string `locationName:"keyName" type:"string"`
46192
46193	// The ID of the key pair.
46194	KeyPairId *string `locationName:"keyPairId" type:"string"`
46195}
46196
46197// String returns the string representation
46198func (s CreateKeyPairOutput) String() string {
46199	return awsutil.Prettify(s)
46200}
46201
46202// GoString returns the string representation
46203func (s CreateKeyPairOutput) GoString() string {
46204	return s.String()
46205}
46206
46207// SetKeyFingerprint sets the KeyFingerprint field's value.
46208func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
46209	s.KeyFingerprint = &v
46210	return s
46211}
46212
46213// SetKeyMaterial sets the KeyMaterial field's value.
46214func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
46215	s.KeyMaterial = &v
46216	return s
46217}
46218
46219// SetKeyName sets the KeyName field's value.
46220func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
46221	s.KeyName = &v
46222	return s
46223}
46224
46225// SetKeyPairId sets the KeyPairId field's value.
46226func (s *CreateKeyPairOutput) SetKeyPairId(v string) *CreateKeyPairOutput {
46227	s.KeyPairId = &v
46228	return s
46229}
46230
46231type CreateLaunchTemplateInput struct {
46232	_ struct{} `type:"structure"`
46233
46234	// Unique, case-sensitive identifier you provide to ensure the idempotency of
46235	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
46236	//
46237	// Constraint: Maximum 128 ASCII characters.
46238	ClientToken *string `type:"string"`
46239
46240	// Checks whether you have the required permissions for the action, without
46241	// actually making the request, and provides an error response. If you have
46242	// the required permissions, the error response is DryRunOperation. Otherwise,
46243	// it is UnauthorizedOperation.
46244	DryRun *bool `type:"boolean"`
46245
46246	// The information for the launch template.
46247	//
46248	// LaunchTemplateData is a required field
46249	LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
46250
46251	// A name for the launch template.
46252	//
46253	// LaunchTemplateName is a required field
46254	LaunchTemplateName *string `min:"3" type:"string" required:"true"`
46255
46256	// The tags to apply to the launch template during creation.
46257	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
46258
46259	// A description for the first version of the launch template.
46260	VersionDescription *string `type:"string"`
46261}
46262
46263// String returns the string representation
46264func (s CreateLaunchTemplateInput) String() string {
46265	return awsutil.Prettify(s)
46266}
46267
46268// GoString returns the string representation
46269func (s CreateLaunchTemplateInput) GoString() string {
46270	return s.String()
46271}
46272
46273// Validate inspects the fields of the type to determine if they are valid.
46274func (s *CreateLaunchTemplateInput) Validate() error {
46275	invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateInput"}
46276	if s.LaunchTemplateData == nil {
46277		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
46278	}
46279	if s.LaunchTemplateName == nil {
46280		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateName"))
46281	}
46282	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
46283		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
46284	}
46285	if s.LaunchTemplateData != nil {
46286		if err := s.LaunchTemplateData.Validate(); err != nil {
46287			invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
46288		}
46289	}
46290
46291	if invalidParams.Len() > 0 {
46292		return invalidParams
46293	}
46294	return nil
46295}
46296
46297// SetClientToken sets the ClientToken field's value.
46298func (s *CreateLaunchTemplateInput) SetClientToken(v string) *CreateLaunchTemplateInput {
46299	s.ClientToken = &v
46300	return s
46301}
46302
46303// SetDryRun sets the DryRun field's value.
46304func (s *CreateLaunchTemplateInput) SetDryRun(v bool) *CreateLaunchTemplateInput {
46305	s.DryRun = &v
46306	return s
46307}
46308
46309// SetLaunchTemplateData sets the LaunchTemplateData field's value.
46310func (s *CreateLaunchTemplateInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateInput {
46311	s.LaunchTemplateData = v
46312	return s
46313}
46314
46315// SetLaunchTemplateName sets the LaunchTemplateName field's value.
46316func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateInput {
46317	s.LaunchTemplateName = &v
46318	return s
46319}
46320
46321// SetTagSpecifications sets the TagSpecifications field's value.
46322func (s *CreateLaunchTemplateInput) SetTagSpecifications(v []*TagSpecification) *CreateLaunchTemplateInput {
46323	s.TagSpecifications = v
46324	return s
46325}
46326
46327// SetVersionDescription sets the VersionDescription field's value.
46328func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput {
46329	s.VersionDescription = &v
46330	return s
46331}
46332
46333type CreateLaunchTemplateOutput struct {
46334	_ struct{} `type:"structure"`
46335
46336	// Information about the launch template.
46337	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
46338}
46339
46340// String returns the string representation
46341func (s CreateLaunchTemplateOutput) String() string {
46342	return awsutil.Prettify(s)
46343}
46344
46345// GoString returns the string representation
46346func (s CreateLaunchTemplateOutput) GoString() string {
46347	return s.String()
46348}
46349
46350// SetLaunchTemplate sets the LaunchTemplate field's value.
46351func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *CreateLaunchTemplateOutput {
46352	s.LaunchTemplate = v
46353	return s
46354}
46355
46356type CreateLaunchTemplateVersionInput struct {
46357	_ struct{} `type:"structure"`
46358
46359	// Unique, case-sensitive identifier you provide to ensure the idempotency of
46360	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
46361	//
46362	// Constraint: Maximum 128 ASCII characters.
46363	ClientToken *string `type:"string"`
46364
46365	// Checks whether you have the required permissions for the action, without
46366	// actually making the request, and provides an error response. If you have
46367	// the required permissions, the error response is DryRunOperation. Otherwise,
46368	// it is UnauthorizedOperation.
46369	DryRun *bool `type:"boolean"`
46370
46371	// The information for the launch template.
46372	//
46373	// LaunchTemplateData is a required field
46374	LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
46375
46376	// The ID of the launch template. You must specify either the launch template
46377	// ID or launch template name in the request.
46378	LaunchTemplateId *string `type:"string"`
46379
46380	// The name of the launch template. You must specify either the launch template
46381	// ID or launch template name in the request.
46382	LaunchTemplateName *string `min:"3" type:"string"`
46383
46384	// The version number of the launch template version on which to base the new
46385	// version. The new version inherits the same launch parameters as the source
46386	// version, except for parameters that you specify in LaunchTemplateData. Snapshots
46387	// applied to the block device mapping are ignored when creating a new version
46388	// unless they are explicitly included.
46389	SourceVersion *string `type:"string"`
46390
46391	// A description for the version of the launch template.
46392	VersionDescription *string `type:"string"`
46393}
46394
46395// String returns the string representation
46396func (s CreateLaunchTemplateVersionInput) String() string {
46397	return awsutil.Prettify(s)
46398}
46399
46400// GoString returns the string representation
46401func (s CreateLaunchTemplateVersionInput) GoString() string {
46402	return s.String()
46403}
46404
46405// Validate inspects the fields of the type to determine if they are valid.
46406func (s *CreateLaunchTemplateVersionInput) Validate() error {
46407	invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateVersionInput"}
46408	if s.LaunchTemplateData == nil {
46409		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
46410	}
46411	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
46412		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
46413	}
46414	if s.LaunchTemplateData != nil {
46415		if err := s.LaunchTemplateData.Validate(); err != nil {
46416			invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
46417		}
46418	}
46419
46420	if invalidParams.Len() > 0 {
46421		return invalidParams
46422	}
46423	return nil
46424}
46425
46426// SetClientToken sets the ClientToken field's value.
46427func (s *CreateLaunchTemplateVersionInput) SetClientToken(v string) *CreateLaunchTemplateVersionInput {
46428	s.ClientToken = &v
46429	return s
46430}
46431
46432// SetDryRun sets the DryRun field's value.
46433func (s *CreateLaunchTemplateVersionInput) SetDryRun(v bool) *CreateLaunchTemplateVersionInput {
46434	s.DryRun = &v
46435	return s
46436}
46437
46438// SetLaunchTemplateData sets the LaunchTemplateData field's value.
46439func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateVersionInput {
46440	s.LaunchTemplateData = v
46441	return s
46442}
46443
46444// SetLaunchTemplateId sets the LaunchTemplateId field's value.
46445func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateId(v string) *CreateLaunchTemplateVersionInput {
46446	s.LaunchTemplateId = &v
46447	return s
46448}
46449
46450// SetLaunchTemplateName sets the LaunchTemplateName field's value.
46451func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateVersionInput {
46452	s.LaunchTemplateName = &v
46453	return s
46454}
46455
46456// SetSourceVersion sets the SourceVersion field's value.
46457func (s *CreateLaunchTemplateVersionInput) SetSourceVersion(v string) *CreateLaunchTemplateVersionInput {
46458	s.SourceVersion = &v
46459	return s
46460}
46461
46462// SetVersionDescription sets the VersionDescription field's value.
46463func (s *CreateLaunchTemplateVersionInput) SetVersionDescription(v string) *CreateLaunchTemplateVersionInput {
46464	s.VersionDescription = &v
46465	return s
46466}
46467
46468type CreateLaunchTemplateVersionOutput struct {
46469	_ struct{} `type:"structure"`
46470
46471	// Information about the launch template version.
46472	LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"`
46473}
46474
46475// String returns the string representation
46476func (s CreateLaunchTemplateVersionOutput) String() string {
46477	return awsutil.Prettify(s)
46478}
46479
46480// GoString returns the string representation
46481func (s CreateLaunchTemplateVersionOutput) GoString() string {
46482	return s.String()
46483}
46484
46485// SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value.
46486func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTemplateVersion) *CreateLaunchTemplateVersionOutput {
46487	s.LaunchTemplateVersion = v
46488	return s
46489}
46490
46491type CreateLocalGatewayRouteInput struct {
46492	_ struct{} `type:"structure"`
46493
46494	// The CIDR range used for destination matches. Routing decisions are based
46495	// on the most specific match.
46496	//
46497	// DestinationCidrBlock is a required field
46498	DestinationCidrBlock *string `type:"string" required:"true"`
46499
46500	// Checks whether you have the required permissions for the action, without
46501	// actually making the request, and provides an error response. If you have
46502	// the required permissions, the error response is DryRunOperation. Otherwise,
46503	// it is UnauthorizedOperation.
46504	DryRun *bool `type:"boolean"`
46505
46506	// The ID of the local gateway route table.
46507	//
46508	// LocalGatewayRouteTableId is a required field
46509	LocalGatewayRouteTableId *string `type:"string" required:"true"`
46510
46511	// The ID of the virtual interface group.
46512	//
46513	// LocalGatewayVirtualInterfaceGroupId is a required field
46514	LocalGatewayVirtualInterfaceGroupId *string `type:"string" required:"true"`
46515}
46516
46517// String returns the string representation
46518func (s CreateLocalGatewayRouteInput) String() string {
46519	return awsutil.Prettify(s)
46520}
46521
46522// GoString returns the string representation
46523func (s CreateLocalGatewayRouteInput) GoString() string {
46524	return s.String()
46525}
46526
46527// Validate inspects the fields of the type to determine if they are valid.
46528func (s *CreateLocalGatewayRouteInput) Validate() error {
46529	invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteInput"}
46530	if s.DestinationCidrBlock == nil {
46531		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
46532	}
46533	if s.LocalGatewayRouteTableId == nil {
46534		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
46535	}
46536	if s.LocalGatewayVirtualInterfaceGroupId == nil {
46537		invalidParams.Add(request.NewErrParamRequired("LocalGatewayVirtualInterfaceGroupId"))
46538	}
46539
46540	if invalidParams.Len() > 0 {
46541		return invalidParams
46542	}
46543	return nil
46544}
46545
46546// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
46547func (s *CreateLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateLocalGatewayRouteInput {
46548	s.DestinationCidrBlock = &v
46549	return s
46550}
46551
46552// SetDryRun sets the DryRun field's value.
46553func (s *CreateLocalGatewayRouteInput) SetDryRun(v bool) *CreateLocalGatewayRouteInput {
46554	s.DryRun = &v
46555	return s
46556}
46557
46558// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
46559func (s *CreateLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteInput {
46560	s.LocalGatewayRouteTableId = &v
46561	return s
46562}
46563
46564// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
46565func (s *CreateLocalGatewayRouteInput) SetLocalGatewayVirtualInterfaceGroupId(v string) *CreateLocalGatewayRouteInput {
46566	s.LocalGatewayVirtualInterfaceGroupId = &v
46567	return s
46568}
46569
46570type CreateLocalGatewayRouteOutput struct {
46571	_ struct{} `type:"structure"`
46572
46573	// Information about the route.
46574	Route *LocalGatewayRoute `locationName:"route" type:"structure"`
46575}
46576
46577// String returns the string representation
46578func (s CreateLocalGatewayRouteOutput) String() string {
46579	return awsutil.Prettify(s)
46580}
46581
46582// GoString returns the string representation
46583func (s CreateLocalGatewayRouteOutput) GoString() string {
46584	return s.String()
46585}
46586
46587// SetRoute sets the Route field's value.
46588func (s *CreateLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *CreateLocalGatewayRouteOutput {
46589	s.Route = v
46590	return s
46591}
46592
46593type CreateLocalGatewayRouteTableVpcAssociationInput struct {
46594	_ struct{} `type:"structure"`
46595
46596	// Checks whether you have the required permissions for the action, without
46597	// actually making the request, and provides an error response. If you have
46598	// the required permissions, the error response is DryRunOperation. Otherwise,
46599	// it is UnauthorizedOperation.
46600	DryRun *bool `type:"boolean"`
46601
46602	// The ID of the local gateway route table.
46603	//
46604	// LocalGatewayRouteTableId is a required field
46605	LocalGatewayRouteTableId *string `type:"string" required:"true"`
46606
46607	// The ID of the VPC.
46608	//
46609	// VpcId is a required field
46610	VpcId *string `type:"string" required:"true"`
46611}
46612
46613// String returns the string representation
46614func (s CreateLocalGatewayRouteTableVpcAssociationInput) String() string {
46615	return awsutil.Prettify(s)
46616}
46617
46618// GoString returns the string representation
46619func (s CreateLocalGatewayRouteTableVpcAssociationInput) GoString() string {
46620	return s.String()
46621}
46622
46623// Validate inspects the fields of the type to determine if they are valid.
46624func (s *CreateLocalGatewayRouteTableVpcAssociationInput) Validate() error {
46625	invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteTableVpcAssociationInput"}
46626	if s.LocalGatewayRouteTableId == nil {
46627		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
46628	}
46629	if s.VpcId == nil {
46630		invalidParams.Add(request.NewErrParamRequired("VpcId"))
46631	}
46632
46633	if invalidParams.Len() > 0 {
46634		return invalidParams
46635	}
46636	return nil
46637}
46638
46639// SetDryRun sets the DryRun field's value.
46640func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *CreateLocalGatewayRouteTableVpcAssociationInput {
46641	s.DryRun = &v
46642	return s
46643}
46644
46645// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
46646func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
46647	s.LocalGatewayRouteTableId = &v
46648	return s
46649}
46650
46651// SetVpcId sets the VpcId field's value.
46652func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetVpcId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
46653	s.VpcId = &v
46654	return s
46655}
46656
46657type CreateLocalGatewayRouteTableVpcAssociationOutput struct {
46658	_ struct{} `type:"structure"`
46659
46660	// Information about the association.
46661	LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
46662}
46663
46664// String returns the string representation
46665func (s CreateLocalGatewayRouteTableVpcAssociationOutput) String() string {
46666	return awsutil.Prettify(s)
46667}
46668
46669// GoString returns the string representation
46670func (s CreateLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
46671	return s.String()
46672}
46673
46674// SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
46675func (s *CreateLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *CreateLocalGatewayRouteTableVpcAssociationOutput {
46676	s.LocalGatewayRouteTableVpcAssociation = v
46677	return s
46678}
46679
46680type CreateNatGatewayInput struct {
46681	_ struct{} `type:"structure"`
46682
46683	// The allocation ID of an Elastic IP address to associate with the NAT gateway.
46684	// If the Elastic IP address is associated with another resource, you must first
46685	// disassociate it.
46686	//
46687	// AllocationId is a required field
46688	AllocationId *string `type:"string" required:"true"`
46689
46690	// Unique, case-sensitive identifier that you provide to ensure the idempotency
46691	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
46692	//
46693	// Constraint: Maximum 64 ASCII characters.
46694	ClientToken *string `type:"string"`
46695
46696	// The subnet in which to create the NAT gateway.
46697	//
46698	// SubnetId is a required field
46699	SubnetId *string `type:"string" required:"true"`
46700}
46701
46702// String returns the string representation
46703func (s CreateNatGatewayInput) String() string {
46704	return awsutil.Prettify(s)
46705}
46706
46707// GoString returns the string representation
46708func (s CreateNatGatewayInput) GoString() string {
46709	return s.String()
46710}
46711
46712// Validate inspects the fields of the type to determine if they are valid.
46713func (s *CreateNatGatewayInput) Validate() error {
46714	invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
46715	if s.AllocationId == nil {
46716		invalidParams.Add(request.NewErrParamRequired("AllocationId"))
46717	}
46718	if s.SubnetId == nil {
46719		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
46720	}
46721
46722	if invalidParams.Len() > 0 {
46723		return invalidParams
46724	}
46725	return nil
46726}
46727
46728// SetAllocationId sets the AllocationId field's value.
46729func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
46730	s.AllocationId = &v
46731	return s
46732}
46733
46734// SetClientToken sets the ClientToken field's value.
46735func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
46736	s.ClientToken = &v
46737	return s
46738}
46739
46740// SetSubnetId sets the SubnetId field's value.
46741func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
46742	s.SubnetId = &v
46743	return s
46744}
46745
46746type CreateNatGatewayOutput struct {
46747	_ struct{} `type:"structure"`
46748
46749	// Unique, case-sensitive identifier to ensure the idempotency of the request.
46750	// Only returned if a client token was provided in the request.
46751	ClientToken *string `locationName:"clientToken" type:"string"`
46752
46753	// Information about the NAT gateway.
46754	NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
46755}
46756
46757// String returns the string representation
46758func (s CreateNatGatewayOutput) String() string {
46759	return awsutil.Prettify(s)
46760}
46761
46762// GoString returns the string representation
46763func (s CreateNatGatewayOutput) GoString() string {
46764	return s.String()
46765}
46766
46767// SetClientToken sets the ClientToken field's value.
46768func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
46769	s.ClientToken = &v
46770	return s
46771}
46772
46773// SetNatGateway sets the NatGateway field's value.
46774func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
46775	s.NatGateway = v
46776	return s
46777}
46778
46779type CreateNetworkAclEntryInput struct {
46780	_ struct{} `type:"structure"`
46781
46782	// The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
46783	CidrBlock *string `locationName:"cidrBlock" type:"string"`
46784
46785	// Checks whether you have the required permissions for the action, without
46786	// actually making the request, and provides an error response. If you have
46787	// the required permissions, the error response is DryRunOperation. Otherwise,
46788	// it is UnauthorizedOperation.
46789	DryRun *bool `locationName:"dryRun" type:"boolean"`
46790
46791	// Indicates whether this is an egress rule (rule is applied to traffic leaving
46792	// the subnet).
46793	//
46794	// Egress is a required field
46795	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
46796
46797	// ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
46798	// 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
46799	IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
46800
46801	// The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
46802	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
46803
46804	// The ID of the network ACL.
46805	//
46806	// NetworkAclId is a required field
46807	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
46808
46809	// TCP or UDP protocols: The range of ports the rule applies to. Required if
46810	// specifying protocol 6 (TCP) or 17 (UDP).
46811	PortRange *PortRange `locationName:"portRange" type:"structure"`
46812
46813	// The protocol number. A value of "-1" means all protocols. If you specify
46814	// "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
46815	// traffic on all ports is allowed, regardless of any ports or ICMP types or
46816	// codes that you specify. If you specify protocol "58" (ICMPv6) and specify
46817	// an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
46818	// of any that you specify. If you specify protocol "58" (ICMPv6) and specify
46819	// an IPv6 CIDR block, you must specify an ICMP type and code.
46820	//
46821	// Protocol is a required field
46822	Protocol *string `locationName:"protocol" type:"string" required:"true"`
46823
46824	// Indicates whether to allow or deny the traffic that matches the rule.
46825	//
46826	// RuleAction is a required field
46827	RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
46828
46829	// The rule number for the entry (for example, 100). ACL entries are processed
46830	// in ascending order by rule number.
46831	//
46832	// Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
46833	// reserved for internal use.
46834	//
46835	// RuleNumber is a required field
46836	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
46837}
46838
46839// String returns the string representation
46840func (s CreateNetworkAclEntryInput) String() string {
46841	return awsutil.Prettify(s)
46842}
46843
46844// GoString returns the string representation
46845func (s CreateNetworkAclEntryInput) GoString() string {
46846	return s.String()
46847}
46848
46849// Validate inspects the fields of the type to determine if they are valid.
46850func (s *CreateNetworkAclEntryInput) Validate() error {
46851	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
46852	if s.Egress == nil {
46853		invalidParams.Add(request.NewErrParamRequired("Egress"))
46854	}
46855	if s.NetworkAclId == nil {
46856		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
46857	}
46858	if s.Protocol == nil {
46859		invalidParams.Add(request.NewErrParamRequired("Protocol"))
46860	}
46861	if s.RuleAction == nil {
46862		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
46863	}
46864	if s.RuleNumber == nil {
46865		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
46866	}
46867
46868	if invalidParams.Len() > 0 {
46869		return invalidParams
46870	}
46871	return nil
46872}
46873
46874// SetCidrBlock sets the CidrBlock field's value.
46875func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
46876	s.CidrBlock = &v
46877	return s
46878}
46879
46880// SetDryRun sets the DryRun field's value.
46881func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
46882	s.DryRun = &v
46883	return s
46884}
46885
46886// SetEgress sets the Egress field's value.
46887func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
46888	s.Egress = &v
46889	return s
46890}
46891
46892// SetIcmpTypeCode sets the IcmpTypeCode field's value.
46893func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
46894	s.IcmpTypeCode = v
46895	return s
46896}
46897
46898// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
46899func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
46900	s.Ipv6CidrBlock = &v
46901	return s
46902}
46903
46904// SetNetworkAclId sets the NetworkAclId field's value.
46905func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
46906	s.NetworkAclId = &v
46907	return s
46908}
46909
46910// SetPortRange sets the PortRange field's value.
46911func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
46912	s.PortRange = v
46913	return s
46914}
46915
46916// SetProtocol sets the Protocol field's value.
46917func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
46918	s.Protocol = &v
46919	return s
46920}
46921
46922// SetRuleAction sets the RuleAction field's value.
46923func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
46924	s.RuleAction = &v
46925	return s
46926}
46927
46928// SetRuleNumber sets the RuleNumber field's value.
46929func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
46930	s.RuleNumber = &v
46931	return s
46932}
46933
46934type CreateNetworkAclEntryOutput struct {
46935	_ struct{} `type:"structure"`
46936}
46937
46938// String returns the string representation
46939func (s CreateNetworkAclEntryOutput) String() string {
46940	return awsutil.Prettify(s)
46941}
46942
46943// GoString returns the string representation
46944func (s CreateNetworkAclEntryOutput) GoString() string {
46945	return s.String()
46946}
46947
46948type CreateNetworkAclInput struct {
46949	_ struct{} `type:"structure"`
46950
46951	// Checks whether you have the required permissions for the action, without
46952	// actually making the request, and provides an error response. If you have
46953	// the required permissions, the error response is DryRunOperation. Otherwise,
46954	// it is UnauthorizedOperation.
46955	DryRun *bool `locationName:"dryRun" type:"boolean"`
46956
46957	// The ID of the VPC.
46958	//
46959	// VpcId is a required field
46960	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
46961}
46962
46963// String returns the string representation
46964func (s CreateNetworkAclInput) String() string {
46965	return awsutil.Prettify(s)
46966}
46967
46968// GoString returns the string representation
46969func (s CreateNetworkAclInput) GoString() string {
46970	return s.String()
46971}
46972
46973// Validate inspects the fields of the type to determine if they are valid.
46974func (s *CreateNetworkAclInput) Validate() error {
46975	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
46976	if s.VpcId == nil {
46977		invalidParams.Add(request.NewErrParamRequired("VpcId"))
46978	}
46979
46980	if invalidParams.Len() > 0 {
46981		return invalidParams
46982	}
46983	return nil
46984}
46985
46986// SetDryRun sets the DryRun field's value.
46987func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
46988	s.DryRun = &v
46989	return s
46990}
46991
46992// SetVpcId sets the VpcId field's value.
46993func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
46994	s.VpcId = &v
46995	return s
46996}
46997
46998type CreateNetworkAclOutput struct {
46999	_ struct{} `type:"structure"`
47000
47001	// Information about the network ACL.
47002	NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
47003}
47004
47005// String returns the string representation
47006func (s CreateNetworkAclOutput) String() string {
47007	return awsutil.Prettify(s)
47008}
47009
47010// GoString returns the string representation
47011func (s CreateNetworkAclOutput) GoString() string {
47012	return s.String()
47013}
47014
47015// SetNetworkAcl sets the NetworkAcl field's value.
47016func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
47017	s.NetworkAcl = v
47018	return s
47019}
47020
47021// Contains the parameters for CreateNetworkInterface.
47022type CreateNetworkInterfaceInput struct {
47023	_ struct{} `type:"structure"`
47024
47025	// A description for the network interface.
47026	Description *string `locationName:"description" type:"string"`
47027
47028	// Checks whether you have the required permissions for the action, without
47029	// actually making the request, and provides an error response. If you have
47030	// the required permissions, the error response is DryRunOperation. Otherwise,
47031	// it is UnauthorizedOperation.
47032	DryRun *bool `locationName:"dryRun" type:"boolean"`
47033
47034	// The IDs of one or more security groups.
47035	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
47036
47037	// Indicates the type of network interface. To create an Elastic Fabric Adapter
47038	// (EFA), specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
47039	// in the Amazon Elastic Compute Cloud User Guide.
47040	InterfaceType *string `type:"string" enum:"NetworkInterfaceCreationType"`
47041
47042	// The number of IPv6 addresses to assign to a network interface. Amazon EC2
47043	// automatically selects the IPv6 addresses from the subnet range. You can't
47044	// use this option if specifying specific IPv6 addresses. If your subnet has
47045	// the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
47046	// to override this setting.
47047	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
47048
47049	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your
47050	// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
47051	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
47052
47053	// The primary private IPv4 address of the network interface. If you don't specify
47054	// an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
47055	// range. If you specify an IP address, you cannot indicate any IP addresses
47056	// specified in privateIpAddresses as primary (only one IP address can be designated
47057	// as primary).
47058	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
47059
47060	// One or more private IPv4 addresses.
47061	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
47062
47063	// The number of secondary private IPv4 addresses to assign to a network interface.
47064	// When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
47065	// these IP addresses within the subnet's IPv4 CIDR range. You can't specify
47066	// this option and specify more than one private IP address using privateIpAddresses.
47067	//
47068	// The number of IP addresses you can assign to a network interface varies by
47069	// instance type. For more information, see IP Addresses Per ENI Per Instance
47070	// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
47071	// in the Amazon Virtual Private Cloud User Guide.
47072	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
47073
47074	// The ID of the subnet to associate with the network interface.
47075	//
47076	// SubnetId is a required field
47077	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
47078}
47079
47080// String returns the string representation
47081func (s CreateNetworkInterfaceInput) String() string {
47082	return awsutil.Prettify(s)
47083}
47084
47085// GoString returns the string representation
47086func (s CreateNetworkInterfaceInput) GoString() string {
47087	return s.String()
47088}
47089
47090// Validate inspects the fields of the type to determine if they are valid.
47091func (s *CreateNetworkInterfaceInput) Validate() error {
47092	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
47093	if s.SubnetId == nil {
47094		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
47095	}
47096
47097	if invalidParams.Len() > 0 {
47098		return invalidParams
47099	}
47100	return nil
47101}
47102
47103// SetDescription sets the Description field's value.
47104func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
47105	s.Description = &v
47106	return s
47107}
47108
47109// SetDryRun sets the DryRun field's value.
47110func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
47111	s.DryRun = &v
47112	return s
47113}
47114
47115// SetGroups sets the Groups field's value.
47116func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
47117	s.Groups = v
47118	return s
47119}
47120
47121// SetInterfaceType sets the InterfaceType field's value.
47122func (s *CreateNetworkInterfaceInput) SetInterfaceType(v string) *CreateNetworkInterfaceInput {
47123	s.InterfaceType = &v
47124	return s
47125}
47126
47127// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
47128func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
47129	s.Ipv6AddressCount = &v
47130	return s
47131}
47132
47133// SetIpv6Addresses sets the Ipv6Addresses field's value.
47134func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
47135	s.Ipv6Addresses = v
47136	return s
47137}
47138
47139// SetPrivateIpAddress sets the PrivateIpAddress field's value.
47140func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
47141	s.PrivateIpAddress = &v
47142	return s
47143}
47144
47145// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
47146func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
47147	s.PrivateIpAddresses = v
47148	return s
47149}
47150
47151// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
47152func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
47153	s.SecondaryPrivateIpAddressCount = &v
47154	return s
47155}
47156
47157// SetSubnetId sets the SubnetId field's value.
47158func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
47159	s.SubnetId = &v
47160	return s
47161}
47162
47163// Contains the output of CreateNetworkInterface.
47164type CreateNetworkInterfaceOutput struct {
47165	_ struct{} `type:"structure"`
47166
47167	// Information about the network interface.
47168	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
47169}
47170
47171// String returns the string representation
47172func (s CreateNetworkInterfaceOutput) String() string {
47173	return awsutil.Prettify(s)
47174}
47175
47176// GoString returns the string representation
47177func (s CreateNetworkInterfaceOutput) GoString() string {
47178	return s.String()
47179}
47180
47181// SetNetworkInterface sets the NetworkInterface field's value.
47182func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
47183	s.NetworkInterface = v
47184	return s
47185}
47186
47187// Contains the parameters for CreateNetworkInterfacePermission.
47188type CreateNetworkInterfacePermissionInput struct {
47189	_ struct{} `type:"structure"`
47190
47191	// The AWS account ID.
47192	AwsAccountId *string `type:"string"`
47193
47194	// The AWS service. Currently not supported.
47195	AwsService *string `type:"string"`
47196
47197	// Checks whether you have the required permissions for the action, without
47198	// actually making the request, and provides an error response. If you have
47199	// the required permissions, the error response is DryRunOperation. Otherwise,
47200	// it is UnauthorizedOperation.
47201	DryRun *bool `type:"boolean"`
47202
47203	// The ID of the network interface.
47204	//
47205	// NetworkInterfaceId is a required field
47206	NetworkInterfaceId *string `type:"string" required:"true"`
47207
47208	// The type of permission to grant.
47209	//
47210	// Permission is a required field
47211	Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
47212}
47213
47214// String returns the string representation
47215func (s CreateNetworkInterfacePermissionInput) String() string {
47216	return awsutil.Prettify(s)
47217}
47218
47219// GoString returns the string representation
47220func (s CreateNetworkInterfacePermissionInput) GoString() string {
47221	return s.String()
47222}
47223
47224// Validate inspects the fields of the type to determine if they are valid.
47225func (s *CreateNetworkInterfacePermissionInput) Validate() error {
47226	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
47227	if s.NetworkInterfaceId == nil {
47228		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
47229	}
47230	if s.Permission == nil {
47231		invalidParams.Add(request.NewErrParamRequired("Permission"))
47232	}
47233
47234	if invalidParams.Len() > 0 {
47235		return invalidParams
47236	}
47237	return nil
47238}
47239
47240// SetAwsAccountId sets the AwsAccountId field's value.
47241func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
47242	s.AwsAccountId = &v
47243	return s
47244}
47245
47246// SetAwsService sets the AwsService field's value.
47247func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
47248	s.AwsService = &v
47249	return s
47250}
47251
47252// SetDryRun sets the DryRun field's value.
47253func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
47254	s.DryRun = &v
47255	return s
47256}
47257
47258// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
47259func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
47260	s.NetworkInterfaceId = &v
47261	return s
47262}
47263
47264// SetPermission sets the Permission field's value.
47265func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
47266	s.Permission = &v
47267	return s
47268}
47269
47270// Contains the output of CreateNetworkInterfacePermission.
47271type CreateNetworkInterfacePermissionOutput struct {
47272	_ struct{} `type:"structure"`
47273
47274	// Information about the permission for the network interface.
47275	InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
47276}
47277
47278// String returns the string representation
47279func (s CreateNetworkInterfacePermissionOutput) String() string {
47280	return awsutil.Prettify(s)
47281}
47282
47283// GoString returns the string representation
47284func (s CreateNetworkInterfacePermissionOutput) GoString() string {
47285	return s.String()
47286}
47287
47288// SetInterfacePermission sets the InterfacePermission field's value.
47289func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
47290	s.InterfacePermission = v
47291	return s
47292}
47293
47294type CreatePlacementGroupInput struct {
47295	_ struct{} `type:"structure"`
47296
47297	// Checks whether you have the required permissions for the action, without
47298	// actually making the request, and provides an error response. If you have
47299	// the required permissions, the error response is DryRunOperation. Otherwise,
47300	// it is UnauthorizedOperation.
47301	DryRun *bool `locationName:"dryRun" type:"boolean"`
47302
47303	// A name for the placement group. Must be unique within the scope of your account
47304	// for the Region.
47305	//
47306	// Constraints: Up to 255 ASCII characters
47307	GroupName *string `locationName:"groupName" type:"string"`
47308
47309	// The number of partitions. Valid only when Strategy is set to partition.
47310	PartitionCount *int64 `type:"integer"`
47311
47312	// The placement strategy.
47313	Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
47314}
47315
47316// String returns the string representation
47317func (s CreatePlacementGroupInput) String() string {
47318	return awsutil.Prettify(s)
47319}
47320
47321// GoString returns the string representation
47322func (s CreatePlacementGroupInput) GoString() string {
47323	return s.String()
47324}
47325
47326// SetDryRun sets the DryRun field's value.
47327func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
47328	s.DryRun = &v
47329	return s
47330}
47331
47332// SetGroupName sets the GroupName field's value.
47333func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
47334	s.GroupName = &v
47335	return s
47336}
47337
47338// SetPartitionCount sets the PartitionCount field's value.
47339func (s *CreatePlacementGroupInput) SetPartitionCount(v int64) *CreatePlacementGroupInput {
47340	s.PartitionCount = &v
47341	return s
47342}
47343
47344// SetStrategy sets the Strategy field's value.
47345func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
47346	s.Strategy = &v
47347	return s
47348}
47349
47350type CreatePlacementGroupOutput struct {
47351	_ struct{} `type:"structure"`
47352}
47353
47354// String returns the string representation
47355func (s CreatePlacementGroupOutput) String() string {
47356	return awsutil.Prettify(s)
47357}
47358
47359// GoString returns the string representation
47360func (s CreatePlacementGroupOutput) GoString() string {
47361	return s.String()
47362}
47363
47364// Contains the parameters for CreateReservedInstancesListing.
47365type CreateReservedInstancesListingInput struct {
47366	_ struct{} `type:"structure"`
47367
47368	// Unique, case-sensitive identifier you provide to ensure idempotency of your
47369	// listings. This helps avoid duplicate listings. For more information, see
47370	// Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
47371	//
47372	// ClientToken is a required field
47373	ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
47374
47375	// The number of instances that are a part of a Reserved Instance account to
47376	// be listed in the Reserved Instance Marketplace. This number should be less
47377	// than or equal to the instance count associated with the Reserved Instance
47378	// ID specified in this call.
47379	//
47380	// InstanceCount is a required field
47381	InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
47382
47383	// A list specifying the price of the Standard Reserved Instance for each month
47384	// remaining in the Reserved Instance term.
47385	//
47386	// PriceSchedules is a required field
47387	PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
47388
47389	// The ID of the active Standard Reserved Instance.
47390	//
47391	// ReservedInstancesId is a required field
47392	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
47393}
47394
47395// String returns the string representation
47396func (s CreateReservedInstancesListingInput) String() string {
47397	return awsutil.Prettify(s)
47398}
47399
47400// GoString returns the string representation
47401func (s CreateReservedInstancesListingInput) GoString() string {
47402	return s.String()
47403}
47404
47405// Validate inspects the fields of the type to determine if they are valid.
47406func (s *CreateReservedInstancesListingInput) Validate() error {
47407	invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
47408	if s.ClientToken == nil {
47409		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
47410	}
47411	if s.InstanceCount == nil {
47412		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
47413	}
47414	if s.PriceSchedules == nil {
47415		invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
47416	}
47417	if s.ReservedInstancesId == nil {
47418		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
47419	}
47420
47421	if invalidParams.Len() > 0 {
47422		return invalidParams
47423	}
47424	return nil
47425}
47426
47427// SetClientToken sets the ClientToken field's value.
47428func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
47429	s.ClientToken = &v
47430	return s
47431}
47432
47433// SetInstanceCount sets the InstanceCount field's value.
47434func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
47435	s.InstanceCount = &v
47436	return s
47437}
47438
47439// SetPriceSchedules sets the PriceSchedules field's value.
47440func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
47441	s.PriceSchedules = v
47442	return s
47443}
47444
47445// SetReservedInstancesId sets the ReservedInstancesId field's value.
47446func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
47447	s.ReservedInstancesId = &v
47448	return s
47449}
47450
47451// Contains the output of CreateReservedInstancesListing.
47452type CreateReservedInstancesListingOutput struct {
47453	_ struct{} `type:"structure"`
47454
47455	// Information about the Standard Reserved Instance listing.
47456	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
47457}
47458
47459// String returns the string representation
47460func (s CreateReservedInstancesListingOutput) String() string {
47461	return awsutil.Prettify(s)
47462}
47463
47464// GoString returns the string representation
47465func (s CreateReservedInstancesListingOutput) GoString() string {
47466	return s.String()
47467}
47468
47469// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
47470func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
47471	s.ReservedInstancesListings = v
47472	return s
47473}
47474
47475type CreateRouteInput struct {
47476	_ struct{} `type:"structure"`
47477
47478	// The IPv4 CIDR address block used for the destination match. Routing decisions
47479	// are based on the most specific match.
47480	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
47481
47482	// The IPv6 CIDR block used for the destination match. Routing decisions are
47483	// based on the most specific match.
47484	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
47485
47486	// Checks whether you have the required permissions for the action, without
47487	// actually making the request, and provides an error response. If you have
47488	// the required permissions, the error response is DryRunOperation. Otherwise,
47489	// it is UnauthorizedOperation.
47490	DryRun *bool `locationName:"dryRun" type:"boolean"`
47491
47492	// [IPv6 traffic only] The ID of an egress-only internet gateway.
47493	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
47494
47495	// The ID of an internet gateway or virtual private gateway attached to your
47496	// VPC.
47497	GatewayId *string `locationName:"gatewayId" type:"string"`
47498
47499	// The ID of a NAT instance in your VPC. The operation fails if you specify
47500	// an instance ID unless exactly one network interface is attached.
47501	InstanceId *string `locationName:"instanceId" type:"string"`
47502
47503	// The ID of the local gateway.
47504	LocalGatewayId *string `type:"string"`
47505
47506	// [IPv4 traffic only] The ID of a NAT gateway.
47507	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
47508
47509	// The ID of a network interface.
47510	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
47511
47512	// The ID of the route table for the route.
47513	//
47514	// RouteTableId is a required field
47515	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
47516
47517	// The ID of a transit gateway.
47518	TransitGatewayId *string `type:"string"`
47519
47520	// The ID of a VPC peering connection.
47521	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
47522}
47523
47524// String returns the string representation
47525func (s CreateRouteInput) String() string {
47526	return awsutil.Prettify(s)
47527}
47528
47529// GoString returns the string representation
47530func (s CreateRouteInput) GoString() string {
47531	return s.String()
47532}
47533
47534// Validate inspects the fields of the type to determine if they are valid.
47535func (s *CreateRouteInput) Validate() error {
47536	invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
47537	if s.RouteTableId == nil {
47538		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
47539	}
47540
47541	if invalidParams.Len() > 0 {
47542		return invalidParams
47543	}
47544	return nil
47545}
47546
47547// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
47548func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
47549	s.DestinationCidrBlock = &v
47550	return s
47551}
47552
47553// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
47554func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
47555	s.DestinationIpv6CidrBlock = &v
47556	return s
47557}
47558
47559// SetDryRun sets the DryRun field's value.
47560func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
47561	s.DryRun = &v
47562	return s
47563}
47564
47565// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
47566func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
47567	s.EgressOnlyInternetGatewayId = &v
47568	return s
47569}
47570
47571// SetGatewayId sets the GatewayId field's value.
47572func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
47573	s.GatewayId = &v
47574	return s
47575}
47576
47577// SetInstanceId sets the InstanceId field's value.
47578func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
47579	s.InstanceId = &v
47580	return s
47581}
47582
47583// SetLocalGatewayId sets the LocalGatewayId field's value.
47584func (s *CreateRouteInput) SetLocalGatewayId(v string) *CreateRouteInput {
47585	s.LocalGatewayId = &v
47586	return s
47587}
47588
47589// SetNatGatewayId sets the NatGatewayId field's value.
47590func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
47591	s.NatGatewayId = &v
47592	return s
47593}
47594
47595// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
47596func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
47597	s.NetworkInterfaceId = &v
47598	return s
47599}
47600
47601// SetRouteTableId sets the RouteTableId field's value.
47602func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
47603	s.RouteTableId = &v
47604	return s
47605}
47606
47607// SetTransitGatewayId sets the TransitGatewayId field's value.
47608func (s *CreateRouteInput) SetTransitGatewayId(v string) *CreateRouteInput {
47609	s.TransitGatewayId = &v
47610	return s
47611}
47612
47613// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
47614func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
47615	s.VpcPeeringConnectionId = &v
47616	return s
47617}
47618
47619type CreateRouteOutput struct {
47620	_ struct{} `type:"structure"`
47621
47622	// Returns true if the request succeeds; otherwise, it returns an error.
47623	Return *bool `locationName:"return" type:"boolean"`
47624}
47625
47626// String returns the string representation
47627func (s CreateRouteOutput) String() string {
47628	return awsutil.Prettify(s)
47629}
47630
47631// GoString returns the string representation
47632func (s CreateRouteOutput) GoString() string {
47633	return s.String()
47634}
47635
47636// SetReturn sets the Return field's value.
47637func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
47638	s.Return = &v
47639	return s
47640}
47641
47642type CreateRouteTableInput struct {
47643	_ struct{} `type:"structure"`
47644
47645	// Checks whether you have the required permissions for the action, without
47646	// actually making the request, and provides an error response. If you have
47647	// the required permissions, the error response is DryRunOperation. Otherwise,
47648	// it is UnauthorizedOperation.
47649	DryRun *bool `locationName:"dryRun" type:"boolean"`
47650
47651	// The ID of the VPC.
47652	//
47653	// VpcId is a required field
47654	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
47655}
47656
47657// String returns the string representation
47658func (s CreateRouteTableInput) String() string {
47659	return awsutil.Prettify(s)
47660}
47661
47662// GoString returns the string representation
47663func (s CreateRouteTableInput) GoString() string {
47664	return s.String()
47665}
47666
47667// Validate inspects the fields of the type to determine if they are valid.
47668func (s *CreateRouteTableInput) Validate() error {
47669	invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
47670	if s.VpcId == nil {
47671		invalidParams.Add(request.NewErrParamRequired("VpcId"))
47672	}
47673
47674	if invalidParams.Len() > 0 {
47675		return invalidParams
47676	}
47677	return nil
47678}
47679
47680// SetDryRun sets the DryRun field's value.
47681func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
47682	s.DryRun = &v
47683	return s
47684}
47685
47686// SetVpcId sets the VpcId field's value.
47687func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
47688	s.VpcId = &v
47689	return s
47690}
47691
47692type CreateRouteTableOutput struct {
47693	_ struct{} `type:"structure"`
47694
47695	// Information about the route table.
47696	RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
47697}
47698
47699// String returns the string representation
47700func (s CreateRouteTableOutput) String() string {
47701	return awsutil.Prettify(s)
47702}
47703
47704// GoString returns the string representation
47705func (s CreateRouteTableOutput) GoString() string {
47706	return s.String()
47707}
47708
47709// SetRouteTable sets the RouteTable field's value.
47710func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
47711	s.RouteTable = v
47712	return s
47713}
47714
47715type CreateSecurityGroupInput struct {
47716	_ struct{} `type:"structure"`
47717
47718	// A description for the security group. This is informational only.
47719	//
47720	// Constraints: Up to 255 characters in length
47721	//
47722	// Constraints for EC2-Classic: ASCII characters
47723	//
47724	// Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
47725	//
47726	// Description is a required field
47727	Description *string `locationName:"GroupDescription" type:"string" required:"true"`
47728
47729	// Checks whether you have the required permissions for the action, without
47730	// actually making the request, and provides an error response. If you have
47731	// the required permissions, the error response is DryRunOperation. Otherwise,
47732	// it is UnauthorizedOperation.
47733	DryRun *bool `locationName:"dryRun" type:"boolean"`
47734
47735	// The name of the security group.
47736	//
47737	// Constraints: Up to 255 characters in length. Cannot start with sg-.
47738	//
47739	// Constraints for EC2-Classic: ASCII characters
47740	//
47741	// Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
47742	//
47743	// GroupName is a required field
47744	GroupName *string `type:"string" required:"true"`
47745
47746	// [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
47747	VpcId *string `type:"string"`
47748}
47749
47750// String returns the string representation
47751func (s CreateSecurityGroupInput) String() string {
47752	return awsutil.Prettify(s)
47753}
47754
47755// GoString returns the string representation
47756func (s CreateSecurityGroupInput) GoString() string {
47757	return s.String()
47758}
47759
47760// Validate inspects the fields of the type to determine if they are valid.
47761func (s *CreateSecurityGroupInput) Validate() error {
47762	invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
47763	if s.Description == nil {
47764		invalidParams.Add(request.NewErrParamRequired("Description"))
47765	}
47766	if s.GroupName == nil {
47767		invalidParams.Add(request.NewErrParamRequired("GroupName"))
47768	}
47769
47770	if invalidParams.Len() > 0 {
47771		return invalidParams
47772	}
47773	return nil
47774}
47775
47776// SetDescription sets the Description field's value.
47777func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
47778	s.Description = &v
47779	return s
47780}
47781
47782// SetDryRun sets the DryRun field's value.
47783func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
47784	s.DryRun = &v
47785	return s
47786}
47787
47788// SetGroupName sets the GroupName field's value.
47789func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
47790	s.GroupName = &v
47791	return s
47792}
47793
47794// SetVpcId sets the VpcId field's value.
47795func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
47796	s.VpcId = &v
47797	return s
47798}
47799
47800type CreateSecurityGroupOutput struct {
47801	_ struct{} `type:"structure"`
47802
47803	// The ID of the security group.
47804	GroupId *string `locationName:"groupId" type:"string"`
47805}
47806
47807// String returns the string representation
47808func (s CreateSecurityGroupOutput) String() string {
47809	return awsutil.Prettify(s)
47810}
47811
47812// GoString returns the string representation
47813func (s CreateSecurityGroupOutput) GoString() string {
47814	return s.String()
47815}
47816
47817// SetGroupId sets the GroupId field's value.
47818func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
47819	s.GroupId = &v
47820	return s
47821}
47822
47823type CreateSnapshotInput struct {
47824	_ struct{} `type:"structure"`
47825
47826	// A description for the snapshot.
47827	Description *string `type:"string"`
47828
47829	// Checks whether you have the required permissions for the action, without
47830	// actually making the request, and provides an error response. If you have
47831	// the required permissions, the error response is DryRunOperation. Otherwise,
47832	// it is UnauthorizedOperation.
47833	DryRun *bool `locationName:"dryRun" type:"boolean"`
47834
47835	// The tags to apply to the snapshot during creation.
47836	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
47837
47838	// The ID of the EBS volume.
47839	//
47840	// VolumeId is a required field
47841	VolumeId *string `type:"string" required:"true"`
47842}
47843
47844// String returns the string representation
47845func (s CreateSnapshotInput) String() string {
47846	return awsutil.Prettify(s)
47847}
47848
47849// GoString returns the string representation
47850func (s CreateSnapshotInput) GoString() string {
47851	return s.String()
47852}
47853
47854// Validate inspects the fields of the type to determine if they are valid.
47855func (s *CreateSnapshotInput) Validate() error {
47856	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
47857	if s.VolumeId == nil {
47858		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
47859	}
47860
47861	if invalidParams.Len() > 0 {
47862		return invalidParams
47863	}
47864	return nil
47865}
47866
47867// SetDescription sets the Description field's value.
47868func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
47869	s.Description = &v
47870	return s
47871}
47872
47873// SetDryRun sets the DryRun field's value.
47874func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
47875	s.DryRun = &v
47876	return s
47877}
47878
47879// SetTagSpecifications sets the TagSpecifications field's value.
47880func (s *CreateSnapshotInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotInput {
47881	s.TagSpecifications = v
47882	return s
47883}
47884
47885// SetVolumeId sets the VolumeId field's value.
47886func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
47887	s.VolumeId = &v
47888	return s
47889}
47890
47891type CreateSnapshotsInput struct {
47892	_ struct{} `type:"structure"`
47893
47894	// Copies the tags from the specified volume to corresponding snapshot.
47895	CopyTagsFromSource *string `type:"string" enum:"CopyTagsFromSource"`
47896
47897	// A description propagated to every snapshot specified by the instance.
47898	Description *string `type:"string"`
47899
47900	// Checks whether you have the required permissions for the action, without
47901	// actually making the request, and provides an error response. If you have
47902	// the required permissions, the error response is DryRunOperation. Otherwise,
47903	// it is UnauthorizedOperation.
47904	DryRun *bool `type:"boolean"`
47905
47906	// The instance to specify which volumes should be included in the snapshots.
47907	//
47908	// InstanceSpecification is a required field
47909	InstanceSpecification *InstanceSpecification `type:"structure" required:"true"`
47910
47911	// Tags to apply to every snapshot specified by the instance.
47912	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
47913}
47914
47915// String returns the string representation
47916func (s CreateSnapshotsInput) String() string {
47917	return awsutil.Prettify(s)
47918}
47919
47920// GoString returns the string representation
47921func (s CreateSnapshotsInput) GoString() string {
47922	return s.String()
47923}
47924
47925// Validate inspects the fields of the type to determine if they are valid.
47926func (s *CreateSnapshotsInput) Validate() error {
47927	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotsInput"}
47928	if s.InstanceSpecification == nil {
47929		invalidParams.Add(request.NewErrParamRequired("InstanceSpecification"))
47930	}
47931
47932	if invalidParams.Len() > 0 {
47933		return invalidParams
47934	}
47935	return nil
47936}
47937
47938// SetCopyTagsFromSource sets the CopyTagsFromSource field's value.
47939func (s *CreateSnapshotsInput) SetCopyTagsFromSource(v string) *CreateSnapshotsInput {
47940	s.CopyTagsFromSource = &v
47941	return s
47942}
47943
47944// SetDescription sets the Description field's value.
47945func (s *CreateSnapshotsInput) SetDescription(v string) *CreateSnapshotsInput {
47946	s.Description = &v
47947	return s
47948}
47949
47950// SetDryRun sets the DryRun field's value.
47951func (s *CreateSnapshotsInput) SetDryRun(v bool) *CreateSnapshotsInput {
47952	s.DryRun = &v
47953	return s
47954}
47955
47956// SetInstanceSpecification sets the InstanceSpecification field's value.
47957func (s *CreateSnapshotsInput) SetInstanceSpecification(v *InstanceSpecification) *CreateSnapshotsInput {
47958	s.InstanceSpecification = v
47959	return s
47960}
47961
47962// SetTagSpecifications sets the TagSpecifications field's value.
47963func (s *CreateSnapshotsInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotsInput {
47964	s.TagSpecifications = v
47965	return s
47966}
47967
47968type CreateSnapshotsOutput struct {
47969	_ struct{} `type:"structure"`
47970
47971	// List of snapshots.
47972	Snapshots []*SnapshotInfo `locationName:"snapshotSet" locationNameList:"item" type:"list"`
47973}
47974
47975// String returns the string representation
47976func (s CreateSnapshotsOutput) String() string {
47977	return awsutil.Prettify(s)
47978}
47979
47980// GoString returns the string representation
47981func (s CreateSnapshotsOutput) GoString() string {
47982	return s.String()
47983}
47984
47985// SetSnapshots sets the Snapshots field's value.
47986func (s *CreateSnapshotsOutput) SetSnapshots(v []*SnapshotInfo) *CreateSnapshotsOutput {
47987	s.Snapshots = v
47988	return s
47989}
47990
47991// Contains the parameters for CreateSpotDatafeedSubscription.
47992type CreateSpotDatafeedSubscriptionInput struct {
47993	_ struct{} `type:"structure"`
47994
47995	// The Amazon S3 bucket in which to store the Spot Instance data feed.
47996	//
47997	// Bucket is a required field
47998	Bucket *string `locationName:"bucket" type:"string" required:"true"`
47999
48000	// Checks whether you have the required permissions for the action, without
48001	// actually making the request, and provides an error response. If you have
48002	// the required permissions, the error response is DryRunOperation. Otherwise,
48003	// it is UnauthorizedOperation.
48004	DryRun *bool `locationName:"dryRun" type:"boolean"`
48005
48006	// A prefix for the data feed file names.
48007	Prefix *string `locationName:"prefix" type:"string"`
48008}
48009
48010// String returns the string representation
48011func (s CreateSpotDatafeedSubscriptionInput) String() string {
48012	return awsutil.Prettify(s)
48013}
48014
48015// GoString returns the string representation
48016func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
48017	return s.String()
48018}
48019
48020// Validate inspects the fields of the type to determine if they are valid.
48021func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
48022	invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
48023	if s.Bucket == nil {
48024		invalidParams.Add(request.NewErrParamRequired("Bucket"))
48025	}
48026
48027	if invalidParams.Len() > 0 {
48028		return invalidParams
48029	}
48030	return nil
48031}
48032
48033// SetBucket sets the Bucket field's value.
48034func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
48035	s.Bucket = &v
48036	return s
48037}
48038
48039// SetDryRun sets the DryRun field's value.
48040func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
48041	s.DryRun = &v
48042	return s
48043}
48044
48045// SetPrefix sets the Prefix field's value.
48046func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
48047	s.Prefix = &v
48048	return s
48049}
48050
48051// Contains the output of CreateSpotDatafeedSubscription.
48052type CreateSpotDatafeedSubscriptionOutput struct {
48053	_ struct{} `type:"structure"`
48054
48055	// The Spot Instance data feed subscription.
48056	SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
48057}
48058
48059// String returns the string representation
48060func (s CreateSpotDatafeedSubscriptionOutput) String() string {
48061	return awsutil.Prettify(s)
48062}
48063
48064// GoString returns the string representation
48065func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
48066	return s.String()
48067}
48068
48069// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
48070func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
48071	s.SpotDatafeedSubscription = v
48072	return s
48073}
48074
48075type CreateSubnetInput struct {
48076	_ struct{} `type:"structure"`
48077
48078	// The Availability Zone or Local Zone for the subnet.
48079	//
48080	// Default: AWS selects one for you. If you create more than one subnet in your
48081	// VPC, we do not necessarily select a different zone for each subnet.
48082	//
48083	// To create a subnet in a Local Zone, set this value to the Local Zone ID,
48084	// for example us-west-2-lax-1a. For information about the Regions that support
48085	// Local Zones, see Available Regions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions)
48086	// in the Amazon Elastic Compute Cloud User Guide.
48087	AvailabilityZone *string `type:"string"`
48088
48089	// The AZ ID or the Local Zone ID of the subnet.
48090	AvailabilityZoneId *string `type:"string"`
48091
48092	// The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
48093	//
48094	// CidrBlock is a required field
48095	CidrBlock *string `type:"string" required:"true"`
48096
48097	// Checks whether you have the required permissions for the action, without
48098	// actually making the request, and provides an error response. If you have
48099	// the required permissions, the error response is DryRunOperation. Otherwise,
48100	// it is UnauthorizedOperation.
48101	DryRun *bool `locationName:"dryRun" type:"boolean"`
48102
48103	// The IPv6 network range for the subnet, in CIDR notation. The subnet size
48104	// must use a /64 prefix length.
48105	Ipv6CidrBlock *string `type:"string"`
48106
48107	// The Amazon Resource Name (ARN) of the Outpost.
48108	OutpostArn *string `type:"string"`
48109
48110	// The ID of the VPC.
48111	//
48112	// VpcId is a required field
48113	VpcId *string `type:"string" required:"true"`
48114}
48115
48116// String returns the string representation
48117func (s CreateSubnetInput) String() string {
48118	return awsutil.Prettify(s)
48119}
48120
48121// GoString returns the string representation
48122func (s CreateSubnetInput) GoString() string {
48123	return s.String()
48124}
48125
48126// Validate inspects the fields of the type to determine if they are valid.
48127func (s *CreateSubnetInput) Validate() error {
48128	invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
48129	if s.CidrBlock == nil {
48130		invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
48131	}
48132	if s.VpcId == nil {
48133		invalidParams.Add(request.NewErrParamRequired("VpcId"))
48134	}
48135
48136	if invalidParams.Len() > 0 {
48137		return invalidParams
48138	}
48139	return nil
48140}
48141
48142// SetAvailabilityZone sets the AvailabilityZone field's value.
48143func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
48144	s.AvailabilityZone = &v
48145	return s
48146}
48147
48148// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
48149func (s *CreateSubnetInput) SetAvailabilityZoneId(v string) *CreateSubnetInput {
48150	s.AvailabilityZoneId = &v
48151	return s
48152}
48153
48154// SetCidrBlock sets the CidrBlock field's value.
48155func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
48156	s.CidrBlock = &v
48157	return s
48158}
48159
48160// SetDryRun sets the DryRun field's value.
48161func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
48162	s.DryRun = &v
48163	return s
48164}
48165
48166// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
48167func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
48168	s.Ipv6CidrBlock = &v
48169	return s
48170}
48171
48172// SetOutpostArn sets the OutpostArn field's value.
48173func (s *CreateSubnetInput) SetOutpostArn(v string) *CreateSubnetInput {
48174	s.OutpostArn = &v
48175	return s
48176}
48177
48178// SetVpcId sets the VpcId field's value.
48179func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
48180	s.VpcId = &v
48181	return s
48182}
48183
48184type CreateSubnetOutput struct {
48185	_ struct{} `type:"structure"`
48186
48187	// Information about the subnet.
48188	Subnet *Subnet `locationName:"subnet" type:"structure"`
48189}
48190
48191// String returns the string representation
48192func (s CreateSubnetOutput) String() string {
48193	return awsutil.Prettify(s)
48194}
48195
48196// GoString returns the string representation
48197func (s CreateSubnetOutput) GoString() string {
48198	return s.String()
48199}
48200
48201// SetSubnet sets the Subnet field's value.
48202func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
48203	s.Subnet = v
48204	return s
48205}
48206
48207type CreateTagsInput struct {
48208	_ struct{} `type:"structure"`
48209
48210	// Checks whether you have the required permissions for the action, without
48211	// actually making the request, and provides an error response. If you have
48212	// the required permissions, the error response is DryRunOperation. Otherwise,
48213	// it is UnauthorizedOperation.
48214	DryRun *bool `locationName:"dryRun" type:"boolean"`
48215
48216	// The IDs of the resources, separated by spaces.
48217	//
48218	// Constraints: Up to 1000 resource IDs. We recommend breaking up this request
48219	// into smaller batches.
48220	//
48221	// Resources is a required field
48222	Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
48223
48224	// The tags. The value parameter is required, but if you don't want the tag
48225	// to have a value, specify the parameter with no value, and we set the value
48226	// to an empty string.
48227	//
48228	// Tags is a required field
48229	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
48230}
48231
48232// String returns the string representation
48233func (s CreateTagsInput) String() string {
48234	return awsutil.Prettify(s)
48235}
48236
48237// GoString returns the string representation
48238func (s CreateTagsInput) GoString() string {
48239	return s.String()
48240}
48241
48242// Validate inspects the fields of the type to determine if they are valid.
48243func (s *CreateTagsInput) Validate() error {
48244	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
48245	if s.Resources == nil {
48246		invalidParams.Add(request.NewErrParamRequired("Resources"))
48247	}
48248	if s.Tags == nil {
48249		invalidParams.Add(request.NewErrParamRequired("Tags"))
48250	}
48251
48252	if invalidParams.Len() > 0 {
48253		return invalidParams
48254	}
48255	return nil
48256}
48257
48258// SetDryRun sets the DryRun field's value.
48259func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
48260	s.DryRun = &v
48261	return s
48262}
48263
48264// SetResources sets the Resources field's value.
48265func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
48266	s.Resources = v
48267	return s
48268}
48269
48270// SetTags sets the Tags field's value.
48271func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
48272	s.Tags = v
48273	return s
48274}
48275
48276type CreateTagsOutput struct {
48277	_ struct{} `type:"structure"`
48278}
48279
48280// String returns the string representation
48281func (s CreateTagsOutput) String() string {
48282	return awsutil.Prettify(s)
48283}
48284
48285// GoString returns the string representation
48286func (s CreateTagsOutput) GoString() string {
48287	return s.String()
48288}
48289
48290type CreateTrafficMirrorFilterInput struct {
48291	_ struct{} `type:"structure"`
48292
48293	// Unique, case-sensitive identifier that you provide to ensure the idempotency
48294	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
48295	ClientToken *string `type:"string" idempotencyToken:"true"`
48296
48297	// The description of the Traffic Mirror filter.
48298	Description *string `type:"string"`
48299
48300	// Checks whether you have the required permissions for the action, without
48301	// actually making the request, and provides an error response. If you have
48302	// the required permissions, the error response is DryRunOperation. Otherwise,
48303	// it is UnauthorizedOperation.
48304	DryRun *bool `type:"boolean"`
48305
48306	// The tags to assign to a Traffic Mirror filter.
48307	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
48308}
48309
48310// String returns the string representation
48311func (s CreateTrafficMirrorFilterInput) String() string {
48312	return awsutil.Prettify(s)
48313}
48314
48315// GoString returns the string representation
48316func (s CreateTrafficMirrorFilterInput) GoString() string {
48317	return s.String()
48318}
48319
48320// SetClientToken sets the ClientToken field's value.
48321func (s *CreateTrafficMirrorFilterInput) SetClientToken(v string) *CreateTrafficMirrorFilterInput {
48322	s.ClientToken = &v
48323	return s
48324}
48325
48326// SetDescription sets the Description field's value.
48327func (s *CreateTrafficMirrorFilterInput) SetDescription(v string) *CreateTrafficMirrorFilterInput {
48328	s.Description = &v
48329	return s
48330}
48331
48332// SetDryRun sets the DryRun field's value.
48333func (s *CreateTrafficMirrorFilterInput) SetDryRun(v bool) *CreateTrafficMirrorFilterInput {
48334	s.DryRun = &v
48335	return s
48336}
48337
48338// SetTagSpecifications sets the TagSpecifications field's value.
48339func (s *CreateTrafficMirrorFilterInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorFilterInput {
48340	s.TagSpecifications = v
48341	return s
48342}
48343
48344type CreateTrafficMirrorFilterOutput struct {
48345	_ struct{} `type:"structure"`
48346
48347	// Unique, case-sensitive identifier that you provide to ensure the idempotency
48348	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
48349	ClientToken *string `locationName:"clientToken" type:"string"`
48350
48351	// Information about the Traffic Mirror filter.
48352	TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"`
48353}
48354
48355// String returns the string representation
48356func (s CreateTrafficMirrorFilterOutput) String() string {
48357	return awsutil.Prettify(s)
48358}
48359
48360// GoString returns the string representation
48361func (s CreateTrafficMirrorFilterOutput) GoString() string {
48362	return s.String()
48363}
48364
48365// SetClientToken sets the ClientToken field's value.
48366func (s *CreateTrafficMirrorFilterOutput) SetClientToken(v string) *CreateTrafficMirrorFilterOutput {
48367	s.ClientToken = &v
48368	return s
48369}
48370
48371// SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value.
48372func (s *CreateTrafficMirrorFilterOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *CreateTrafficMirrorFilterOutput {
48373	s.TrafficMirrorFilter = v
48374	return s
48375}
48376
48377type CreateTrafficMirrorFilterRuleInput struct {
48378	_ struct{} `type:"structure"`
48379
48380	// Unique, case-sensitive identifier that you provide to ensure the idempotency
48381	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
48382	ClientToken *string `type:"string" idempotencyToken:"true"`
48383
48384	// The description of the Traffic Mirror rule.
48385	Description *string `type:"string"`
48386
48387	// The destination CIDR block to assign to the Traffic Mirror rule.
48388	//
48389	// DestinationCidrBlock is a required field
48390	DestinationCidrBlock *string `type:"string" required:"true"`
48391
48392	// The destination port range.
48393	DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"`
48394
48395	// Checks whether you have the required permissions for the action, without
48396	// actually making the request, and provides an error response. If you have
48397	// the required permissions, the error response is DryRunOperation. Otherwise,
48398	// it is UnauthorizedOperation.
48399	DryRun *bool `type:"boolean"`
48400
48401	// The protocol, for example UDP, to assign to the Traffic Mirror rule.
48402	//
48403	// For information about the protocol value, see Protocol Numbers (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)
48404	// on the Internet Assigned Numbers Authority (IANA) website.
48405	Protocol *int64 `type:"integer"`
48406
48407	// The action to take (accept | reject) on the filtered traffic.
48408	//
48409	// RuleAction is a required field
48410	RuleAction *string `type:"string" required:"true" enum:"TrafficMirrorRuleAction"`
48411
48412	// The number of the Traffic Mirror rule. This number must be unique for each
48413	// Traffic Mirror rule in a given direction. The rules are processed in ascending
48414	// order by rule number.
48415	//
48416	// RuleNumber is a required field
48417	RuleNumber *int64 `type:"integer" required:"true"`
48418
48419	// The source CIDR block to assign to the Traffic Mirror rule.
48420	//
48421	// SourceCidrBlock is a required field
48422	SourceCidrBlock *string `type:"string" required:"true"`
48423
48424	// The source port range.
48425	SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"`
48426
48427	// The type of traffic (ingress | egress).
48428	//
48429	// TrafficDirection is a required field
48430	TrafficDirection *string `type:"string" required:"true" enum:"TrafficDirection"`
48431
48432	// The ID of the filter that this rule is associated with.
48433	//
48434	// TrafficMirrorFilterId is a required field
48435	TrafficMirrorFilterId *string `type:"string" required:"true"`
48436}
48437
48438// String returns the string representation
48439func (s CreateTrafficMirrorFilterRuleInput) String() string {
48440	return awsutil.Prettify(s)
48441}
48442
48443// GoString returns the string representation
48444func (s CreateTrafficMirrorFilterRuleInput) GoString() string {
48445	return s.String()
48446}
48447
48448// Validate inspects the fields of the type to determine if they are valid.
48449func (s *CreateTrafficMirrorFilterRuleInput) Validate() error {
48450	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorFilterRuleInput"}
48451	if s.DestinationCidrBlock == nil {
48452		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
48453	}
48454	if s.RuleAction == nil {
48455		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
48456	}
48457	if s.RuleNumber == nil {
48458		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
48459	}
48460	if s.SourceCidrBlock == nil {
48461		invalidParams.Add(request.NewErrParamRequired("SourceCidrBlock"))
48462	}
48463	if s.TrafficDirection == nil {
48464		invalidParams.Add(request.NewErrParamRequired("TrafficDirection"))
48465	}
48466	if s.TrafficMirrorFilterId == nil {
48467		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
48468	}
48469
48470	if invalidParams.Len() > 0 {
48471		return invalidParams
48472	}
48473	return nil
48474}
48475
48476// SetClientToken sets the ClientToken field's value.
48477func (s *CreateTrafficMirrorFilterRuleInput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleInput {
48478	s.ClientToken = &v
48479	return s
48480}
48481
48482// SetDescription sets the Description field's value.
48483func (s *CreateTrafficMirrorFilterRuleInput) SetDescription(v string) *CreateTrafficMirrorFilterRuleInput {
48484	s.Description = &v
48485	return s
48486}
48487
48488// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
48489func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput {
48490	s.DestinationCidrBlock = &v
48491	return s
48492}
48493
48494// SetDestinationPortRange sets the DestinationPortRange field's value.
48495func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput {
48496	s.DestinationPortRange = v
48497	return s
48498}
48499
48500// SetDryRun sets the DryRun field's value.
48501func (s *CreateTrafficMirrorFilterRuleInput) SetDryRun(v bool) *CreateTrafficMirrorFilterRuleInput {
48502	s.DryRun = &v
48503	return s
48504}
48505
48506// SetProtocol sets the Protocol field's value.
48507func (s *CreateTrafficMirrorFilterRuleInput) SetProtocol(v int64) *CreateTrafficMirrorFilterRuleInput {
48508	s.Protocol = &v
48509	return s
48510}
48511
48512// SetRuleAction sets the RuleAction field's value.
48513func (s *CreateTrafficMirrorFilterRuleInput) SetRuleAction(v string) *CreateTrafficMirrorFilterRuleInput {
48514	s.RuleAction = &v
48515	return s
48516}
48517
48518// SetRuleNumber sets the RuleNumber field's value.
48519func (s *CreateTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *CreateTrafficMirrorFilterRuleInput {
48520	s.RuleNumber = &v
48521	return s
48522}
48523
48524// SetSourceCidrBlock sets the SourceCidrBlock field's value.
48525func (s *CreateTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput {
48526	s.SourceCidrBlock = &v
48527	return s
48528}
48529
48530// SetSourcePortRange sets the SourcePortRange field's value.
48531func (s *CreateTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput {
48532	s.SourcePortRange = v
48533	return s
48534}
48535
48536// SetTrafficDirection sets the TrafficDirection field's value.
48537func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *CreateTrafficMirrorFilterRuleInput {
48538	s.TrafficDirection = &v
48539	return s
48540}
48541
48542// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
48543func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorFilterRuleInput {
48544	s.TrafficMirrorFilterId = &v
48545	return s
48546}
48547
48548type CreateTrafficMirrorFilterRuleOutput struct {
48549	_ struct{} `type:"structure"`
48550
48551	// Unique, case-sensitive identifier that you provide to ensure the idempotency
48552	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
48553	ClientToken *string `locationName:"clientToken" type:"string"`
48554
48555	// The Traffic Mirror rule.
48556	TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"`
48557}
48558
48559// String returns the string representation
48560func (s CreateTrafficMirrorFilterRuleOutput) String() string {
48561	return awsutil.Prettify(s)
48562}
48563
48564// GoString returns the string representation
48565func (s CreateTrafficMirrorFilterRuleOutput) GoString() string {
48566	return s.String()
48567}
48568
48569// SetClientToken sets the ClientToken field's value.
48570func (s *CreateTrafficMirrorFilterRuleOutput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleOutput {
48571	s.ClientToken = &v
48572	return s
48573}
48574
48575// SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value.
48576func (s *CreateTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *CreateTrafficMirrorFilterRuleOutput {
48577	s.TrafficMirrorFilterRule = v
48578	return s
48579}
48580
48581type CreateTrafficMirrorSessionInput struct {
48582	_ struct{} `type:"structure"`
48583
48584	// Unique, case-sensitive identifier that you provide to ensure the idempotency
48585	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
48586	ClientToken *string `type:"string" idempotencyToken:"true"`
48587
48588	// The description of the Traffic Mirror session.
48589	Description *string `type:"string"`
48590
48591	// Checks whether you have the required permissions for the action, without
48592	// actually making the request, and provides an error response. If you have
48593	// the required permissions, the error response is DryRunOperation. Otherwise,
48594	// it is UnauthorizedOperation.
48595	DryRun *bool `type:"boolean"`
48596
48597	// The ID of the source network interface.
48598	//
48599	// NetworkInterfaceId is a required field
48600	NetworkInterfaceId *string `type:"string" required:"true"`
48601
48602	// The number of bytes in each packet to mirror. These are bytes after the VXLAN
48603	// header. Do not specify this parameter when you want to mirror the entire
48604	// packet. To mirror a subset of the packet, set this to the length (in bytes)
48605	// that you want to mirror. For example, if you set this value to 100, then
48606	// the first 100 bytes that meet the filter criteria are copied to the target.
48607	//
48608	// If you do not want to mirror the entire packet, use the PacketLength parameter
48609	// to specify the number of bytes in each packet to mirror.
48610	PacketLength *int64 `type:"integer"`
48611
48612	// The session number determines the order in which sessions are evaluated when
48613	// an interface is used by multiple sessions. The first session with a matching
48614	// filter is the one that mirrors the packets.
48615	//
48616	// Valid values are 1-32766.
48617	//
48618	// SessionNumber is a required field
48619	SessionNumber *int64 `type:"integer" required:"true"`
48620
48621	// The tags to assign to a Traffic Mirror session.
48622	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
48623
48624	// The ID of the Traffic Mirror filter.
48625	//
48626	// TrafficMirrorFilterId is a required field
48627	TrafficMirrorFilterId *string `type:"string" required:"true"`
48628
48629	// The ID of the Traffic Mirror target.
48630	//
48631	// TrafficMirrorTargetId is a required field
48632	TrafficMirrorTargetId *string `type:"string" required:"true"`
48633
48634	// The VXLAN ID for the Traffic Mirror session. For more information about the
48635	// VXLAN protocol, see RFC 7348 (https://tools.ietf.org/html/rfc7348). If you
48636	// do not specify a VirtualNetworkId, an account-wide unique id is chosen at
48637	// random.
48638	VirtualNetworkId *int64 `type:"integer"`
48639}
48640
48641// String returns the string representation
48642func (s CreateTrafficMirrorSessionInput) String() string {
48643	return awsutil.Prettify(s)
48644}
48645
48646// GoString returns the string representation
48647func (s CreateTrafficMirrorSessionInput) GoString() string {
48648	return s.String()
48649}
48650
48651// Validate inspects the fields of the type to determine if they are valid.
48652func (s *CreateTrafficMirrorSessionInput) Validate() error {
48653	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorSessionInput"}
48654	if s.NetworkInterfaceId == nil {
48655		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
48656	}
48657	if s.SessionNumber == nil {
48658		invalidParams.Add(request.NewErrParamRequired("SessionNumber"))
48659	}
48660	if s.TrafficMirrorFilterId == nil {
48661		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
48662	}
48663	if s.TrafficMirrorTargetId == nil {
48664		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId"))
48665	}
48666
48667	if invalidParams.Len() > 0 {
48668		return invalidParams
48669	}
48670	return nil
48671}
48672
48673// SetClientToken sets the ClientToken field's value.
48674func (s *CreateTrafficMirrorSessionInput) SetClientToken(v string) *CreateTrafficMirrorSessionInput {
48675	s.ClientToken = &v
48676	return s
48677}
48678
48679// SetDescription sets the Description field's value.
48680func (s *CreateTrafficMirrorSessionInput) SetDescription(v string) *CreateTrafficMirrorSessionInput {
48681	s.Description = &v
48682	return s
48683}
48684
48685// SetDryRun sets the DryRun field's value.
48686func (s *CreateTrafficMirrorSessionInput) SetDryRun(v bool) *CreateTrafficMirrorSessionInput {
48687	s.DryRun = &v
48688	return s
48689}
48690
48691// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
48692func (s *CreateTrafficMirrorSessionInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorSessionInput {
48693	s.NetworkInterfaceId = &v
48694	return s
48695}
48696
48697// SetPacketLength sets the PacketLength field's value.
48698func (s *CreateTrafficMirrorSessionInput) SetPacketLength(v int64) *CreateTrafficMirrorSessionInput {
48699	s.PacketLength = &v
48700	return s
48701}
48702
48703// SetSessionNumber sets the SessionNumber field's value.
48704func (s *CreateTrafficMirrorSessionInput) SetSessionNumber(v int64) *CreateTrafficMirrorSessionInput {
48705	s.SessionNumber = &v
48706	return s
48707}
48708
48709// SetTagSpecifications sets the TagSpecifications field's value.
48710func (s *CreateTrafficMirrorSessionInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorSessionInput {
48711	s.TagSpecifications = v
48712	return s
48713}
48714
48715// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
48716func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorSessionInput {
48717	s.TrafficMirrorFilterId = &v
48718	return s
48719}
48720
48721// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
48722func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *CreateTrafficMirrorSessionInput {
48723	s.TrafficMirrorTargetId = &v
48724	return s
48725}
48726
48727// SetVirtualNetworkId sets the VirtualNetworkId field's value.
48728func (s *CreateTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *CreateTrafficMirrorSessionInput {
48729	s.VirtualNetworkId = &v
48730	return s
48731}
48732
48733type CreateTrafficMirrorSessionOutput struct {
48734	_ struct{} `type:"structure"`
48735
48736	// Unique, case-sensitive identifier that you provide to ensure the idempotency
48737	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
48738	ClientToken *string `locationName:"clientToken" type:"string"`
48739
48740	// Information about the Traffic Mirror session.
48741	TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"`
48742}
48743
48744// String returns the string representation
48745func (s CreateTrafficMirrorSessionOutput) String() string {
48746	return awsutil.Prettify(s)
48747}
48748
48749// GoString returns the string representation
48750func (s CreateTrafficMirrorSessionOutput) GoString() string {
48751	return s.String()
48752}
48753
48754// SetClientToken sets the ClientToken field's value.
48755func (s *CreateTrafficMirrorSessionOutput) SetClientToken(v string) *CreateTrafficMirrorSessionOutput {
48756	s.ClientToken = &v
48757	return s
48758}
48759
48760// SetTrafficMirrorSession sets the TrafficMirrorSession field's value.
48761func (s *CreateTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *CreateTrafficMirrorSessionOutput {
48762	s.TrafficMirrorSession = v
48763	return s
48764}
48765
48766type CreateTrafficMirrorTargetInput struct {
48767	_ struct{} `type:"structure"`
48768
48769	// Unique, case-sensitive identifier that you provide to ensure the idempotency
48770	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
48771	ClientToken *string `type:"string" idempotencyToken:"true"`
48772
48773	// The description of the Traffic Mirror target.
48774	Description *string `type:"string"`
48775
48776	// Checks whether you have the required permissions for the action, without
48777	// actually making the request, and provides an error response. If you have
48778	// the required permissions, the error response is DryRunOperation. Otherwise,
48779	// it is UnauthorizedOperation.
48780	DryRun *bool `type:"boolean"`
48781
48782	// The network interface ID that is associated with the target.
48783	NetworkInterfaceId *string `type:"string"`
48784
48785	// The Amazon Resource Name (ARN) of the Network Load Balancer that is associated
48786	// with the target.
48787	NetworkLoadBalancerArn *string `type:"string"`
48788
48789	// The tags to assign to the Traffic Mirror target.
48790	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
48791}
48792
48793// String returns the string representation
48794func (s CreateTrafficMirrorTargetInput) String() string {
48795	return awsutil.Prettify(s)
48796}
48797
48798// GoString returns the string representation
48799func (s CreateTrafficMirrorTargetInput) GoString() string {
48800	return s.String()
48801}
48802
48803// SetClientToken sets the ClientToken field's value.
48804func (s *CreateTrafficMirrorTargetInput) SetClientToken(v string) *CreateTrafficMirrorTargetInput {
48805	s.ClientToken = &v
48806	return s
48807}
48808
48809// SetDescription sets the Description field's value.
48810func (s *CreateTrafficMirrorTargetInput) SetDescription(v string) *CreateTrafficMirrorTargetInput {
48811	s.Description = &v
48812	return s
48813}
48814
48815// SetDryRun sets the DryRun field's value.
48816func (s *CreateTrafficMirrorTargetInput) SetDryRun(v bool) *CreateTrafficMirrorTargetInput {
48817	s.DryRun = &v
48818	return s
48819}
48820
48821// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
48822func (s *CreateTrafficMirrorTargetInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorTargetInput {
48823	s.NetworkInterfaceId = &v
48824	return s
48825}
48826
48827// SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value.
48828func (s *CreateTrafficMirrorTargetInput) SetNetworkLoadBalancerArn(v string) *CreateTrafficMirrorTargetInput {
48829	s.NetworkLoadBalancerArn = &v
48830	return s
48831}
48832
48833// SetTagSpecifications sets the TagSpecifications field's value.
48834func (s *CreateTrafficMirrorTargetInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorTargetInput {
48835	s.TagSpecifications = v
48836	return s
48837}
48838
48839type CreateTrafficMirrorTargetOutput struct {
48840	_ struct{} `type:"structure"`
48841
48842	// Unique, case-sensitive identifier that you provide to ensure the idempotency
48843	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
48844	ClientToken *string `locationName:"clientToken" type:"string"`
48845
48846	// Information about the Traffic Mirror target.
48847	TrafficMirrorTarget *TrafficMirrorTarget `locationName:"trafficMirrorTarget" type:"structure"`
48848}
48849
48850// String returns the string representation
48851func (s CreateTrafficMirrorTargetOutput) String() string {
48852	return awsutil.Prettify(s)
48853}
48854
48855// GoString returns the string representation
48856func (s CreateTrafficMirrorTargetOutput) GoString() string {
48857	return s.String()
48858}
48859
48860// SetClientToken sets the ClientToken field's value.
48861func (s *CreateTrafficMirrorTargetOutput) SetClientToken(v string) *CreateTrafficMirrorTargetOutput {
48862	s.ClientToken = &v
48863	return s
48864}
48865
48866// SetTrafficMirrorTarget sets the TrafficMirrorTarget field's value.
48867func (s *CreateTrafficMirrorTargetOutput) SetTrafficMirrorTarget(v *TrafficMirrorTarget) *CreateTrafficMirrorTargetOutput {
48868	s.TrafficMirrorTarget = v
48869	return s
48870}
48871
48872type CreateTransitGatewayInput struct {
48873	_ struct{} `type:"structure"`
48874
48875	// A description of the transit gateway.
48876	Description *string `type:"string"`
48877
48878	// Checks whether you have the required permissions for the action, without
48879	// actually making the request, and provides an error response. If you have
48880	// the required permissions, the error response is DryRunOperation. Otherwise,
48881	// it is UnauthorizedOperation.
48882	DryRun *bool `type:"boolean"`
48883
48884	// The transit gateway options.
48885	Options *TransitGatewayRequestOptions `type:"structure"`
48886
48887	// The tags to apply to the transit gateway.
48888	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
48889}
48890
48891// String returns the string representation
48892func (s CreateTransitGatewayInput) String() string {
48893	return awsutil.Prettify(s)
48894}
48895
48896// GoString returns the string representation
48897func (s CreateTransitGatewayInput) GoString() string {
48898	return s.String()
48899}
48900
48901// SetDescription sets the Description field's value.
48902func (s *CreateTransitGatewayInput) SetDescription(v string) *CreateTransitGatewayInput {
48903	s.Description = &v
48904	return s
48905}
48906
48907// SetDryRun sets the DryRun field's value.
48908func (s *CreateTransitGatewayInput) SetDryRun(v bool) *CreateTransitGatewayInput {
48909	s.DryRun = &v
48910	return s
48911}
48912
48913// SetOptions sets the Options field's value.
48914func (s *CreateTransitGatewayInput) SetOptions(v *TransitGatewayRequestOptions) *CreateTransitGatewayInput {
48915	s.Options = v
48916	return s
48917}
48918
48919// SetTagSpecifications sets the TagSpecifications field's value.
48920func (s *CreateTransitGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayInput {
48921	s.TagSpecifications = v
48922	return s
48923}
48924
48925type CreateTransitGatewayMulticastDomainInput struct {
48926	_ struct{} `type:"structure"`
48927
48928	// Checks whether you have the required permissions for the action, without
48929	// actually making the request, and provides an error response. If you have
48930	// the required permissions, the error response is DryRunOperation. Otherwise,
48931	// it is UnauthorizedOperation.
48932	DryRun *bool `type:"boolean"`
48933
48934	// The tags for the transit gateway multicast domain.
48935	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
48936
48937	// The ID of the transit gateway.
48938	//
48939	// TransitGatewayId is a required field
48940	TransitGatewayId *string `type:"string" required:"true"`
48941}
48942
48943// String returns the string representation
48944func (s CreateTransitGatewayMulticastDomainInput) String() string {
48945	return awsutil.Prettify(s)
48946}
48947
48948// GoString returns the string representation
48949func (s CreateTransitGatewayMulticastDomainInput) GoString() string {
48950	return s.String()
48951}
48952
48953// Validate inspects the fields of the type to determine if they are valid.
48954func (s *CreateTransitGatewayMulticastDomainInput) Validate() error {
48955	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayMulticastDomainInput"}
48956	if s.TransitGatewayId == nil {
48957		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
48958	}
48959
48960	if invalidParams.Len() > 0 {
48961		return invalidParams
48962	}
48963	return nil
48964}
48965
48966// SetDryRun sets the DryRun field's value.
48967func (s *CreateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *CreateTransitGatewayMulticastDomainInput {
48968	s.DryRun = &v
48969	return s
48970}
48971
48972// SetTagSpecifications sets the TagSpecifications field's value.
48973func (s *CreateTransitGatewayMulticastDomainInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayMulticastDomainInput {
48974	s.TagSpecifications = v
48975	return s
48976}
48977
48978// SetTransitGatewayId sets the TransitGatewayId field's value.
48979func (s *CreateTransitGatewayMulticastDomainInput) SetTransitGatewayId(v string) *CreateTransitGatewayMulticastDomainInput {
48980	s.TransitGatewayId = &v
48981	return s
48982}
48983
48984type CreateTransitGatewayMulticastDomainOutput struct {
48985	_ struct{} `type:"structure"`
48986
48987	// Information about the transit gateway multicast domain.
48988	TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
48989}
48990
48991// String returns the string representation
48992func (s CreateTransitGatewayMulticastDomainOutput) String() string {
48993	return awsutil.Prettify(s)
48994}
48995
48996// GoString returns the string representation
48997func (s CreateTransitGatewayMulticastDomainOutput) GoString() string {
48998	return s.String()
48999}
49000
49001// SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
49002func (s *CreateTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *CreateTransitGatewayMulticastDomainOutput {
49003	s.TransitGatewayMulticastDomain = v
49004	return s
49005}
49006
49007type CreateTransitGatewayOutput struct {
49008	_ struct{} `type:"structure"`
49009
49010	// Information about the transit gateway.
49011	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
49012}
49013
49014// String returns the string representation
49015func (s CreateTransitGatewayOutput) String() string {
49016	return awsutil.Prettify(s)
49017}
49018
49019// GoString returns the string representation
49020func (s CreateTransitGatewayOutput) GoString() string {
49021	return s.String()
49022}
49023
49024// SetTransitGateway sets the TransitGateway field's value.
49025func (s *CreateTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *CreateTransitGatewayOutput {
49026	s.TransitGateway = v
49027	return s
49028}
49029
49030type CreateTransitGatewayPeeringAttachmentInput struct {
49031	_ struct{} `type:"structure"`
49032
49033	// Checks whether you have the required permissions for the action, without
49034	// actually making the request, and provides an error response. If you have
49035	// the required permissions, the error response is DryRunOperation. Otherwise,
49036	// it is UnauthorizedOperation.
49037	DryRun *bool `type:"boolean"`
49038
49039	// The AWS account ID of the owner of the peer transit gateway.
49040	//
49041	// PeerAccountId is a required field
49042	PeerAccountId *string `type:"string" required:"true"`
49043
49044	// The Region where the peer transit gateway is located.
49045	//
49046	// PeerRegion is a required field
49047	PeerRegion *string `type:"string" required:"true"`
49048
49049	// The ID of the peer transit gateway with which to create the peering attachment.
49050	//
49051	// PeerTransitGatewayId is a required field
49052	PeerTransitGatewayId *string `type:"string" required:"true"`
49053
49054	// The tags to apply to the transit gateway peering attachment.
49055	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
49056
49057	// The ID of the transit gateway.
49058	//
49059	// TransitGatewayId is a required field
49060	TransitGatewayId *string `type:"string" required:"true"`
49061}
49062
49063// String returns the string representation
49064func (s CreateTransitGatewayPeeringAttachmentInput) String() string {
49065	return awsutil.Prettify(s)
49066}
49067
49068// GoString returns the string representation
49069func (s CreateTransitGatewayPeeringAttachmentInput) GoString() string {
49070	return s.String()
49071}
49072
49073// Validate inspects the fields of the type to determine if they are valid.
49074func (s *CreateTransitGatewayPeeringAttachmentInput) Validate() error {
49075	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayPeeringAttachmentInput"}
49076	if s.PeerAccountId == nil {
49077		invalidParams.Add(request.NewErrParamRequired("PeerAccountId"))
49078	}
49079	if s.PeerRegion == nil {
49080		invalidParams.Add(request.NewErrParamRequired("PeerRegion"))
49081	}
49082	if s.PeerTransitGatewayId == nil {
49083		invalidParams.Add(request.NewErrParamRequired("PeerTransitGatewayId"))
49084	}
49085	if s.TransitGatewayId == nil {
49086		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
49087	}
49088
49089	if invalidParams.Len() > 0 {
49090		return invalidParams
49091	}
49092	return nil
49093}
49094
49095// SetDryRun sets the DryRun field's value.
49096func (s *CreateTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayPeeringAttachmentInput {
49097	s.DryRun = &v
49098	return s
49099}
49100
49101// SetPeerAccountId sets the PeerAccountId field's value.
49102func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerAccountId(v string) *CreateTransitGatewayPeeringAttachmentInput {
49103	s.PeerAccountId = &v
49104	return s
49105}
49106
49107// SetPeerRegion sets the PeerRegion field's value.
49108func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerRegion(v string) *CreateTransitGatewayPeeringAttachmentInput {
49109	s.PeerRegion = &v
49110	return s
49111}
49112
49113// SetPeerTransitGatewayId sets the PeerTransitGatewayId field's value.
49114func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
49115	s.PeerTransitGatewayId = &v
49116	return s
49117}
49118
49119// SetTagSpecifications sets the TagSpecifications field's value.
49120func (s *CreateTransitGatewayPeeringAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayPeeringAttachmentInput {
49121	s.TagSpecifications = v
49122	return s
49123}
49124
49125// SetTransitGatewayId sets the TransitGatewayId field's value.
49126func (s *CreateTransitGatewayPeeringAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
49127	s.TransitGatewayId = &v
49128	return s
49129}
49130
49131type CreateTransitGatewayPeeringAttachmentOutput struct {
49132	_ struct{} `type:"structure"`
49133
49134	// The transit gateway peering attachment.
49135	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
49136}
49137
49138// String returns the string representation
49139func (s CreateTransitGatewayPeeringAttachmentOutput) String() string {
49140	return awsutil.Prettify(s)
49141}
49142
49143// GoString returns the string representation
49144func (s CreateTransitGatewayPeeringAttachmentOutput) GoString() string {
49145	return s.String()
49146}
49147
49148// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
49149func (s *CreateTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *CreateTransitGatewayPeeringAttachmentOutput {
49150	s.TransitGatewayPeeringAttachment = v
49151	return s
49152}
49153
49154type CreateTransitGatewayRouteInput struct {
49155	_ struct{} `type:"structure"`
49156
49157	// Indicates whether to drop traffic that matches this route.
49158	Blackhole *bool `type:"boolean"`
49159
49160	// The CIDR range used for destination matches. Routing decisions are based
49161	// on the most specific match.
49162	//
49163	// DestinationCidrBlock is a required field
49164	DestinationCidrBlock *string `type:"string" required:"true"`
49165
49166	// Checks whether you have the required permissions for the action, without
49167	// actually making the request, and provides an error response. If you have
49168	// the required permissions, the error response is DryRunOperation. Otherwise,
49169	// it is UnauthorizedOperation.
49170	DryRun *bool `type:"boolean"`
49171
49172	// The ID of the attachment.
49173	TransitGatewayAttachmentId *string `type:"string"`
49174
49175	// The ID of the transit gateway route table.
49176	//
49177	// TransitGatewayRouteTableId is a required field
49178	TransitGatewayRouteTableId *string `type:"string" required:"true"`
49179}
49180
49181// String returns the string representation
49182func (s CreateTransitGatewayRouteInput) String() string {
49183	return awsutil.Prettify(s)
49184}
49185
49186// GoString returns the string representation
49187func (s CreateTransitGatewayRouteInput) GoString() string {
49188	return s.String()
49189}
49190
49191// Validate inspects the fields of the type to determine if they are valid.
49192func (s *CreateTransitGatewayRouteInput) Validate() error {
49193	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteInput"}
49194	if s.DestinationCidrBlock == nil {
49195		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
49196	}
49197	if s.TransitGatewayRouteTableId == nil {
49198		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
49199	}
49200
49201	if invalidParams.Len() > 0 {
49202		return invalidParams
49203	}
49204	return nil
49205}
49206
49207// SetBlackhole sets the Blackhole field's value.
49208func (s *CreateTransitGatewayRouteInput) SetBlackhole(v bool) *CreateTransitGatewayRouteInput {
49209	s.Blackhole = &v
49210	return s
49211}
49212
49213// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
49214func (s *CreateTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateTransitGatewayRouteInput {
49215	s.DestinationCidrBlock = &v
49216	return s
49217}
49218
49219// SetDryRun sets the DryRun field's value.
49220func (s *CreateTransitGatewayRouteInput) SetDryRun(v bool) *CreateTransitGatewayRouteInput {
49221	s.DryRun = &v
49222	return s
49223}
49224
49225// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
49226func (s *CreateTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayRouteInput {
49227	s.TransitGatewayAttachmentId = &v
49228	return s
49229}
49230
49231// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
49232func (s *CreateTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *CreateTransitGatewayRouteInput {
49233	s.TransitGatewayRouteTableId = &v
49234	return s
49235}
49236
49237type CreateTransitGatewayRouteOutput struct {
49238	_ struct{} `type:"structure"`
49239
49240	// Information about the route.
49241	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
49242}
49243
49244// String returns the string representation
49245func (s CreateTransitGatewayRouteOutput) String() string {
49246	return awsutil.Prettify(s)
49247}
49248
49249// GoString returns the string representation
49250func (s CreateTransitGatewayRouteOutput) GoString() string {
49251	return s.String()
49252}
49253
49254// SetRoute sets the Route field's value.
49255func (s *CreateTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *CreateTransitGatewayRouteOutput {
49256	s.Route = v
49257	return s
49258}
49259
49260type CreateTransitGatewayRouteTableInput struct {
49261	_ struct{} `type:"structure"`
49262
49263	// Checks whether you have the required permissions for the action, without
49264	// actually making the request, and provides an error response. If you have
49265	// the required permissions, the error response is DryRunOperation. Otherwise,
49266	// it is UnauthorizedOperation.
49267	DryRun *bool `type:"boolean"`
49268
49269	// The tags to apply to the transit gateway route table.
49270	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
49271
49272	// The ID of the transit gateway.
49273	//
49274	// TransitGatewayId is a required field
49275	TransitGatewayId *string `type:"string" required:"true"`
49276}
49277
49278// String returns the string representation
49279func (s CreateTransitGatewayRouteTableInput) String() string {
49280	return awsutil.Prettify(s)
49281}
49282
49283// GoString returns the string representation
49284func (s CreateTransitGatewayRouteTableInput) GoString() string {
49285	return s.String()
49286}
49287
49288// Validate inspects the fields of the type to determine if they are valid.
49289func (s *CreateTransitGatewayRouteTableInput) Validate() error {
49290	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteTableInput"}
49291	if s.TransitGatewayId == nil {
49292		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
49293	}
49294
49295	if invalidParams.Len() > 0 {
49296		return invalidParams
49297	}
49298	return nil
49299}
49300
49301// SetDryRun sets the DryRun field's value.
49302func (s *CreateTransitGatewayRouteTableInput) SetDryRun(v bool) *CreateTransitGatewayRouteTableInput {
49303	s.DryRun = &v
49304	return s
49305}
49306
49307// SetTagSpecifications sets the TagSpecifications field's value.
49308func (s *CreateTransitGatewayRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayRouteTableInput {
49309	s.TagSpecifications = v
49310	return s
49311}
49312
49313// SetTransitGatewayId sets the TransitGatewayId field's value.
49314func (s *CreateTransitGatewayRouteTableInput) SetTransitGatewayId(v string) *CreateTransitGatewayRouteTableInput {
49315	s.TransitGatewayId = &v
49316	return s
49317}
49318
49319type CreateTransitGatewayRouteTableOutput struct {
49320	_ struct{} `type:"structure"`
49321
49322	// Information about the transit gateway route table.
49323	TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
49324}
49325
49326// String returns the string representation
49327func (s CreateTransitGatewayRouteTableOutput) String() string {
49328	return awsutil.Prettify(s)
49329}
49330
49331// GoString returns the string representation
49332func (s CreateTransitGatewayRouteTableOutput) GoString() string {
49333	return s.String()
49334}
49335
49336// SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
49337func (s *CreateTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *CreateTransitGatewayRouteTableOutput {
49338	s.TransitGatewayRouteTable = v
49339	return s
49340}
49341
49342type CreateTransitGatewayVpcAttachmentInput struct {
49343	_ struct{} `type:"structure"`
49344
49345	// Checks whether you have the required permissions for the action, without
49346	// actually making the request, and provides an error response. If you have
49347	// the required permissions, the error response is DryRunOperation. Otherwise,
49348	// it is UnauthorizedOperation.
49349	DryRun *bool `type:"boolean"`
49350
49351	// The VPC attachment options.
49352	Options *CreateTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
49353
49354	// The IDs of one or more subnets. You can specify only one subnet per Availability
49355	// Zone. You must specify at least one subnet, but we recommend that you specify
49356	// two subnets for better availability. The transit gateway uses one IP address
49357	// from each specified subnet.
49358	//
49359	// SubnetIds is a required field
49360	SubnetIds []*string `locationNameList:"item" type:"list" required:"true"`
49361
49362	// The tags to apply to the VPC attachment.
49363	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
49364
49365	// The ID of the transit gateway.
49366	//
49367	// TransitGatewayId is a required field
49368	TransitGatewayId *string `type:"string" required:"true"`
49369
49370	// The ID of the VPC.
49371	//
49372	// VpcId is a required field
49373	VpcId *string `type:"string" required:"true"`
49374}
49375
49376// String returns the string representation
49377func (s CreateTransitGatewayVpcAttachmentInput) String() string {
49378	return awsutil.Prettify(s)
49379}
49380
49381// GoString returns the string representation
49382func (s CreateTransitGatewayVpcAttachmentInput) GoString() string {
49383	return s.String()
49384}
49385
49386// Validate inspects the fields of the type to determine if they are valid.
49387func (s *CreateTransitGatewayVpcAttachmentInput) Validate() error {
49388	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayVpcAttachmentInput"}
49389	if s.SubnetIds == nil {
49390		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
49391	}
49392	if s.TransitGatewayId == nil {
49393		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
49394	}
49395	if s.VpcId == nil {
49396		invalidParams.Add(request.NewErrParamRequired("VpcId"))
49397	}
49398
49399	if invalidParams.Len() > 0 {
49400		return invalidParams
49401	}
49402	return nil
49403}
49404
49405// SetDryRun sets the DryRun field's value.
49406func (s *CreateTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayVpcAttachmentInput {
49407	s.DryRun = &v
49408	return s
49409}
49410
49411// SetOptions sets the Options field's value.
49412func (s *CreateTransitGatewayVpcAttachmentInput) SetOptions(v *CreateTransitGatewayVpcAttachmentRequestOptions) *CreateTransitGatewayVpcAttachmentInput {
49413	s.Options = v
49414	return s
49415}
49416
49417// SetSubnetIds sets the SubnetIds field's value.
49418func (s *CreateTransitGatewayVpcAttachmentInput) SetSubnetIds(v []*string) *CreateTransitGatewayVpcAttachmentInput {
49419	s.SubnetIds = v
49420	return s
49421}
49422
49423// SetTagSpecifications sets the TagSpecifications field's value.
49424func (s *CreateTransitGatewayVpcAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayVpcAttachmentInput {
49425	s.TagSpecifications = v
49426	return s
49427}
49428
49429// SetTransitGatewayId sets the TransitGatewayId field's value.
49430func (s *CreateTransitGatewayVpcAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayVpcAttachmentInput {
49431	s.TransitGatewayId = &v
49432	return s
49433}
49434
49435// SetVpcId sets the VpcId field's value.
49436func (s *CreateTransitGatewayVpcAttachmentInput) SetVpcId(v string) *CreateTransitGatewayVpcAttachmentInput {
49437	s.VpcId = &v
49438	return s
49439}
49440
49441type CreateTransitGatewayVpcAttachmentOutput struct {
49442	_ struct{} `type:"structure"`
49443
49444	// Information about the VPC attachment.
49445	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
49446}
49447
49448// String returns the string representation
49449func (s CreateTransitGatewayVpcAttachmentOutput) String() string {
49450	return awsutil.Prettify(s)
49451}
49452
49453// GoString returns the string representation
49454func (s CreateTransitGatewayVpcAttachmentOutput) GoString() string {
49455	return s.String()
49456}
49457
49458// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
49459func (s *CreateTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *CreateTransitGatewayVpcAttachmentOutput {
49460	s.TransitGatewayVpcAttachment = v
49461	return s
49462}
49463
49464// Describes the options for a VPC attachment.
49465type CreateTransitGatewayVpcAttachmentRequestOptions struct {
49466	_ struct{} `type:"structure"`
49467
49468	// Enable or disable DNS support. The default is enable.
49469	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
49470
49471	// Enable or disable IPv6 support. The default is enable.
49472	Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
49473}
49474
49475// String returns the string representation
49476func (s CreateTransitGatewayVpcAttachmentRequestOptions) String() string {
49477	return awsutil.Prettify(s)
49478}
49479
49480// GoString returns the string representation
49481func (s CreateTransitGatewayVpcAttachmentRequestOptions) GoString() string {
49482	return s.String()
49483}
49484
49485// SetDnsSupport sets the DnsSupport field's value.
49486func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
49487	s.DnsSupport = &v
49488	return s
49489}
49490
49491// SetIpv6Support sets the Ipv6Support field's value.
49492func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
49493	s.Ipv6Support = &v
49494	return s
49495}
49496
49497type CreateVolumeInput struct {
49498	_ struct{} `type:"structure"`
49499
49500	// The Availability Zone in which to create the volume.
49501	//
49502	// AvailabilityZone is a required field
49503	AvailabilityZone *string `type:"string" required:"true"`
49504
49505	// Checks whether you have the required permissions for the action, without
49506	// actually making the request, and provides an error response. If you have
49507	// the required permissions, the error response is DryRunOperation. Otherwise,
49508	// it is UnauthorizedOperation.
49509	DryRun *bool `locationName:"dryRun" type:"boolean"`
49510
49511	// Specifies whether the volume should be encrypted. The effect of setting the
49512	// encryption state to true depends on the volume origin (new or from a snapshot),
49513	// starting encryption state, ownership, and whether encryption by default is
49514	// enabled. For more information, see Encryption by Default (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default)
49515	// in the Amazon Elastic Compute Cloud User Guide.
49516	//
49517	// Encrypted Amazon EBS volumes must be attached to instances that support Amazon
49518	// EBS encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
49519	Encrypted *bool `locationName:"encrypted" type:"boolean"`
49520
49521	// The number of I/O operations per second (IOPS) to provision for the volume,
49522	// with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes
49523	// in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based
49524	// instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
49525	// Other instance families guarantee performance up to 32,000 IOPS. For more
49526	// information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
49527	// in the Amazon Elastic Compute Cloud User Guide.
49528	//
49529	// This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
49530	Iops *int64 `type:"integer"`
49531
49532	// The identifier of the AWS Key Management Service (AWS KMS) customer master
49533	// key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
49534	// your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
49535	// state must be true.
49536	//
49537	// You can specify the CMK using any of the following:
49538	//
49539	//    * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
49540	//
49541	//    * Key alias. For example, alias/ExampleAlias.
49542	//
49543	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
49544	//
49545	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
49546	//
49547	// AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
49548	// alias, or ARN that is not valid, the action can appear to complete, but eventually
49549	// fails.
49550	KmsKeyId *string `type:"string"`
49551
49552	// Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach,
49553	// 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)
49554	// in the same Availability Zone. For more information, see Amazon EBS Multi-Attach
49555	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volumes-multi.html)
49556	// in the Amazon Elastic Compute Cloud User Guide.
49557	MultiAttachEnabled *bool `type:"boolean"`
49558
49559	// The Amazon Resource Name (ARN) of the Outpost.
49560	OutpostArn *string `type:"string"`
49561
49562	// The size of the volume, in GiBs. You must specify either a snapshot ID or
49563	// a volume size.
49564	//
49565	// Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384
49566	// for sc1, and 1-1,024 for standard. If you specify a snapshot, the volume
49567	// size must be equal to or larger than the snapshot size.
49568	//
49569	// Default: If you're creating the volume from a snapshot and don't specify
49570	// a volume size, the default is the snapshot size.
49571	Size *int64 `type:"integer"`
49572
49573	// The snapshot from which to create the volume. You must specify either a snapshot
49574	// ID or a volume size.
49575	SnapshotId *string `type:"string"`
49576
49577	// The tags to apply to the volume during creation.
49578	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
49579
49580	// The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
49581	// IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
49582	// for Magnetic volumes.
49583	//
49584	// Default: gp2
49585	VolumeType *string `type:"string" enum:"VolumeType"`
49586}
49587
49588// String returns the string representation
49589func (s CreateVolumeInput) String() string {
49590	return awsutil.Prettify(s)
49591}
49592
49593// GoString returns the string representation
49594func (s CreateVolumeInput) GoString() string {
49595	return s.String()
49596}
49597
49598// Validate inspects the fields of the type to determine if they are valid.
49599func (s *CreateVolumeInput) Validate() error {
49600	invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
49601	if s.AvailabilityZone == nil {
49602		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
49603	}
49604
49605	if invalidParams.Len() > 0 {
49606		return invalidParams
49607	}
49608	return nil
49609}
49610
49611// SetAvailabilityZone sets the AvailabilityZone field's value.
49612func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
49613	s.AvailabilityZone = &v
49614	return s
49615}
49616
49617// SetDryRun sets the DryRun field's value.
49618func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
49619	s.DryRun = &v
49620	return s
49621}
49622
49623// SetEncrypted sets the Encrypted field's value.
49624func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
49625	s.Encrypted = &v
49626	return s
49627}
49628
49629// SetIops sets the Iops field's value.
49630func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
49631	s.Iops = &v
49632	return s
49633}
49634
49635// SetKmsKeyId sets the KmsKeyId field's value.
49636func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
49637	s.KmsKeyId = &v
49638	return s
49639}
49640
49641// SetMultiAttachEnabled sets the MultiAttachEnabled field's value.
49642func (s *CreateVolumeInput) SetMultiAttachEnabled(v bool) *CreateVolumeInput {
49643	s.MultiAttachEnabled = &v
49644	return s
49645}
49646
49647// SetOutpostArn sets the OutpostArn field's value.
49648func (s *CreateVolumeInput) SetOutpostArn(v string) *CreateVolumeInput {
49649	s.OutpostArn = &v
49650	return s
49651}
49652
49653// SetSize sets the Size field's value.
49654func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
49655	s.Size = &v
49656	return s
49657}
49658
49659// SetSnapshotId sets the SnapshotId field's value.
49660func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
49661	s.SnapshotId = &v
49662	return s
49663}
49664
49665// SetTagSpecifications sets the TagSpecifications field's value.
49666func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
49667	s.TagSpecifications = v
49668	return s
49669}
49670
49671// SetVolumeType sets the VolumeType field's value.
49672func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
49673	s.VolumeType = &v
49674	return s
49675}
49676
49677// Describes the user or group to be added or removed from the list of create
49678// volume permissions for a volume.
49679type CreateVolumePermission struct {
49680	_ struct{} `type:"structure"`
49681
49682	// The group to be added or removed. The possible value is all.
49683	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
49684
49685	// The AWS account ID to be added or removed.
49686	UserId *string `locationName:"userId" type:"string"`
49687}
49688
49689// String returns the string representation
49690func (s CreateVolumePermission) String() string {
49691	return awsutil.Prettify(s)
49692}
49693
49694// GoString returns the string representation
49695func (s CreateVolumePermission) GoString() string {
49696	return s.String()
49697}
49698
49699// SetGroup sets the Group field's value.
49700func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
49701	s.Group = &v
49702	return s
49703}
49704
49705// SetUserId sets the UserId field's value.
49706func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
49707	s.UserId = &v
49708	return s
49709}
49710
49711// Describes modifications to the list of create volume permissions for a volume.
49712type CreateVolumePermissionModifications struct {
49713	_ struct{} `type:"structure"`
49714
49715	// Adds the specified AWS account ID or group to the list.
49716	Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
49717
49718	// Removes the specified AWS account ID or group from the list.
49719	Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
49720}
49721
49722// String returns the string representation
49723func (s CreateVolumePermissionModifications) String() string {
49724	return awsutil.Prettify(s)
49725}
49726
49727// GoString returns the string representation
49728func (s CreateVolumePermissionModifications) GoString() string {
49729	return s.String()
49730}
49731
49732// SetAdd sets the Add field's value.
49733func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
49734	s.Add = v
49735	return s
49736}
49737
49738// SetRemove sets the Remove field's value.
49739func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
49740	s.Remove = v
49741	return s
49742}
49743
49744type CreateVpcEndpointConnectionNotificationInput struct {
49745	_ struct{} `type:"structure"`
49746
49747	// Unique, case-sensitive identifier that you provide to ensure the idempotency
49748	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
49749	ClientToken *string `type:"string"`
49750
49751	// One or more endpoint events for which to receive notifications. Valid values
49752	// are Accept, Connect, Delete, and Reject.
49753	//
49754	// ConnectionEvents is a required field
49755	ConnectionEvents []*string `locationNameList:"item" type:"list" required:"true"`
49756
49757	// The ARN of the SNS topic for the notifications.
49758	//
49759	// ConnectionNotificationArn is a required field
49760	ConnectionNotificationArn *string `type:"string" required:"true"`
49761
49762	// Checks whether you have the required permissions for the action, without
49763	// actually making the request, and provides an error response. If you have
49764	// the required permissions, the error response is DryRunOperation. Otherwise,
49765	// it is UnauthorizedOperation.
49766	DryRun *bool `type:"boolean"`
49767
49768	// The ID of the endpoint service.
49769	ServiceId *string `type:"string"`
49770
49771	// The ID of the endpoint.
49772	VpcEndpointId *string `type:"string"`
49773}
49774
49775// String returns the string representation
49776func (s CreateVpcEndpointConnectionNotificationInput) String() string {
49777	return awsutil.Prettify(s)
49778}
49779
49780// GoString returns the string representation
49781func (s CreateVpcEndpointConnectionNotificationInput) GoString() string {
49782	return s.String()
49783}
49784
49785// Validate inspects the fields of the type to determine if they are valid.
49786func (s *CreateVpcEndpointConnectionNotificationInput) Validate() error {
49787	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointConnectionNotificationInput"}
49788	if s.ConnectionEvents == nil {
49789		invalidParams.Add(request.NewErrParamRequired("ConnectionEvents"))
49790	}
49791	if s.ConnectionNotificationArn == nil {
49792		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationArn"))
49793	}
49794
49795	if invalidParams.Len() > 0 {
49796		return invalidParams
49797	}
49798	return nil
49799}
49800
49801// SetClientToken sets the ClientToken field's value.
49802func (s *CreateVpcEndpointConnectionNotificationInput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationInput {
49803	s.ClientToken = &v
49804	return s
49805}
49806
49807// SetConnectionEvents sets the ConnectionEvents field's value.
49808func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *CreateVpcEndpointConnectionNotificationInput {
49809	s.ConnectionEvents = v
49810	return s
49811}
49812
49813// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
49814func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *CreateVpcEndpointConnectionNotificationInput {
49815	s.ConnectionNotificationArn = &v
49816	return s
49817}
49818
49819// SetDryRun sets the DryRun field's value.
49820func (s *CreateVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *CreateVpcEndpointConnectionNotificationInput {
49821	s.DryRun = &v
49822	return s
49823}
49824
49825// SetServiceId sets the ServiceId field's value.
49826func (s *CreateVpcEndpointConnectionNotificationInput) SetServiceId(v string) *CreateVpcEndpointConnectionNotificationInput {
49827	s.ServiceId = &v
49828	return s
49829}
49830
49831// SetVpcEndpointId sets the VpcEndpointId field's value.
49832func (s *CreateVpcEndpointConnectionNotificationInput) SetVpcEndpointId(v string) *CreateVpcEndpointConnectionNotificationInput {
49833	s.VpcEndpointId = &v
49834	return s
49835}
49836
49837type CreateVpcEndpointConnectionNotificationOutput struct {
49838	_ struct{} `type:"structure"`
49839
49840	// Unique, case-sensitive identifier that you provide to ensure the idempotency
49841	// of the request.
49842	ClientToken *string `locationName:"clientToken" type:"string"`
49843
49844	// Information about the notification.
49845	ConnectionNotification *ConnectionNotification `locationName:"connectionNotification" type:"structure"`
49846}
49847
49848// String returns the string representation
49849func (s CreateVpcEndpointConnectionNotificationOutput) String() string {
49850	return awsutil.Prettify(s)
49851}
49852
49853// GoString returns the string representation
49854func (s CreateVpcEndpointConnectionNotificationOutput) GoString() string {
49855	return s.String()
49856}
49857
49858// SetClientToken sets the ClientToken field's value.
49859func (s *CreateVpcEndpointConnectionNotificationOutput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationOutput {
49860	s.ClientToken = &v
49861	return s
49862}
49863
49864// SetConnectionNotification sets the ConnectionNotification field's value.
49865func (s *CreateVpcEndpointConnectionNotificationOutput) SetConnectionNotification(v *ConnectionNotification) *CreateVpcEndpointConnectionNotificationOutput {
49866	s.ConnectionNotification = v
49867	return s
49868}
49869
49870// Contains the parameters for CreateVpcEndpoint.
49871type CreateVpcEndpointInput struct {
49872	_ struct{} `type:"structure"`
49873
49874	// Unique, case-sensitive identifier that you provide to ensure the idempotency
49875	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
49876	ClientToken *string `type:"string"`
49877
49878	// Checks whether you have the required permissions for the action, without
49879	// actually making the request, and provides an error response. If you have
49880	// the required permissions, the error response is DryRunOperation. Otherwise,
49881	// it is UnauthorizedOperation.
49882	DryRun *bool `type:"boolean"`
49883
49884	// A policy to attach to the endpoint that controls access to the service. The
49885	// policy must be in valid JSON format. If this parameter is not specified,
49886	// we attach a default policy that allows full access to the service.
49887	PolicyDocument *string `type:"string"`
49888
49889	// (Interface endpoint) Indicates whether to associate a private hosted zone
49890	// with the specified VPC. The private hosted zone contains a record set for
49891	// the default public DNS name for the service for the Region (for example,
49892	// kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses
49893	// of the endpoint network interfaces in the VPC. This enables you to make requests
49894	// to the default public DNS name for the service instead of the public DNS
49895	// names that are automatically generated by the VPC endpoint service.
49896	//
49897	// To use a private hosted zone, you must set the following VPC attributes to
49898	// true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to
49899	// set the VPC attributes.
49900	//
49901	// Default: true
49902	PrivateDnsEnabled *bool `type:"boolean"`
49903
49904	// (Gateway endpoint) One or more route table IDs.
49905	RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
49906
49907	// (Interface endpoint) The ID of one or more security groups to associate with
49908	// the endpoint network interface.
49909	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
49910
49911	// The service name. To get a list of available services, use the DescribeVpcEndpointServices
49912	// request, or get the name from the service provider.
49913	//
49914	// ServiceName is a required field
49915	ServiceName *string `type:"string" required:"true"`
49916
49917	// (Interface endpoint) The ID of one or more subnets in which to create an
49918	// endpoint network interface.
49919	SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
49920
49921	// The tags to associate with the endpoint.
49922	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
49923
49924	// The type of endpoint.
49925	//
49926	// Default: Gateway
49927	VpcEndpointType *string `type:"string" enum:"VpcEndpointType"`
49928
49929	// The ID of the VPC in which the endpoint will be used.
49930	//
49931	// VpcId is a required field
49932	VpcId *string `type:"string" required:"true"`
49933}
49934
49935// String returns the string representation
49936func (s CreateVpcEndpointInput) String() string {
49937	return awsutil.Prettify(s)
49938}
49939
49940// GoString returns the string representation
49941func (s CreateVpcEndpointInput) GoString() string {
49942	return s.String()
49943}
49944
49945// Validate inspects the fields of the type to determine if they are valid.
49946func (s *CreateVpcEndpointInput) Validate() error {
49947	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
49948	if s.ServiceName == nil {
49949		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
49950	}
49951	if s.VpcId == nil {
49952		invalidParams.Add(request.NewErrParamRequired("VpcId"))
49953	}
49954
49955	if invalidParams.Len() > 0 {
49956		return invalidParams
49957	}
49958	return nil
49959}
49960
49961// SetClientToken sets the ClientToken field's value.
49962func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
49963	s.ClientToken = &v
49964	return s
49965}
49966
49967// SetDryRun sets the DryRun field's value.
49968func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
49969	s.DryRun = &v
49970	return s
49971}
49972
49973// SetPolicyDocument sets the PolicyDocument field's value.
49974func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
49975	s.PolicyDocument = &v
49976	return s
49977}
49978
49979// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
49980func (s *CreateVpcEndpointInput) SetPrivateDnsEnabled(v bool) *CreateVpcEndpointInput {
49981	s.PrivateDnsEnabled = &v
49982	return s
49983}
49984
49985// SetRouteTableIds sets the RouteTableIds field's value.
49986func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
49987	s.RouteTableIds = v
49988	return s
49989}
49990
49991// SetSecurityGroupIds sets the SecurityGroupIds field's value.
49992func (s *CreateVpcEndpointInput) SetSecurityGroupIds(v []*string) *CreateVpcEndpointInput {
49993	s.SecurityGroupIds = v
49994	return s
49995}
49996
49997// SetServiceName sets the ServiceName field's value.
49998func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
49999	s.ServiceName = &v
50000	return s
50001}
50002
50003// SetSubnetIds sets the SubnetIds field's value.
50004func (s *CreateVpcEndpointInput) SetSubnetIds(v []*string) *CreateVpcEndpointInput {
50005	s.SubnetIds = v
50006	return s
50007}
50008
50009// SetTagSpecifications sets the TagSpecifications field's value.
50010func (s *CreateVpcEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcEndpointInput {
50011	s.TagSpecifications = v
50012	return s
50013}
50014
50015// SetVpcEndpointType sets the VpcEndpointType field's value.
50016func (s *CreateVpcEndpointInput) SetVpcEndpointType(v string) *CreateVpcEndpointInput {
50017	s.VpcEndpointType = &v
50018	return s
50019}
50020
50021// SetVpcId sets the VpcId field's value.
50022func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
50023	s.VpcId = &v
50024	return s
50025}
50026
50027// Contains the output of CreateVpcEndpoint.
50028type CreateVpcEndpointOutput struct {
50029	_ struct{} `type:"structure"`
50030
50031	// Unique, case-sensitive identifier that you provide to ensure the idempotency
50032	// of the request.
50033	ClientToken *string `locationName:"clientToken" type:"string"`
50034
50035	// Information about the endpoint.
50036	VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
50037}
50038
50039// String returns the string representation
50040func (s CreateVpcEndpointOutput) String() string {
50041	return awsutil.Prettify(s)
50042}
50043
50044// GoString returns the string representation
50045func (s CreateVpcEndpointOutput) GoString() string {
50046	return s.String()
50047}
50048
50049// SetClientToken sets the ClientToken field's value.
50050func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
50051	s.ClientToken = &v
50052	return s
50053}
50054
50055// SetVpcEndpoint sets the VpcEndpoint field's value.
50056func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
50057	s.VpcEndpoint = v
50058	return s
50059}
50060
50061type CreateVpcEndpointServiceConfigurationInput struct {
50062	_ struct{} `type:"structure"`
50063
50064	// Indicates whether requests from service consumers to create an endpoint to
50065	// your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.
50066	AcceptanceRequired *bool `type:"boolean"`
50067
50068	// Unique, case-sensitive identifier that you provide to ensure the idempotency
50069	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
50070	ClientToken *string `type:"string"`
50071
50072	// Checks whether you have the required permissions for the action, without
50073	// actually making the request, and provides an error response. If you have
50074	// the required permissions, the error response is DryRunOperation. Otherwise,
50075	// it is UnauthorizedOperation.
50076	DryRun *bool `type:"boolean"`
50077
50078	// The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
50079	// your service.
50080	//
50081	// NetworkLoadBalancerArns is a required field
50082	NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list" required:"true"`
50083
50084	// The private DNS name to assign to the VPC endpoint service.
50085	PrivateDnsName *string `type:"string"`
50086
50087	// The tags to associate with the service.
50088	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
50089}
50090
50091// String returns the string representation
50092func (s CreateVpcEndpointServiceConfigurationInput) String() string {
50093	return awsutil.Prettify(s)
50094}
50095
50096// GoString returns the string representation
50097func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
50098	return s.String()
50099}
50100
50101// Validate inspects the fields of the type to determine if they are valid.
50102func (s *CreateVpcEndpointServiceConfigurationInput) Validate() error {
50103	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointServiceConfigurationInput"}
50104	if s.NetworkLoadBalancerArns == nil {
50105		invalidParams.Add(request.NewErrParamRequired("NetworkLoadBalancerArns"))
50106	}
50107
50108	if invalidParams.Len() > 0 {
50109		return invalidParams
50110	}
50111	return nil
50112}
50113
50114// SetAcceptanceRequired sets the AcceptanceRequired field's value.
50115func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
50116	s.AcceptanceRequired = &v
50117	return s
50118}
50119
50120// SetClientToken sets the ClientToken field's value.
50121func (s *CreateVpcEndpointServiceConfigurationInput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationInput {
50122	s.ClientToken = &v
50123	return s
50124}
50125
50126// SetDryRun sets the DryRun field's value.
50127func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVpcEndpointServiceConfigurationInput {
50128	s.DryRun = &v
50129	return s
50130}
50131
50132// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
50133func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
50134	s.NetworkLoadBalancerArns = v
50135	return s
50136}
50137
50138// SetPrivateDnsName sets the PrivateDnsName field's value.
50139func (s *CreateVpcEndpointServiceConfigurationInput) SetPrivateDnsName(v string) *CreateVpcEndpointServiceConfigurationInput {
50140	s.PrivateDnsName = &v
50141	return s
50142}
50143
50144// SetTagSpecifications sets the TagSpecifications field's value.
50145func (s *CreateVpcEndpointServiceConfigurationInput) SetTagSpecifications(v []*TagSpecification) *CreateVpcEndpointServiceConfigurationInput {
50146	s.TagSpecifications = v
50147	return s
50148}
50149
50150type CreateVpcEndpointServiceConfigurationOutput struct {
50151	_ struct{} `type:"structure"`
50152
50153	// Unique, case-sensitive identifier that you provide to ensure the idempotency
50154	// of the request.
50155	ClientToken *string `locationName:"clientToken" type:"string"`
50156
50157	// Information about the service configuration.
50158	ServiceConfiguration *ServiceConfiguration `locationName:"serviceConfiguration" type:"structure"`
50159}
50160
50161// String returns the string representation
50162func (s CreateVpcEndpointServiceConfigurationOutput) String() string {
50163	return awsutil.Prettify(s)
50164}
50165
50166// GoString returns the string representation
50167func (s CreateVpcEndpointServiceConfigurationOutput) GoString() string {
50168	return s.String()
50169}
50170
50171// SetClientToken sets the ClientToken field's value.
50172func (s *CreateVpcEndpointServiceConfigurationOutput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationOutput {
50173	s.ClientToken = &v
50174	return s
50175}
50176
50177// SetServiceConfiguration sets the ServiceConfiguration field's value.
50178func (s *CreateVpcEndpointServiceConfigurationOutput) SetServiceConfiguration(v *ServiceConfiguration) *CreateVpcEndpointServiceConfigurationOutput {
50179	s.ServiceConfiguration = v
50180	return s
50181}
50182
50183type CreateVpcInput struct {
50184	_ struct{} `type:"structure"`
50185
50186	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
50187	// the VPC. You cannot specify the range of IP addresses, or the size of the
50188	// CIDR block.
50189	AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
50190
50191	// The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
50192	//
50193	// CidrBlock is a required field
50194	CidrBlock *string `type:"string" required:"true"`
50195
50196	// Checks whether you have the required permissions for the action, without
50197	// actually making the request, and provides an error response. If you have
50198	// the required permissions, the error response is DryRunOperation. Otherwise,
50199	// it is UnauthorizedOperation.
50200	DryRun *bool `locationName:"dryRun" type:"boolean"`
50201
50202	// The tenancy options for instances launched into the VPC. For default, instances
50203	// are launched with shared tenancy by default. You can launch instances with
50204	// any tenancy into a shared tenancy VPC. For dedicated, instances are launched
50205	// as dedicated tenancy instances by default. You can only launch instances
50206	// with a tenancy of dedicated or host into a dedicated tenancy VPC.
50207	//
50208	// Important: The host value cannot be used with this parameter. Use the default
50209	// or dedicated values only.
50210	//
50211	// Default: default
50212	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
50213
50214	// The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool
50215	// in the request.
50216	//
50217	// To let Amazon choose the IPv6 CIDR block for you, omit this parameter.
50218	Ipv6CidrBlock *string `type:"string"`
50219
50220	// The name of the location from which we advertise the IPV6 CIDR block. Use
50221	// this parameter to limit the address to this location.
50222	//
50223	// You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
50224	Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
50225
50226	// The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.
50227	Ipv6Pool *string `type:"string"`
50228}
50229
50230// String returns the string representation
50231func (s CreateVpcInput) String() string {
50232	return awsutil.Prettify(s)
50233}
50234
50235// GoString returns the string representation
50236func (s CreateVpcInput) GoString() string {
50237	return s.String()
50238}
50239
50240// Validate inspects the fields of the type to determine if they are valid.
50241func (s *CreateVpcInput) Validate() error {
50242	invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
50243	if s.CidrBlock == nil {
50244		invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
50245	}
50246
50247	if invalidParams.Len() > 0 {
50248		return invalidParams
50249	}
50250	return nil
50251}
50252
50253// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
50254func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
50255	s.AmazonProvidedIpv6CidrBlock = &v
50256	return s
50257}
50258
50259// SetCidrBlock sets the CidrBlock field's value.
50260func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
50261	s.CidrBlock = &v
50262	return s
50263}
50264
50265// SetDryRun sets the DryRun field's value.
50266func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
50267	s.DryRun = &v
50268	return s
50269}
50270
50271// SetInstanceTenancy sets the InstanceTenancy field's value.
50272func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
50273	s.InstanceTenancy = &v
50274	return s
50275}
50276
50277// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
50278func (s *CreateVpcInput) SetIpv6CidrBlock(v string) *CreateVpcInput {
50279	s.Ipv6CidrBlock = &v
50280	return s
50281}
50282
50283// SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
50284func (s *CreateVpcInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *CreateVpcInput {
50285	s.Ipv6CidrBlockNetworkBorderGroup = &v
50286	return s
50287}
50288
50289// SetIpv6Pool sets the Ipv6Pool field's value.
50290func (s *CreateVpcInput) SetIpv6Pool(v string) *CreateVpcInput {
50291	s.Ipv6Pool = &v
50292	return s
50293}
50294
50295type CreateVpcOutput struct {
50296	_ struct{} `type:"structure"`
50297
50298	// Information about the VPC.
50299	Vpc *Vpc `locationName:"vpc" type:"structure"`
50300}
50301
50302// String returns the string representation
50303func (s CreateVpcOutput) String() string {
50304	return awsutil.Prettify(s)
50305}
50306
50307// GoString returns the string representation
50308func (s CreateVpcOutput) GoString() string {
50309	return s.String()
50310}
50311
50312// SetVpc sets the Vpc field's value.
50313func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
50314	s.Vpc = v
50315	return s
50316}
50317
50318type CreateVpcPeeringConnectionInput struct {
50319	_ struct{} `type:"structure"`
50320
50321	// Checks whether you have the required permissions for the action, without
50322	// actually making the request, and provides an error response. If you have
50323	// the required permissions, the error response is DryRunOperation. Otherwise,
50324	// it is UnauthorizedOperation.
50325	DryRun *bool `locationName:"dryRun" type:"boolean"`
50326
50327	// The AWS account ID of the owner of the accepter VPC.
50328	//
50329	// Default: Your AWS account ID
50330	PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
50331
50332	// The Region code for the accepter VPC, if the accepter VPC is located in a
50333	// Region other than the Region in which you make the request.
50334	//
50335	// Default: The Region in which you make the request.
50336	PeerRegion *string `type:"string"`
50337
50338	// The ID of the VPC with which you are creating the VPC peering connection.
50339	// You must specify this parameter in the request.
50340	PeerVpcId *string `locationName:"peerVpcId" type:"string"`
50341
50342	// The ID of the requester VPC. You must specify this parameter in the request.
50343	VpcId *string `locationName:"vpcId" type:"string"`
50344}
50345
50346// String returns the string representation
50347func (s CreateVpcPeeringConnectionInput) String() string {
50348	return awsutil.Prettify(s)
50349}
50350
50351// GoString returns the string representation
50352func (s CreateVpcPeeringConnectionInput) GoString() string {
50353	return s.String()
50354}
50355
50356// SetDryRun sets the DryRun field's value.
50357func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
50358	s.DryRun = &v
50359	return s
50360}
50361
50362// SetPeerOwnerId sets the PeerOwnerId field's value.
50363func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
50364	s.PeerOwnerId = &v
50365	return s
50366}
50367
50368// SetPeerRegion sets the PeerRegion field's value.
50369func (s *CreateVpcPeeringConnectionInput) SetPeerRegion(v string) *CreateVpcPeeringConnectionInput {
50370	s.PeerRegion = &v
50371	return s
50372}
50373
50374// SetPeerVpcId sets the PeerVpcId field's value.
50375func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
50376	s.PeerVpcId = &v
50377	return s
50378}
50379
50380// SetVpcId sets the VpcId field's value.
50381func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
50382	s.VpcId = &v
50383	return s
50384}
50385
50386type CreateVpcPeeringConnectionOutput struct {
50387	_ struct{} `type:"structure"`
50388
50389	// Information about the VPC peering connection.
50390	VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
50391}
50392
50393// String returns the string representation
50394func (s CreateVpcPeeringConnectionOutput) String() string {
50395	return awsutil.Prettify(s)
50396}
50397
50398// GoString returns the string representation
50399func (s CreateVpcPeeringConnectionOutput) GoString() string {
50400	return s.String()
50401}
50402
50403// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
50404func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
50405	s.VpcPeeringConnection = v
50406	return s
50407}
50408
50409// Contains the parameters for CreateVpnConnection.
50410type CreateVpnConnectionInput struct {
50411	_ struct{} `type:"structure"`
50412
50413	// The ID of the customer gateway.
50414	//
50415	// CustomerGatewayId is a required field
50416	CustomerGatewayId *string `type:"string" required:"true"`
50417
50418	// Checks whether you have the required permissions for the action, without
50419	// actually making the request, and provides an error response. If you have
50420	// the required permissions, the error response is DryRunOperation. Otherwise,
50421	// it is UnauthorizedOperation.
50422	DryRun *bool `locationName:"dryRun" type:"boolean"`
50423
50424	// The options for the VPN connection.
50425	Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
50426
50427	// The ID of the transit gateway. If you specify a transit gateway, you cannot
50428	// specify a virtual private gateway.
50429	TransitGatewayId *string `type:"string"`
50430
50431	// The type of VPN connection (ipsec.1).
50432	//
50433	// Type is a required field
50434	Type *string `type:"string" required:"true"`
50435
50436	// The ID of the virtual private gateway. If you specify a virtual private gateway,
50437	// you cannot specify a transit gateway.
50438	VpnGatewayId *string `type:"string"`
50439}
50440
50441// String returns the string representation
50442func (s CreateVpnConnectionInput) String() string {
50443	return awsutil.Prettify(s)
50444}
50445
50446// GoString returns the string representation
50447func (s CreateVpnConnectionInput) GoString() string {
50448	return s.String()
50449}
50450
50451// Validate inspects the fields of the type to determine if they are valid.
50452func (s *CreateVpnConnectionInput) Validate() error {
50453	invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
50454	if s.CustomerGatewayId == nil {
50455		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
50456	}
50457	if s.Type == nil {
50458		invalidParams.Add(request.NewErrParamRequired("Type"))
50459	}
50460
50461	if invalidParams.Len() > 0 {
50462		return invalidParams
50463	}
50464	return nil
50465}
50466
50467// SetCustomerGatewayId sets the CustomerGatewayId field's value.
50468func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
50469	s.CustomerGatewayId = &v
50470	return s
50471}
50472
50473// SetDryRun sets the DryRun field's value.
50474func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
50475	s.DryRun = &v
50476	return s
50477}
50478
50479// SetOptions sets the Options field's value.
50480func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
50481	s.Options = v
50482	return s
50483}
50484
50485// SetTransitGatewayId sets the TransitGatewayId field's value.
50486func (s *CreateVpnConnectionInput) SetTransitGatewayId(v string) *CreateVpnConnectionInput {
50487	s.TransitGatewayId = &v
50488	return s
50489}
50490
50491// SetType sets the Type field's value.
50492func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
50493	s.Type = &v
50494	return s
50495}
50496
50497// SetVpnGatewayId sets the VpnGatewayId field's value.
50498func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
50499	s.VpnGatewayId = &v
50500	return s
50501}
50502
50503// Contains the output of CreateVpnConnection.
50504type CreateVpnConnectionOutput struct {
50505	_ struct{} `type:"structure"`
50506
50507	// Information about the VPN connection.
50508	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
50509}
50510
50511// String returns the string representation
50512func (s CreateVpnConnectionOutput) String() string {
50513	return awsutil.Prettify(s)
50514}
50515
50516// GoString returns the string representation
50517func (s CreateVpnConnectionOutput) GoString() string {
50518	return s.String()
50519}
50520
50521// SetVpnConnection sets the VpnConnection field's value.
50522func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
50523	s.VpnConnection = v
50524	return s
50525}
50526
50527// Contains the parameters for CreateVpnConnectionRoute.
50528type CreateVpnConnectionRouteInput struct {
50529	_ struct{} `type:"structure"`
50530
50531	// The CIDR block associated with the local subnet of the customer network.
50532	//
50533	// DestinationCidrBlock is a required field
50534	DestinationCidrBlock *string `type:"string" required:"true"`
50535
50536	// The ID of the VPN connection.
50537	//
50538	// VpnConnectionId is a required field
50539	VpnConnectionId *string `type:"string" required:"true"`
50540}
50541
50542// String returns the string representation
50543func (s CreateVpnConnectionRouteInput) String() string {
50544	return awsutil.Prettify(s)
50545}
50546
50547// GoString returns the string representation
50548func (s CreateVpnConnectionRouteInput) GoString() string {
50549	return s.String()
50550}
50551
50552// Validate inspects the fields of the type to determine if they are valid.
50553func (s *CreateVpnConnectionRouteInput) Validate() error {
50554	invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
50555	if s.DestinationCidrBlock == nil {
50556		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
50557	}
50558	if s.VpnConnectionId == nil {
50559		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
50560	}
50561
50562	if invalidParams.Len() > 0 {
50563		return invalidParams
50564	}
50565	return nil
50566}
50567
50568// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
50569func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
50570	s.DestinationCidrBlock = &v
50571	return s
50572}
50573
50574// SetVpnConnectionId sets the VpnConnectionId field's value.
50575func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
50576	s.VpnConnectionId = &v
50577	return s
50578}
50579
50580type CreateVpnConnectionRouteOutput struct {
50581	_ struct{} `type:"structure"`
50582}
50583
50584// String returns the string representation
50585func (s CreateVpnConnectionRouteOutput) String() string {
50586	return awsutil.Prettify(s)
50587}
50588
50589// GoString returns the string representation
50590func (s CreateVpnConnectionRouteOutput) GoString() string {
50591	return s.String()
50592}
50593
50594// Contains the parameters for CreateVpnGateway.
50595type CreateVpnGatewayInput struct {
50596	_ struct{} `type:"structure"`
50597
50598	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
50599	// If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If
50600	// you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.
50601	//
50602	// Default: 64512
50603	AmazonSideAsn *int64 `type:"long"`
50604
50605	// The Availability Zone for the virtual private gateway.
50606	AvailabilityZone *string `type:"string"`
50607
50608	// Checks whether you have the required permissions for the action, without
50609	// actually making the request, and provides an error response. If you have
50610	// the required permissions, the error response is DryRunOperation. Otherwise,
50611	// it is UnauthorizedOperation.
50612	DryRun *bool `locationName:"dryRun" type:"boolean"`
50613
50614	// The type of VPN connection this virtual private gateway supports.
50615	//
50616	// Type is a required field
50617	Type *string `type:"string" required:"true" enum:"GatewayType"`
50618}
50619
50620// String returns the string representation
50621func (s CreateVpnGatewayInput) String() string {
50622	return awsutil.Prettify(s)
50623}
50624
50625// GoString returns the string representation
50626func (s CreateVpnGatewayInput) GoString() string {
50627	return s.String()
50628}
50629
50630// Validate inspects the fields of the type to determine if they are valid.
50631func (s *CreateVpnGatewayInput) Validate() error {
50632	invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
50633	if s.Type == nil {
50634		invalidParams.Add(request.NewErrParamRequired("Type"))
50635	}
50636
50637	if invalidParams.Len() > 0 {
50638		return invalidParams
50639	}
50640	return nil
50641}
50642
50643// SetAmazonSideAsn sets the AmazonSideAsn field's value.
50644func (s *CreateVpnGatewayInput) SetAmazonSideAsn(v int64) *CreateVpnGatewayInput {
50645	s.AmazonSideAsn = &v
50646	return s
50647}
50648
50649// SetAvailabilityZone sets the AvailabilityZone field's value.
50650func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
50651	s.AvailabilityZone = &v
50652	return s
50653}
50654
50655// SetDryRun sets the DryRun field's value.
50656func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
50657	s.DryRun = &v
50658	return s
50659}
50660
50661// SetType sets the Type field's value.
50662func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
50663	s.Type = &v
50664	return s
50665}
50666
50667// Contains the output of CreateVpnGateway.
50668type CreateVpnGatewayOutput struct {
50669	_ struct{} `type:"structure"`
50670
50671	// Information about the virtual private gateway.
50672	VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
50673}
50674
50675// String returns the string representation
50676func (s CreateVpnGatewayOutput) String() string {
50677	return awsutil.Prettify(s)
50678}
50679
50680// GoString returns the string representation
50681func (s CreateVpnGatewayOutput) GoString() string {
50682	return s.String()
50683}
50684
50685// SetVpnGateway sets the VpnGateway field's value.
50686func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
50687	s.VpnGateway = v
50688	return s
50689}
50690
50691// Describes the credit option for CPU usage of a T2 or T3 instance.
50692type CreditSpecification struct {
50693	_ struct{} `type:"structure"`
50694
50695	// The credit option for CPU usage of a T2 or T3 instance. Valid values are
50696	// standard and unlimited.
50697	CpuCredits *string `locationName:"cpuCredits" type:"string"`
50698}
50699
50700// String returns the string representation
50701func (s CreditSpecification) String() string {
50702	return awsutil.Prettify(s)
50703}
50704
50705// GoString returns the string representation
50706func (s CreditSpecification) GoString() string {
50707	return s.String()
50708}
50709
50710// SetCpuCredits sets the CpuCredits field's value.
50711func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
50712	s.CpuCredits = &v
50713	return s
50714}
50715
50716// The credit option for CPU usage of a T2 or T3 instance.
50717type CreditSpecificationRequest struct {
50718	_ struct{} `type:"structure"`
50719
50720	// The credit option for CPU usage of a T2 or T3 instance. Valid values are
50721	// standard and unlimited.
50722	//
50723	// CpuCredits is a required field
50724	CpuCredits *string `type:"string" required:"true"`
50725}
50726
50727// String returns the string representation
50728func (s CreditSpecificationRequest) String() string {
50729	return awsutil.Prettify(s)
50730}
50731
50732// GoString returns the string representation
50733func (s CreditSpecificationRequest) GoString() string {
50734	return s.String()
50735}
50736
50737// Validate inspects the fields of the type to determine if they are valid.
50738func (s *CreditSpecificationRequest) Validate() error {
50739	invalidParams := request.ErrInvalidParams{Context: "CreditSpecificationRequest"}
50740	if s.CpuCredits == nil {
50741		invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
50742	}
50743
50744	if invalidParams.Len() > 0 {
50745		return invalidParams
50746	}
50747	return nil
50748}
50749
50750// SetCpuCredits sets the CpuCredits field's value.
50751func (s *CreditSpecificationRequest) SetCpuCredits(v string) *CreditSpecificationRequest {
50752	s.CpuCredits = &v
50753	return s
50754}
50755
50756// Describes a customer gateway.
50757type CustomerGateway struct {
50758	_ struct{} `type:"structure"`
50759
50760	// The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
50761	// (ASN).
50762	BgpAsn *string `locationName:"bgpAsn" type:"string"`
50763
50764	// The Amazon Resource Name (ARN) for the customer gateway certificate.
50765	CertificateArn *string `locationName:"certificateArn" type:"string"`
50766
50767	// The ID of the customer gateway.
50768	CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
50769
50770	// The name of customer gateway device.
50771	DeviceName *string `locationName:"deviceName" type:"string"`
50772
50773	// The Internet-routable IP address of the customer gateway's outside interface.
50774	IpAddress *string `locationName:"ipAddress" type:"string"`
50775
50776	// The current state of the customer gateway (pending | available | deleting
50777	// | deleted).
50778	State *string `locationName:"state" type:"string"`
50779
50780	// Any tags assigned to the customer gateway.
50781	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
50782
50783	// The type of VPN connection the customer gateway supports (ipsec.1).
50784	Type *string `locationName:"type" type:"string"`
50785}
50786
50787// String returns the string representation
50788func (s CustomerGateway) String() string {
50789	return awsutil.Prettify(s)
50790}
50791
50792// GoString returns the string representation
50793func (s CustomerGateway) GoString() string {
50794	return s.String()
50795}
50796
50797// SetBgpAsn sets the BgpAsn field's value.
50798func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
50799	s.BgpAsn = &v
50800	return s
50801}
50802
50803// SetCertificateArn sets the CertificateArn field's value.
50804func (s *CustomerGateway) SetCertificateArn(v string) *CustomerGateway {
50805	s.CertificateArn = &v
50806	return s
50807}
50808
50809// SetCustomerGatewayId sets the CustomerGatewayId field's value.
50810func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
50811	s.CustomerGatewayId = &v
50812	return s
50813}
50814
50815// SetDeviceName sets the DeviceName field's value.
50816func (s *CustomerGateway) SetDeviceName(v string) *CustomerGateway {
50817	s.DeviceName = &v
50818	return s
50819}
50820
50821// SetIpAddress sets the IpAddress field's value.
50822func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
50823	s.IpAddress = &v
50824	return s
50825}
50826
50827// SetState sets the State field's value.
50828func (s *CustomerGateway) SetState(v string) *CustomerGateway {
50829	s.State = &v
50830	return s
50831}
50832
50833// SetTags sets the Tags field's value.
50834func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
50835	s.Tags = v
50836	return s
50837}
50838
50839// SetType sets the Type field's value.
50840func (s *CustomerGateway) SetType(v string) *CustomerGateway {
50841	s.Type = &v
50842	return s
50843}
50844
50845type DeleteClientVpnEndpointInput struct {
50846	_ struct{} `type:"structure"`
50847
50848	// The ID of the Client VPN to be deleted.
50849	//
50850	// ClientVpnEndpointId is a required field
50851	ClientVpnEndpointId *string `type:"string" required:"true"`
50852
50853	// Checks whether you have the required permissions for the action, without
50854	// actually making the request, and provides an error response. If you have
50855	// the required permissions, the error response is DryRunOperation. Otherwise,
50856	// it is UnauthorizedOperation.
50857	DryRun *bool `type:"boolean"`
50858}
50859
50860// String returns the string representation
50861func (s DeleteClientVpnEndpointInput) String() string {
50862	return awsutil.Prettify(s)
50863}
50864
50865// GoString returns the string representation
50866func (s DeleteClientVpnEndpointInput) GoString() string {
50867	return s.String()
50868}
50869
50870// Validate inspects the fields of the type to determine if they are valid.
50871func (s *DeleteClientVpnEndpointInput) Validate() error {
50872	invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnEndpointInput"}
50873	if s.ClientVpnEndpointId == nil {
50874		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
50875	}
50876
50877	if invalidParams.Len() > 0 {
50878		return invalidParams
50879	}
50880	return nil
50881}
50882
50883// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
50884func (s *DeleteClientVpnEndpointInput) SetClientVpnEndpointId(v string) *DeleteClientVpnEndpointInput {
50885	s.ClientVpnEndpointId = &v
50886	return s
50887}
50888
50889// SetDryRun sets the DryRun field's value.
50890func (s *DeleteClientVpnEndpointInput) SetDryRun(v bool) *DeleteClientVpnEndpointInput {
50891	s.DryRun = &v
50892	return s
50893}
50894
50895type DeleteClientVpnEndpointOutput struct {
50896	_ struct{} `type:"structure"`
50897
50898	// The current state of the Client VPN endpoint.
50899	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
50900}
50901
50902// String returns the string representation
50903func (s DeleteClientVpnEndpointOutput) String() string {
50904	return awsutil.Prettify(s)
50905}
50906
50907// GoString returns the string representation
50908func (s DeleteClientVpnEndpointOutput) GoString() string {
50909	return s.String()
50910}
50911
50912// SetStatus sets the Status field's value.
50913func (s *DeleteClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *DeleteClientVpnEndpointOutput {
50914	s.Status = v
50915	return s
50916}
50917
50918type DeleteClientVpnRouteInput struct {
50919	_ struct{} `type:"structure"`
50920
50921	// The ID of the Client VPN endpoint from which the route is to be deleted.
50922	//
50923	// ClientVpnEndpointId is a required field
50924	ClientVpnEndpointId *string `type:"string" required:"true"`
50925
50926	// The IPv4 address range, in CIDR notation, of the route to be deleted.
50927	//
50928	// DestinationCidrBlock is a required field
50929	DestinationCidrBlock *string `type:"string" required:"true"`
50930
50931	// Checks whether you have the required permissions for the action, without
50932	// actually making the request, and provides an error response. If you have
50933	// the required permissions, the error response is DryRunOperation. Otherwise,
50934	// it is UnauthorizedOperation.
50935	DryRun *bool `type:"boolean"`
50936
50937	// The ID of the target subnet used by the route.
50938	TargetVpcSubnetId *string `type:"string"`
50939}
50940
50941// String returns the string representation
50942func (s DeleteClientVpnRouteInput) String() string {
50943	return awsutil.Prettify(s)
50944}
50945
50946// GoString returns the string representation
50947func (s DeleteClientVpnRouteInput) GoString() string {
50948	return s.String()
50949}
50950
50951// Validate inspects the fields of the type to determine if they are valid.
50952func (s *DeleteClientVpnRouteInput) Validate() error {
50953	invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnRouteInput"}
50954	if s.ClientVpnEndpointId == nil {
50955		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
50956	}
50957	if s.DestinationCidrBlock == nil {
50958		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
50959	}
50960
50961	if invalidParams.Len() > 0 {
50962		return invalidParams
50963	}
50964	return nil
50965}
50966
50967// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
50968func (s *DeleteClientVpnRouteInput) SetClientVpnEndpointId(v string) *DeleteClientVpnRouteInput {
50969	s.ClientVpnEndpointId = &v
50970	return s
50971}
50972
50973// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
50974func (s *DeleteClientVpnRouteInput) SetDestinationCidrBlock(v string) *DeleteClientVpnRouteInput {
50975	s.DestinationCidrBlock = &v
50976	return s
50977}
50978
50979// SetDryRun sets the DryRun field's value.
50980func (s *DeleteClientVpnRouteInput) SetDryRun(v bool) *DeleteClientVpnRouteInput {
50981	s.DryRun = &v
50982	return s
50983}
50984
50985// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
50986func (s *DeleteClientVpnRouteInput) SetTargetVpcSubnetId(v string) *DeleteClientVpnRouteInput {
50987	s.TargetVpcSubnetId = &v
50988	return s
50989}
50990
50991type DeleteClientVpnRouteOutput struct {
50992	_ struct{} `type:"structure"`
50993
50994	// The current state of the route.
50995	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
50996}
50997
50998// String returns the string representation
50999func (s DeleteClientVpnRouteOutput) String() string {
51000	return awsutil.Prettify(s)
51001}
51002
51003// GoString returns the string representation
51004func (s DeleteClientVpnRouteOutput) GoString() string {
51005	return s.String()
51006}
51007
51008// SetStatus sets the Status field's value.
51009func (s *DeleteClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *DeleteClientVpnRouteOutput {
51010	s.Status = v
51011	return s
51012}
51013
51014// Contains the parameters for DeleteCustomerGateway.
51015type DeleteCustomerGatewayInput struct {
51016	_ struct{} `type:"structure"`
51017
51018	// The ID of the customer gateway.
51019	//
51020	// CustomerGatewayId is a required field
51021	CustomerGatewayId *string `type:"string" required:"true"`
51022
51023	// Checks whether you have the required permissions for the action, without
51024	// actually making the request, and provides an error response. If you have
51025	// the required permissions, the error response is DryRunOperation. Otherwise,
51026	// it is UnauthorizedOperation.
51027	DryRun *bool `locationName:"dryRun" type:"boolean"`
51028}
51029
51030// String returns the string representation
51031func (s DeleteCustomerGatewayInput) String() string {
51032	return awsutil.Prettify(s)
51033}
51034
51035// GoString returns the string representation
51036func (s DeleteCustomerGatewayInput) GoString() string {
51037	return s.String()
51038}
51039
51040// Validate inspects the fields of the type to determine if they are valid.
51041func (s *DeleteCustomerGatewayInput) Validate() error {
51042	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
51043	if s.CustomerGatewayId == nil {
51044		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
51045	}
51046
51047	if invalidParams.Len() > 0 {
51048		return invalidParams
51049	}
51050	return nil
51051}
51052
51053// SetCustomerGatewayId sets the CustomerGatewayId field's value.
51054func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
51055	s.CustomerGatewayId = &v
51056	return s
51057}
51058
51059// SetDryRun sets the DryRun field's value.
51060func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
51061	s.DryRun = &v
51062	return s
51063}
51064
51065type DeleteCustomerGatewayOutput struct {
51066	_ struct{} `type:"structure"`
51067}
51068
51069// String returns the string representation
51070func (s DeleteCustomerGatewayOutput) String() string {
51071	return awsutil.Prettify(s)
51072}
51073
51074// GoString returns the string representation
51075func (s DeleteCustomerGatewayOutput) GoString() string {
51076	return s.String()
51077}
51078
51079type DeleteDhcpOptionsInput struct {
51080	_ struct{} `type:"structure"`
51081
51082	// The ID of the DHCP options set.
51083	//
51084	// DhcpOptionsId is a required field
51085	DhcpOptionsId *string `type:"string" required:"true"`
51086
51087	// Checks whether you have the required permissions for the action, without
51088	// actually making the request, and provides an error response. If you have
51089	// the required permissions, the error response is DryRunOperation. Otherwise,
51090	// it is UnauthorizedOperation.
51091	DryRun *bool `locationName:"dryRun" type:"boolean"`
51092}
51093
51094// String returns the string representation
51095func (s DeleteDhcpOptionsInput) String() string {
51096	return awsutil.Prettify(s)
51097}
51098
51099// GoString returns the string representation
51100func (s DeleteDhcpOptionsInput) GoString() string {
51101	return s.String()
51102}
51103
51104// Validate inspects the fields of the type to determine if they are valid.
51105func (s *DeleteDhcpOptionsInput) Validate() error {
51106	invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
51107	if s.DhcpOptionsId == nil {
51108		invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
51109	}
51110
51111	if invalidParams.Len() > 0 {
51112		return invalidParams
51113	}
51114	return nil
51115}
51116
51117// SetDhcpOptionsId sets the DhcpOptionsId field's value.
51118func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
51119	s.DhcpOptionsId = &v
51120	return s
51121}
51122
51123// SetDryRun sets the DryRun field's value.
51124func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
51125	s.DryRun = &v
51126	return s
51127}
51128
51129type DeleteDhcpOptionsOutput struct {
51130	_ struct{} `type:"structure"`
51131}
51132
51133// String returns the string representation
51134func (s DeleteDhcpOptionsOutput) String() string {
51135	return awsutil.Prettify(s)
51136}
51137
51138// GoString returns the string representation
51139func (s DeleteDhcpOptionsOutput) GoString() string {
51140	return s.String()
51141}
51142
51143type DeleteEgressOnlyInternetGatewayInput struct {
51144	_ struct{} `type:"structure"`
51145
51146	// Checks whether you have the required permissions for the action, without
51147	// actually making the request, and provides an error response. If you have
51148	// the required permissions, the error response is DryRunOperation. Otherwise,
51149	// it is UnauthorizedOperation.
51150	DryRun *bool `type:"boolean"`
51151
51152	// The ID of the egress-only internet gateway.
51153	//
51154	// EgressOnlyInternetGatewayId is a required field
51155	EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
51156}
51157
51158// String returns the string representation
51159func (s DeleteEgressOnlyInternetGatewayInput) String() string {
51160	return awsutil.Prettify(s)
51161}
51162
51163// GoString returns the string representation
51164func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
51165	return s.String()
51166}
51167
51168// Validate inspects the fields of the type to determine if they are valid.
51169func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
51170	invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
51171	if s.EgressOnlyInternetGatewayId == nil {
51172		invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
51173	}
51174
51175	if invalidParams.Len() > 0 {
51176		return invalidParams
51177	}
51178	return nil
51179}
51180
51181// SetDryRun sets the DryRun field's value.
51182func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
51183	s.DryRun = &v
51184	return s
51185}
51186
51187// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
51188func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
51189	s.EgressOnlyInternetGatewayId = &v
51190	return s
51191}
51192
51193type DeleteEgressOnlyInternetGatewayOutput struct {
51194	_ struct{} `type:"structure"`
51195
51196	// Returns true if the request succeeds; otherwise, it returns an error.
51197	ReturnCode *bool `locationName:"returnCode" type:"boolean"`
51198}
51199
51200// String returns the string representation
51201func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
51202	return awsutil.Prettify(s)
51203}
51204
51205// GoString returns the string representation
51206func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
51207	return s.String()
51208}
51209
51210// SetReturnCode sets the ReturnCode field's value.
51211func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
51212	s.ReturnCode = &v
51213	return s
51214}
51215
51216// Describes an EC2 Fleet error.
51217type DeleteFleetError struct {
51218	_ struct{} `type:"structure"`
51219
51220	// The error code.
51221	Code *string `locationName:"code" type:"string" enum:"DeleteFleetErrorCode"`
51222
51223	// The description for the error code.
51224	Message *string `locationName:"message" type:"string"`
51225}
51226
51227// String returns the string representation
51228func (s DeleteFleetError) String() string {
51229	return awsutil.Prettify(s)
51230}
51231
51232// GoString returns the string representation
51233func (s DeleteFleetError) GoString() string {
51234	return s.String()
51235}
51236
51237// SetCode sets the Code field's value.
51238func (s *DeleteFleetError) SetCode(v string) *DeleteFleetError {
51239	s.Code = &v
51240	return s
51241}
51242
51243// SetMessage sets the Message field's value.
51244func (s *DeleteFleetError) SetMessage(v string) *DeleteFleetError {
51245	s.Message = &v
51246	return s
51247}
51248
51249// Describes an EC2 Fleet that was not successfully deleted.
51250type DeleteFleetErrorItem struct {
51251	_ struct{} `type:"structure"`
51252
51253	// The error.
51254	Error *DeleteFleetError `locationName:"error" type:"structure"`
51255
51256	// The ID of the EC2 Fleet.
51257	FleetId *string `locationName:"fleetId" type:"string"`
51258}
51259
51260// String returns the string representation
51261func (s DeleteFleetErrorItem) String() string {
51262	return awsutil.Prettify(s)
51263}
51264
51265// GoString returns the string representation
51266func (s DeleteFleetErrorItem) GoString() string {
51267	return s.String()
51268}
51269
51270// SetError sets the Error field's value.
51271func (s *DeleteFleetErrorItem) SetError(v *DeleteFleetError) *DeleteFleetErrorItem {
51272	s.Error = v
51273	return s
51274}
51275
51276// SetFleetId sets the FleetId field's value.
51277func (s *DeleteFleetErrorItem) SetFleetId(v string) *DeleteFleetErrorItem {
51278	s.FleetId = &v
51279	return s
51280}
51281
51282// Describes an EC2 Fleet that was successfully deleted.
51283type DeleteFleetSuccessItem struct {
51284	_ struct{} `type:"structure"`
51285
51286	// The current state of the EC2 Fleet.
51287	CurrentFleetState *string `locationName:"currentFleetState" type:"string" enum:"FleetStateCode"`
51288
51289	// The ID of the EC2 Fleet.
51290	FleetId *string `locationName:"fleetId" type:"string"`
51291
51292	// The previous state of the EC2 Fleet.
51293	PreviousFleetState *string `locationName:"previousFleetState" type:"string" enum:"FleetStateCode"`
51294}
51295
51296// String returns the string representation
51297func (s DeleteFleetSuccessItem) String() string {
51298	return awsutil.Prettify(s)
51299}
51300
51301// GoString returns the string representation
51302func (s DeleteFleetSuccessItem) GoString() string {
51303	return s.String()
51304}
51305
51306// SetCurrentFleetState sets the CurrentFleetState field's value.
51307func (s *DeleteFleetSuccessItem) SetCurrentFleetState(v string) *DeleteFleetSuccessItem {
51308	s.CurrentFleetState = &v
51309	return s
51310}
51311
51312// SetFleetId sets the FleetId field's value.
51313func (s *DeleteFleetSuccessItem) SetFleetId(v string) *DeleteFleetSuccessItem {
51314	s.FleetId = &v
51315	return s
51316}
51317
51318// SetPreviousFleetState sets the PreviousFleetState field's value.
51319func (s *DeleteFleetSuccessItem) SetPreviousFleetState(v string) *DeleteFleetSuccessItem {
51320	s.PreviousFleetState = &v
51321	return s
51322}
51323
51324type DeleteFleetsInput struct {
51325	_ struct{} `type:"structure"`
51326
51327	// Checks whether you have the required permissions for the action, without
51328	// actually making the request, and provides an error response. If you have
51329	// the required permissions, the error response is DryRunOperation. Otherwise,
51330	// it is UnauthorizedOperation.
51331	DryRun *bool `type:"boolean"`
51332
51333	// The IDs of the EC2 Fleets.
51334	//
51335	// FleetIds is a required field
51336	FleetIds []*string `locationName:"FleetId" type:"list" required:"true"`
51337
51338	// Indicates whether to terminate instances for an EC2 Fleet if it is deleted
51339	// successfully.
51340	//
51341	// TerminateInstances is a required field
51342	TerminateInstances *bool `type:"boolean" required:"true"`
51343}
51344
51345// String returns the string representation
51346func (s DeleteFleetsInput) String() string {
51347	return awsutil.Prettify(s)
51348}
51349
51350// GoString returns the string representation
51351func (s DeleteFleetsInput) GoString() string {
51352	return s.String()
51353}
51354
51355// Validate inspects the fields of the type to determine if they are valid.
51356func (s *DeleteFleetsInput) Validate() error {
51357	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetsInput"}
51358	if s.FleetIds == nil {
51359		invalidParams.Add(request.NewErrParamRequired("FleetIds"))
51360	}
51361	if s.TerminateInstances == nil {
51362		invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
51363	}
51364
51365	if invalidParams.Len() > 0 {
51366		return invalidParams
51367	}
51368	return nil
51369}
51370
51371// SetDryRun sets the DryRun field's value.
51372func (s *DeleteFleetsInput) SetDryRun(v bool) *DeleteFleetsInput {
51373	s.DryRun = &v
51374	return s
51375}
51376
51377// SetFleetIds sets the FleetIds field's value.
51378func (s *DeleteFleetsInput) SetFleetIds(v []*string) *DeleteFleetsInput {
51379	s.FleetIds = v
51380	return s
51381}
51382
51383// SetTerminateInstances sets the TerminateInstances field's value.
51384func (s *DeleteFleetsInput) SetTerminateInstances(v bool) *DeleteFleetsInput {
51385	s.TerminateInstances = &v
51386	return s
51387}
51388
51389type DeleteFleetsOutput struct {
51390	_ struct{} `type:"structure"`
51391
51392	// Information about the EC2 Fleets that are successfully deleted.
51393	SuccessfulFleetDeletions []*DeleteFleetSuccessItem `locationName:"successfulFleetDeletionSet" locationNameList:"item" type:"list"`
51394
51395	// Information about the EC2 Fleets that are not successfully deleted.
51396	UnsuccessfulFleetDeletions []*DeleteFleetErrorItem `locationName:"unsuccessfulFleetDeletionSet" locationNameList:"item" type:"list"`
51397}
51398
51399// String returns the string representation
51400func (s DeleteFleetsOutput) String() string {
51401	return awsutil.Prettify(s)
51402}
51403
51404// GoString returns the string representation
51405func (s DeleteFleetsOutput) GoString() string {
51406	return s.String()
51407}
51408
51409// SetSuccessfulFleetDeletions sets the SuccessfulFleetDeletions field's value.
51410func (s *DeleteFleetsOutput) SetSuccessfulFleetDeletions(v []*DeleteFleetSuccessItem) *DeleteFleetsOutput {
51411	s.SuccessfulFleetDeletions = v
51412	return s
51413}
51414
51415// SetUnsuccessfulFleetDeletions sets the UnsuccessfulFleetDeletions field's value.
51416func (s *DeleteFleetsOutput) SetUnsuccessfulFleetDeletions(v []*DeleteFleetErrorItem) *DeleteFleetsOutput {
51417	s.UnsuccessfulFleetDeletions = v
51418	return s
51419}
51420
51421type DeleteFlowLogsInput struct {
51422	_ struct{} `type:"structure"`
51423
51424	// Checks whether you have the required permissions for the action, without
51425	// actually making the request, and provides an error response. If you have
51426	// the required permissions, the error response is DryRunOperation. Otherwise,
51427	// it is UnauthorizedOperation.
51428	DryRun *bool `type:"boolean"`
51429
51430	// One or more flow log IDs.
51431	//
51432	// Constraint: Maximum of 1000 flow log IDs.
51433	//
51434	// FlowLogIds is a required field
51435	FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
51436}
51437
51438// String returns the string representation
51439func (s DeleteFlowLogsInput) String() string {
51440	return awsutil.Prettify(s)
51441}
51442
51443// GoString returns the string representation
51444func (s DeleteFlowLogsInput) GoString() string {
51445	return s.String()
51446}
51447
51448// Validate inspects the fields of the type to determine if they are valid.
51449func (s *DeleteFlowLogsInput) Validate() error {
51450	invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
51451	if s.FlowLogIds == nil {
51452		invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
51453	}
51454
51455	if invalidParams.Len() > 0 {
51456		return invalidParams
51457	}
51458	return nil
51459}
51460
51461// SetDryRun sets the DryRun field's value.
51462func (s *DeleteFlowLogsInput) SetDryRun(v bool) *DeleteFlowLogsInput {
51463	s.DryRun = &v
51464	return s
51465}
51466
51467// SetFlowLogIds sets the FlowLogIds field's value.
51468func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
51469	s.FlowLogIds = v
51470	return s
51471}
51472
51473type DeleteFlowLogsOutput struct {
51474	_ struct{} `type:"structure"`
51475
51476	// Information about the flow logs that could not be deleted successfully.
51477	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
51478}
51479
51480// String returns the string representation
51481func (s DeleteFlowLogsOutput) String() string {
51482	return awsutil.Prettify(s)
51483}
51484
51485// GoString returns the string representation
51486func (s DeleteFlowLogsOutput) GoString() string {
51487	return s.String()
51488}
51489
51490// SetUnsuccessful sets the Unsuccessful field's value.
51491func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
51492	s.Unsuccessful = v
51493	return s
51494}
51495
51496type DeleteFpgaImageInput struct {
51497	_ struct{} `type:"structure"`
51498
51499	// Checks whether you have the required permissions for the action, without
51500	// actually making the request, and provides an error response. If you have
51501	// the required permissions, the error response is DryRunOperation. Otherwise,
51502	// it is UnauthorizedOperation.
51503	DryRun *bool `type:"boolean"`
51504
51505	// The ID of the AFI.
51506	//
51507	// FpgaImageId is a required field
51508	FpgaImageId *string `type:"string" required:"true"`
51509}
51510
51511// String returns the string representation
51512func (s DeleteFpgaImageInput) String() string {
51513	return awsutil.Prettify(s)
51514}
51515
51516// GoString returns the string representation
51517func (s DeleteFpgaImageInput) GoString() string {
51518	return s.String()
51519}
51520
51521// Validate inspects the fields of the type to determine if they are valid.
51522func (s *DeleteFpgaImageInput) Validate() error {
51523	invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"}
51524	if s.FpgaImageId == nil {
51525		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
51526	}
51527
51528	if invalidParams.Len() > 0 {
51529		return invalidParams
51530	}
51531	return nil
51532}
51533
51534// SetDryRun sets the DryRun field's value.
51535func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput {
51536	s.DryRun = &v
51537	return s
51538}
51539
51540// SetFpgaImageId sets the FpgaImageId field's value.
51541func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput {
51542	s.FpgaImageId = &v
51543	return s
51544}
51545
51546type DeleteFpgaImageOutput struct {
51547	_ struct{} `type:"structure"`
51548
51549	// Is true if the request succeeds, and an error otherwise.
51550	Return *bool `locationName:"return" type:"boolean"`
51551}
51552
51553// String returns the string representation
51554func (s DeleteFpgaImageOutput) String() string {
51555	return awsutil.Prettify(s)
51556}
51557
51558// GoString returns the string representation
51559func (s DeleteFpgaImageOutput) GoString() string {
51560	return s.String()
51561}
51562
51563// SetReturn sets the Return field's value.
51564func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput {
51565	s.Return = &v
51566	return s
51567}
51568
51569type DeleteInternetGatewayInput struct {
51570	_ struct{} `type:"structure"`
51571
51572	// Checks whether you have the required permissions for the action, without
51573	// actually making the request, and provides an error response. If you have
51574	// the required permissions, the error response is DryRunOperation. Otherwise,
51575	// it is UnauthorizedOperation.
51576	DryRun *bool `locationName:"dryRun" type:"boolean"`
51577
51578	// The ID of the internet gateway.
51579	//
51580	// InternetGatewayId is a required field
51581	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
51582}
51583
51584// String returns the string representation
51585func (s DeleteInternetGatewayInput) String() string {
51586	return awsutil.Prettify(s)
51587}
51588
51589// GoString returns the string representation
51590func (s DeleteInternetGatewayInput) GoString() string {
51591	return s.String()
51592}
51593
51594// Validate inspects the fields of the type to determine if they are valid.
51595func (s *DeleteInternetGatewayInput) Validate() error {
51596	invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
51597	if s.InternetGatewayId == nil {
51598		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
51599	}
51600
51601	if invalidParams.Len() > 0 {
51602		return invalidParams
51603	}
51604	return nil
51605}
51606
51607// SetDryRun sets the DryRun field's value.
51608func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
51609	s.DryRun = &v
51610	return s
51611}
51612
51613// SetInternetGatewayId sets the InternetGatewayId field's value.
51614func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
51615	s.InternetGatewayId = &v
51616	return s
51617}
51618
51619type DeleteInternetGatewayOutput struct {
51620	_ struct{} `type:"structure"`
51621}
51622
51623// String returns the string representation
51624func (s DeleteInternetGatewayOutput) String() string {
51625	return awsutil.Prettify(s)
51626}
51627
51628// GoString returns the string representation
51629func (s DeleteInternetGatewayOutput) GoString() string {
51630	return s.String()
51631}
51632
51633type DeleteKeyPairInput struct {
51634	_ struct{} `type:"structure"`
51635
51636	// Checks whether you have the required permissions for the action, without
51637	// actually making the request, and provides an error response. If you have
51638	// the required permissions, the error response is DryRunOperation. Otherwise,
51639	// it is UnauthorizedOperation.
51640	DryRun *bool `locationName:"dryRun" type:"boolean"`
51641
51642	// The name of the key pair.
51643	//
51644	// KeyName is a required field
51645	KeyName *string `type:"string" required:"true"`
51646}
51647
51648// String returns the string representation
51649func (s DeleteKeyPairInput) String() string {
51650	return awsutil.Prettify(s)
51651}
51652
51653// GoString returns the string representation
51654func (s DeleteKeyPairInput) GoString() string {
51655	return s.String()
51656}
51657
51658// Validate inspects the fields of the type to determine if they are valid.
51659func (s *DeleteKeyPairInput) Validate() error {
51660	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
51661	if s.KeyName == nil {
51662		invalidParams.Add(request.NewErrParamRequired("KeyName"))
51663	}
51664
51665	if invalidParams.Len() > 0 {
51666		return invalidParams
51667	}
51668	return nil
51669}
51670
51671// SetDryRun sets the DryRun field's value.
51672func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
51673	s.DryRun = &v
51674	return s
51675}
51676
51677// SetKeyName sets the KeyName field's value.
51678func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
51679	s.KeyName = &v
51680	return s
51681}
51682
51683type DeleteKeyPairOutput struct {
51684	_ struct{} `type:"structure"`
51685}
51686
51687// String returns the string representation
51688func (s DeleteKeyPairOutput) String() string {
51689	return awsutil.Prettify(s)
51690}
51691
51692// GoString returns the string representation
51693func (s DeleteKeyPairOutput) GoString() string {
51694	return s.String()
51695}
51696
51697type DeleteLaunchTemplateInput struct {
51698	_ struct{} `type:"structure"`
51699
51700	// Checks whether you have the required permissions for the action, without
51701	// actually making the request, and provides an error response. If you have
51702	// the required permissions, the error response is DryRunOperation. Otherwise,
51703	// it is UnauthorizedOperation.
51704	DryRun *bool `type:"boolean"`
51705
51706	// The ID of the launch template. You must specify either the launch template
51707	// ID or launch template name in the request.
51708	LaunchTemplateId *string `type:"string"`
51709
51710	// The name of the launch template. You must specify either the launch template
51711	// ID or launch template name in the request.
51712	LaunchTemplateName *string `min:"3" type:"string"`
51713}
51714
51715// String returns the string representation
51716func (s DeleteLaunchTemplateInput) String() string {
51717	return awsutil.Prettify(s)
51718}
51719
51720// GoString returns the string representation
51721func (s DeleteLaunchTemplateInput) GoString() string {
51722	return s.String()
51723}
51724
51725// Validate inspects the fields of the type to determine if they are valid.
51726func (s *DeleteLaunchTemplateInput) Validate() error {
51727	invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateInput"}
51728	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
51729		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
51730	}
51731
51732	if invalidParams.Len() > 0 {
51733		return invalidParams
51734	}
51735	return nil
51736}
51737
51738// SetDryRun sets the DryRun field's value.
51739func (s *DeleteLaunchTemplateInput) SetDryRun(v bool) *DeleteLaunchTemplateInput {
51740	s.DryRun = &v
51741	return s
51742}
51743
51744// SetLaunchTemplateId sets the LaunchTemplateId field's value.
51745func (s *DeleteLaunchTemplateInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateInput {
51746	s.LaunchTemplateId = &v
51747	return s
51748}
51749
51750// SetLaunchTemplateName sets the LaunchTemplateName field's value.
51751func (s *DeleteLaunchTemplateInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateInput {
51752	s.LaunchTemplateName = &v
51753	return s
51754}
51755
51756type DeleteLaunchTemplateOutput struct {
51757	_ struct{} `type:"structure"`
51758
51759	// Information about the launch template.
51760	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
51761}
51762
51763// String returns the string representation
51764func (s DeleteLaunchTemplateOutput) String() string {
51765	return awsutil.Prettify(s)
51766}
51767
51768// GoString returns the string representation
51769func (s DeleteLaunchTemplateOutput) GoString() string {
51770	return s.String()
51771}
51772
51773// SetLaunchTemplate sets the LaunchTemplate field's value.
51774func (s *DeleteLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *DeleteLaunchTemplateOutput {
51775	s.LaunchTemplate = v
51776	return s
51777}
51778
51779type DeleteLaunchTemplateVersionsInput struct {
51780	_ struct{} `type:"structure"`
51781
51782	// Checks whether you have the required permissions for the action, without
51783	// actually making the request, and provides an error response. If you have
51784	// the required permissions, the error response is DryRunOperation. Otherwise,
51785	// it is UnauthorizedOperation.
51786	DryRun *bool `type:"boolean"`
51787
51788	// The ID of the launch template. You must specify either the launch template
51789	// ID or launch template name in the request.
51790	LaunchTemplateId *string `type:"string"`
51791
51792	// The name of the launch template. You must specify either the launch template
51793	// ID or launch template name in the request.
51794	LaunchTemplateName *string `min:"3" type:"string"`
51795
51796	// The version numbers of one or more launch template versions to delete.
51797	//
51798	// Versions is a required field
51799	Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list" required:"true"`
51800}
51801
51802// String returns the string representation
51803func (s DeleteLaunchTemplateVersionsInput) String() string {
51804	return awsutil.Prettify(s)
51805}
51806
51807// GoString returns the string representation
51808func (s DeleteLaunchTemplateVersionsInput) GoString() string {
51809	return s.String()
51810}
51811
51812// Validate inspects the fields of the type to determine if they are valid.
51813func (s *DeleteLaunchTemplateVersionsInput) Validate() error {
51814	invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateVersionsInput"}
51815	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
51816		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
51817	}
51818	if s.Versions == nil {
51819		invalidParams.Add(request.NewErrParamRequired("Versions"))
51820	}
51821
51822	if invalidParams.Len() > 0 {
51823		return invalidParams
51824	}
51825	return nil
51826}
51827
51828// SetDryRun sets the DryRun field's value.
51829func (s *DeleteLaunchTemplateVersionsInput) SetDryRun(v bool) *DeleteLaunchTemplateVersionsInput {
51830	s.DryRun = &v
51831	return s
51832}
51833
51834// SetLaunchTemplateId sets the LaunchTemplateId field's value.
51835func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsInput {
51836	s.LaunchTemplateId = &v
51837	return s
51838}
51839
51840// SetLaunchTemplateName sets the LaunchTemplateName field's value.
51841func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsInput {
51842	s.LaunchTemplateName = &v
51843	return s
51844}
51845
51846// SetVersions sets the Versions field's value.
51847func (s *DeleteLaunchTemplateVersionsInput) SetVersions(v []*string) *DeleteLaunchTemplateVersionsInput {
51848	s.Versions = v
51849	return s
51850}
51851
51852type DeleteLaunchTemplateVersionsOutput struct {
51853	_ struct{} `type:"structure"`
51854
51855	// Information about the launch template versions that were successfully deleted.
51856	SuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseSuccessItem `locationName:"successfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
51857
51858	// Information about the launch template versions that could not be deleted.
51859	UnsuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseErrorItem `locationName:"unsuccessfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
51860}
51861
51862// String returns the string representation
51863func (s DeleteLaunchTemplateVersionsOutput) String() string {
51864	return awsutil.Prettify(s)
51865}
51866
51867// GoString returns the string representation
51868func (s DeleteLaunchTemplateVersionsOutput) GoString() string {
51869	return s.String()
51870}
51871
51872// SetSuccessfullyDeletedLaunchTemplateVersions sets the SuccessfullyDeletedLaunchTemplateVersions field's value.
51873func (s *DeleteLaunchTemplateVersionsOutput) SetSuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseSuccessItem) *DeleteLaunchTemplateVersionsOutput {
51874	s.SuccessfullyDeletedLaunchTemplateVersions = v
51875	return s
51876}
51877
51878// SetUnsuccessfullyDeletedLaunchTemplateVersions sets the UnsuccessfullyDeletedLaunchTemplateVersions field's value.
51879func (s *DeleteLaunchTemplateVersionsOutput) SetUnsuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseErrorItem) *DeleteLaunchTemplateVersionsOutput {
51880	s.UnsuccessfullyDeletedLaunchTemplateVersions = v
51881	return s
51882}
51883
51884// Describes a launch template version that could not be deleted.
51885type DeleteLaunchTemplateVersionsResponseErrorItem struct {
51886	_ struct{} `type:"structure"`
51887
51888	// The ID of the launch template.
51889	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
51890
51891	// The name of the launch template.
51892	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
51893
51894	// Information about the error.
51895	ResponseError *ResponseError `locationName:"responseError" type:"structure"`
51896
51897	// The version number of the launch template.
51898	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
51899}
51900
51901// String returns the string representation
51902func (s DeleteLaunchTemplateVersionsResponseErrorItem) String() string {
51903	return awsutil.Prettify(s)
51904}
51905
51906// GoString returns the string representation
51907func (s DeleteLaunchTemplateVersionsResponseErrorItem) GoString() string {
51908	return s.String()
51909}
51910
51911// SetLaunchTemplateId sets the LaunchTemplateId field's value.
51912func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
51913	s.LaunchTemplateId = &v
51914	return s
51915}
51916
51917// SetLaunchTemplateName sets the LaunchTemplateName field's value.
51918func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
51919	s.LaunchTemplateName = &v
51920	return s
51921}
51922
51923// SetResponseError sets the ResponseError field's value.
51924func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetResponseError(v *ResponseError) *DeleteLaunchTemplateVersionsResponseErrorItem {
51925	s.ResponseError = v
51926	return s
51927}
51928
51929// SetVersionNumber sets the VersionNumber field's value.
51930func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseErrorItem {
51931	s.VersionNumber = &v
51932	return s
51933}
51934
51935// Describes a launch template version that was successfully deleted.
51936type DeleteLaunchTemplateVersionsResponseSuccessItem struct {
51937	_ struct{} `type:"structure"`
51938
51939	// The ID of the launch template.
51940	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
51941
51942	// The name of the launch template.
51943	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
51944
51945	// The version number of the launch template.
51946	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
51947}
51948
51949// String returns the string representation
51950func (s DeleteLaunchTemplateVersionsResponseSuccessItem) String() string {
51951	return awsutil.Prettify(s)
51952}
51953
51954// GoString returns the string representation
51955func (s DeleteLaunchTemplateVersionsResponseSuccessItem) GoString() string {
51956	return s.String()
51957}
51958
51959// SetLaunchTemplateId sets the LaunchTemplateId field's value.
51960func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
51961	s.LaunchTemplateId = &v
51962	return s
51963}
51964
51965// SetLaunchTemplateName sets the LaunchTemplateName field's value.
51966func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
51967	s.LaunchTemplateName = &v
51968	return s
51969}
51970
51971// SetVersionNumber sets the VersionNumber field's value.
51972func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseSuccessItem {
51973	s.VersionNumber = &v
51974	return s
51975}
51976
51977type DeleteLocalGatewayRouteInput struct {
51978	_ struct{} `type:"structure"`
51979
51980	// The CIDR range for the route. This must match the CIDR for the route exactly.
51981	//
51982	// DestinationCidrBlock is a required field
51983	DestinationCidrBlock *string `type:"string" required:"true"`
51984
51985	// Checks whether you have the required permissions for the action, without
51986	// actually making the request, and provides an error response. If you have
51987	// the required permissions, the error response is DryRunOperation. Otherwise,
51988	// it is UnauthorizedOperation.
51989	DryRun *bool `type:"boolean"`
51990
51991	// The ID of the local gateway route table.
51992	//
51993	// LocalGatewayRouteTableId is a required field
51994	LocalGatewayRouteTableId *string `type:"string" required:"true"`
51995}
51996
51997// String returns the string representation
51998func (s DeleteLocalGatewayRouteInput) String() string {
51999	return awsutil.Prettify(s)
52000}
52001
52002// GoString returns the string representation
52003func (s DeleteLocalGatewayRouteInput) GoString() string {
52004	return s.String()
52005}
52006
52007// Validate inspects the fields of the type to determine if they are valid.
52008func (s *DeleteLocalGatewayRouteInput) Validate() error {
52009	invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteInput"}
52010	if s.DestinationCidrBlock == nil {
52011		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
52012	}
52013	if s.LocalGatewayRouteTableId == nil {
52014		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
52015	}
52016
52017	if invalidParams.Len() > 0 {
52018		return invalidParams
52019	}
52020	return nil
52021}
52022
52023// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
52024func (s *DeleteLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteLocalGatewayRouteInput {
52025	s.DestinationCidrBlock = &v
52026	return s
52027}
52028
52029// SetDryRun sets the DryRun field's value.
52030func (s *DeleteLocalGatewayRouteInput) SetDryRun(v bool) *DeleteLocalGatewayRouteInput {
52031	s.DryRun = &v
52032	return s
52033}
52034
52035// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
52036func (s *DeleteLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *DeleteLocalGatewayRouteInput {
52037	s.LocalGatewayRouteTableId = &v
52038	return s
52039}
52040
52041type DeleteLocalGatewayRouteOutput struct {
52042	_ struct{} `type:"structure"`
52043
52044	// Information about the route.
52045	Route *LocalGatewayRoute `locationName:"route" type:"structure"`
52046}
52047
52048// String returns the string representation
52049func (s DeleteLocalGatewayRouteOutput) String() string {
52050	return awsutil.Prettify(s)
52051}
52052
52053// GoString returns the string representation
52054func (s DeleteLocalGatewayRouteOutput) GoString() string {
52055	return s.String()
52056}
52057
52058// SetRoute sets the Route field's value.
52059func (s *DeleteLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *DeleteLocalGatewayRouteOutput {
52060	s.Route = v
52061	return s
52062}
52063
52064type DeleteLocalGatewayRouteTableVpcAssociationInput struct {
52065	_ struct{} `type:"structure"`
52066
52067	// Checks whether you have the required permissions for the action, without
52068	// actually making the request, and provides an error response. If you have
52069	// the required permissions, the error response is DryRunOperation. Otherwise,
52070	// it is UnauthorizedOperation.
52071	DryRun *bool `type:"boolean"`
52072
52073	// The ID of the association.
52074	//
52075	// LocalGatewayRouteTableVpcAssociationId is a required field
52076	LocalGatewayRouteTableVpcAssociationId *string `type:"string" required:"true"`
52077}
52078
52079// String returns the string representation
52080func (s DeleteLocalGatewayRouteTableVpcAssociationInput) String() string {
52081	return awsutil.Prettify(s)
52082}
52083
52084// GoString returns the string representation
52085func (s DeleteLocalGatewayRouteTableVpcAssociationInput) GoString() string {
52086	return s.String()
52087}
52088
52089// Validate inspects the fields of the type to determine if they are valid.
52090func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) Validate() error {
52091	invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteTableVpcAssociationInput"}
52092	if s.LocalGatewayRouteTableVpcAssociationId == nil {
52093		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableVpcAssociationId"))
52094	}
52095
52096	if invalidParams.Len() > 0 {
52097		return invalidParams
52098	}
52099	return nil
52100}
52101
52102// SetDryRun sets the DryRun field's value.
52103func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *DeleteLocalGatewayRouteTableVpcAssociationInput {
52104	s.DryRun = &v
52105	return s
52106}
52107
52108// SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
52109func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableVpcAssociationId(v string) *DeleteLocalGatewayRouteTableVpcAssociationInput {
52110	s.LocalGatewayRouteTableVpcAssociationId = &v
52111	return s
52112}
52113
52114type DeleteLocalGatewayRouteTableVpcAssociationOutput struct {
52115	_ struct{} `type:"structure"`
52116
52117	// Information about the association.
52118	LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
52119}
52120
52121// String returns the string representation
52122func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) String() string {
52123	return awsutil.Prettify(s)
52124}
52125
52126// GoString returns the string representation
52127func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
52128	return s.String()
52129}
52130
52131// SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
52132func (s *DeleteLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *DeleteLocalGatewayRouteTableVpcAssociationOutput {
52133	s.LocalGatewayRouteTableVpcAssociation = v
52134	return s
52135}
52136
52137type DeleteNatGatewayInput struct {
52138	_ struct{} `type:"structure"`
52139
52140	// The ID of the NAT gateway.
52141	//
52142	// NatGatewayId is a required field
52143	NatGatewayId *string `type:"string" required:"true"`
52144}
52145
52146// String returns the string representation
52147func (s DeleteNatGatewayInput) String() string {
52148	return awsutil.Prettify(s)
52149}
52150
52151// GoString returns the string representation
52152func (s DeleteNatGatewayInput) GoString() string {
52153	return s.String()
52154}
52155
52156// Validate inspects the fields of the type to determine if they are valid.
52157func (s *DeleteNatGatewayInput) Validate() error {
52158	invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
52159	if s.NatGatewayId == nil {
52160		invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
52161	}
52162
52163	if invalidParams.Len() > 0 {
52164		return invalidParams
52165	}
52166	return nil
52167}
52168
52169// SetNatGatewayId sets the NatGatewayId field's value.
52170func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
52171	s.NatGatewayId = &v
52172	return s
52173}
52174
52175type DeleteNatGatewayOutput struct {
52176	_ struct{} `type:"structure"`
52177
52178	// The ID of the NAT gateway.
52179	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
52180}
52181
52182// String returns the string representation
52183func (s DeleteNatGatewayOutput) String() string {
52184	return awsutil.Prettify(s)
52185}
52186
52187// GoString returns the string representation
52188func (s DeleteNatGatewayOutput) GoString() string {
52189	return s.String()
52190}
52191
52192// SetNatGatewayId sets the NatGatewayId field's value.
52193func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
52194	s.NatGatewayId = &v
52195	return s
52196}
52197
52198type DeleteNetworkAclEntryInput struct {
52199	_ struct{} `type:"structure"`
52200
52201	// Checks whether you have the required permissions for the action, without
52202	// actually making the request, and provides an error response. If you have
52203	// the required permissions, the error response is DryRunOperation. Otherwise,
52204	// it is UnauthorizedOperation.
52205	DryRun *bool `locationName:"dryRun" type:"boolean"`
52206
52207	// Indicates whether the rule is an egress rule.
52208	//
52209	// Egress is a required field
52210	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
52211
52212	// The ID of the network ACL.
52213	//
52214	// NetworkAclId is a required field
52215	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
52216
52217	// The rule number of the entry to delete.
52218	//
52219	// RuleNumber is a required field
52220	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
52221}
52222
52223// String returns the string representation
52224func (s DeleteNetworkAclEntryInput) String() string {
52225	return awsutil.Prettify(s)
52226}
52227
52228// GoString returns the string representation
52229func (s DeleteNetworkAclEntryInput) GoString() string {
52230	return s.String()
52231}
52232
52233// Validate inspects the fields of the type to determine if they are valid.
52234func (s *DeleteNetworkAclEntryInput) Validate() error {
52235	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
52236	if s.Egress == nil {
52237		invalidParams.Add(request.NewErrParamRequired("Egress"))
52238	}
52239	if s.NetworkAclId == nil {
52240		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
52241	}
52242	if s.RuleNumber == nil {
52243		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
52244	}
52245
52246	if invalidParams.Len() > 0 {
52247		return invalidParams
52248	}
52249	return nil
52250}
52251
52252// SetDryRun sets the DryRun field's value.
52253func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
52254	s.DryRun = &v
52255	return s
52256}
52257
52258// SetEgress sets the Egress field's value.
52259func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
52260	s.Egress = &v
52261	return s
52262}
52263
52264// SetNetworkAclId sets the NetworkAclId field's value.
52265func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
52266	s.NetworkAclId = &v
52267	return s
52268}
52269
52270// SetRuleNumber sets the RuleNumber field's value.
52271func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
52272	s.RuleNumber = &v
52273	return s
52274}
52275
52276type DeleteNetworkAclEntryOutput struct {
52277	_ struct{} `type:"structure"`
52278}
52279
52280// String returns the string representation
52281func (s DeleteNetworkAclEntryOutput) String() string {
52282	return awsutil.Prettify(s)
52283}
52284
52285// GoString returns the string representation
52286func (s DeleteNetworkAclEntryOutput) GoString() string {
52287	return s.String()
52288}
52289
52290type DeleteNetworkAclInput struct {
52291	_ struct{} `type:"structure"`
52292
52293	// Checks whether you have the required permissions for the action, without
52294	// actually making the request, and provides an error response. If you have
52295	// the required permissions, the error response is DryRunOperation. Otherwise,
52296	// it is UnauthorizedOperation.
52297	DryRun *bool `locationName:"dryRun" type:"boolean"`
52298
52299	// The ID of the network ACL.
52300	//
52301	// NetworkAclId is a required field
52302	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
52303}
52304
52305// String returns the string representation
52306func (s DeleteNetworkAclInput) String() string {
52307	return awsutil.Prettify(s)
52308}
52309
52310// GoString returns the string representation
52311func (s DeleteNetworkAclInput) GoString() string {
52312	return s.String()
52313}
52314
52315// Validate inspects the fields of the type to determine if they are valid.
52316func (s *DeleteNetworkAclInput) Validate() error {
52317	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
52318	if s.NetworkAclId == nil {
52319		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
52320	}
52321
52322	if invalidParams.Len() > 0 {
52323		return invalidParams
52324	}
52325	return nil
52326}
52327
52328// SetDryRun sets the DryRun field's value.
52329func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
52330	s.DryRun = &v
52331	return s
52332}
52333
52334// SetNetworkAclId sets the NetworkAclId field's value.
52335func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
52336	s.NetworkAclId = &v
52337	return s
52338}
52339
52340type DeleteNetworkAclOutput struct {
52341	_ struct{} `type:"structure"`
52342}
52343
52344// String returns the string representation
52345func (s DeleteNetworkAclOutput) String() string {
52346	return awsutil.Prettify(s)
52347}
52348
52349// GoString returns the string representation
52350func (s DeleteNetworkAclOutput) GoString() string {
52351	return s.String()
52352}
52353
52354// Contains the parameters for DeleteNetworkInterface.
52355type DeleteNetworkInterfaceInput struct {
52356	_ struct{} `type:"structure"`
52357
52358	// Checks whether you have the required permissions for the action, without
52359	// actually making the request, and provides an error response. If you have
52360	// the required permissions, the error response is DryRunOperation. Otherwise,
52361	// it is UnauthorizedOperation.
52362	DryRun *bool `locationName:"dryRun" type:"boolean"`
52363
52364	// The ID of the network interface.
52365	//
52366	// NetworkInterfaceId is a required field
52367	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
52368}
52369
52370// String returns the string representation
52371func (s DeleteNetworkInterfaceInput) String() string {
52372	return awsutil.Prettify(s)
52373}
52374
52375// GoString returns the string representation
52376func (s DeleteNetworkInterfaceInput) GoString() string {
52377	return s.String()
52378}
52379
52380// Validate inspects the fields of the type to determine if they are valid.
52381func (s *DeleteNetworkInterfaceInput) Validate() error {
52382	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
52383	if s.NetworkInterfaceId == nil {
52384		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
52385	}
52386
52387	if invalidParams.Len() > 0 {
52388		return invalidParams
52389	}
52390	return nil
52391}
52392
52393// SetDryRun sets the DryRun field's value.
52394func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
52395	s.DryRun = &v
52396	return s
52397}
52398
52399// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
52400func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
52401	s.NetworkInterfaceId = &v
52402	return s
52403}
52404
52405type DeleteNetworkInterfaceOutput struct {
52406	_ struct{} `type:"structure"`
52407}
52408
52409// String returns the string representation
52410func (s DeleteNetworkInterfaceOutput) String() string {
52411	return awsutil.Prettify(s)
52412}
52413
52414// GoString returns the string representation
52415func (s DeleteNetworkInterfaceOutput) GoString() string {
52416	return s.String()
52417}
52418
52419// Contains the parameters for DeleteNetworkInterfacePermission.
52420type DeleteNetworkInterfacePermissionInput struct {
52421	_ struct{} `type:"structure"`
52422
52423	// Checks whether you have the required permissions for the action, without
52424	// actually making the request, and provides an error response. If you have
52425	// the required permissions, the error response is DryRunOperation. Otherwise,
52426	// it is UnauthorizedOperation.
52427	DryRun *bool `type:"boolean"`
52428
52429	// Specify true to remove the permission even if the network interface is attached
52430	// to an instance.
52431	Force *bool `type:"boolean"`
52432
52433	// The ID of the network interface permission.
52434	//
52435	// NetworkInterfacePermissionId is a required field
52436	NetworkInterfacePermissionId *string `type:"string" required:"true"`
52437}
52438
52439// String returns the string representation
52440func (s DeleteNetworkInterfacePermissionInput) String() string {
52441	return awsutil.Prettify(s)
52442}
52443
52444// GoString returns the string representation
52445func (s DeleteNetworkInterfacePermissionInput) GoString() string {
52446	return s.String()
52447}
52448
52449// Validate inspects the fields of the type to determine if they are valid.
52450func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
52451	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
52452	if s.NetworkInterfacePermissionId == nil {
52453		invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
52454	}
52455
52456	if invalidParams.Len() > 0 {
52457		return invalidParams
52458	}
52459	return nil
52460}
52461
52462// SetDryRun sets the DryRun field's value.
52463func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
52464	s.DryRun = &v
52465	return s
52466}
52467
52468// SetForce sets the Force field's value.
52469func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
52470	s.Force = &v
52471	return s
52472}
52473
52474// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
52475func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
52476	s.NetworkInterfacePermissionId = &v
52477	return s
52478}
52479
52480// Contains the output for DeleteNetworkInterfacePermission.
52481type DeleteNetworkInterfacePermissionOutput struct {
52482	_ struct{} `type:"structure"`
52483
52484	// Returns true if the request succeeds, otherwise returns an error.
52485	Return *bool `locationName:"return" type:"boolean"`
52486}
52487
52488// String returns the string representation
52489func (s DeleteNetworkInterfacePermissionOutput) String() string {
52490	return awsutil.Prettify(s)
52491}
52492
52493// GoString returns the string representation
52494func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
52495	return s.String()
52496}
52497
52498// SetReturn sets the Return field's value.
52499func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
52500	s.Return = &v
52501	return s
52502}
52503
52504type DeletePlacementGroupInput struct {
52505	_ struct{} `type:"structure"`
52506
52507	// Checks whether you have the required permissions for the action, without
52508	// actually making the request, and provides an error response. If you have
52509	// the required permissions, the error response is DryRunOperation. Otherwise,
52510	// it is UnauthorizedOperation.
52511	DryRun *bool `locationName:"dryRun" type:"boolean"`
52512
52513	// The name of the placement group.
52514	//
52515	// GroupName is a required field
52516	GroupName *string `locationName:"groupName" type:"string" required:"true"`
52517}
52518
52519// String returns the string representation
52520func (s DeletePlacementGroupInput) String() string {
52521	return awsutil.Prettify(s)
52522}
52523
52524// GoString returns the string representation
52525func (s DeletePlacementGroupInput) GoString() string {
52526	return s.String()
52527}
52528
52529// Validate inspects the fields of the type to determine if they are valid.
52530func (s *DeletePlacementGroupInput) Validate() error {
52531	invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
52532	if s.GroupName == nil {
52533		invalidParams.Add(request.NewErrParamRequired("GroupName"))
52534	}
52535
52536	if invalidParams.Len() > 0 {
52537		return invalidParams
52538	}
52539	return nil
52540}
52541
52542// SetDryRun sets the DryRun field's value.
52543func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
52544	s.DryRun = &v
52545	return s
52546}
52547
52548// SetGroupName sets the GroupName field's value.
52549func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
52550	s.GroupName = &v
52551	return s
52552}
52553
52554type DeletePlacementGroupOutput struct {
52555	_ struct{} `type:"structure"`
52556}
52557
52558// String returns the string representation
52559func (s DeletePlacementGroupOutput) String() string {
52560	return awsutil.Prettify(s)
52561}
52562
52563// GoString returns the string representation
52564func (s DeletePlacementGroupOutput) GoString() string {
52565	return s.String()
52566}
52567
52568// Describes the error for a Reserved Instance whose queued purchase could not
52569// be deleted.
52570type DeleteQueuedReservedInstancesError struct {
52571	_ struct{} `type:"structure"`
52572
52573	// The error code.
52574	Code *string `locationName:"code" type:"string" enum:"DeleteQueuedReservedInstancesErrorCode"`
52575
52576	// The error message.
52577	Message *string `locationName:"message" type:"string"`
52578}
52579
52580// String returns the string representation
52581func (s DeleteQueuedReservedInstancesError) String() string {
52582	return awsutil.Prettify(s)
52583}
52584
52585// GoString returns the string representation
52586func (s DeleteQueuedReservedInstancesError) GoString() string {
52587	return s.String()
52588}
52589
52590// SetCode sets the Code field's value.
52591func (s *DeleteQueuedReservedInstancesError) SetCode(v string) *DeleteQueuedReservedInstancesError {
52592	s.Code = &v
52593	return s
52594}
52595
52596// SetMessage sets the Message field's value.
52597func (s *DeleteQueuedReservedInstancesError) SetMessage(v string) *DeleteQueuedReservedInstancesError {
52598	s.Message = &v
52599	return s
52600}
52601
52602type DeleteQueuedReservedInstancesInput struct {
52603	_ struct{} `type:"structure"`
52604
52605	// Checks whether you have the required permissions for the action, without
52606	// actually making the request, and provides an error response. If you have
52607	// the required permissions, the error response is DryRunOperation. Otherwise,
52608	// it is UnauthorizedOperation.
52609	DryRun *bool `type:"boolean"`
52610
52611	// The IDs of the Reserved Instances.
52612	//
52613	// ReservedInstancesIds is a required field
52614	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"item" min:"1" type:"list" required:"true"`
52615}
52616
52617// String returns the string representation
52618func (s DeleteQueuedReservedInstancesInput) String() string {
52619	return awsutil.Prettify(s)
52620}
52621
52622// GoString returns the string representation
52623func (s DeleteQueuedReservedInstancesInput) GoString() string {
52624	return s.String()
52625}
52626
52627// Validate inspects the fields of the type to determine if they are valid.
52628func (s *DeleteQueuedReservedInstancesInput) Validate() error {
52629	invalidParams := request.ErrInvalidParams{Context: "DeleteQueuedReservedInstancesInput"}
52630	if s.ReservedInstancesIds == nil {
52631		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
52632	}
52633	if s.ReservedInstancesIds != nil && len(s.ReservedInstancesIds) < 1 {
52634		invalidParams.Add(request.NewErrParamMinLen("ReservedInstancesIds", 1))
52635	}
52636
52637	if invalidParams.Len() > 0 {
52638		return invalidParams
52639	}
52640	return nil
52641}
52642
52643// SetDryRun sets the DryRun field's value.
52644func (s *DeleteQueuedReservedInstancesInput) SetDryRun(v bool) *DeleteQueuedReservedInstancesInput {
52645	s.DryRun = &v
52646	return s
52647}
52648
52649// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
52650func (s *DeleteQueuedReservedInstancesInput) SetReservedInstancesIds(v []*string) *DeleteQueuedReservedInstancesInput {
52651	s.ReservedInstancesIds = v
52652	return s
52653}
52654
52655type DeleteQueuedReservedInstancesOutput struct {
52656	_ struct{} `type:"structure"`
52657
52658	// Information about the queued purchases that could not be deleted.
52659	FailedQueuedPurchaseDeletions []*FailedQueuedPurchaseDeletion `locationName:"failedQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"`
52660
52661	// Information about the queued purchases that were successfully deleted.
52662	SuccessfulQueuedPurchaseDeletions []*SuccessfulQueuedPurchaseDeletion `locationName:"successfulQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"`
52663}
52664
52665// String returns the string representation
52666func (s DeleteQueuedReservedInstancesOutput) String() string {
52667	return awsutil.Prettify(s)
52668}
52669
52670// GoString returns the string representation
52671func (s DeleteQueuedReservedInstancesOutput) GoString() string {
52672	return s.String()
52673}
52674
52675// SetFailedQueuedPurchaseDeletions sets the FailedQueuedPurchaseDeletions field's value.
52676func (s *DeleteQueuedReservedInstancesOutput) SetFailedQueuedPurchaseDeletions(v []*FailedQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput {
52677	s.FailedQueuedPurchaseDeletions = v
52678	return s
52679}
52680
52681// SetSuccessfulQueuedPurchaseDeletions sets the SuccessfulQueuedPurchaseDeletions field's value.
52682func (s *DeleteQueuedReservedInstancesOutput) SetSuccessfulQueuedPurchaseDeletions(v []*SuccessfulQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput {
52683	s.SuccessfulQueuedPurchaseDeletions = v
52684	return s
52685}
52686
52687type DeleteRouteInput struct {
52688	_ struct{} `type:"structure"`
52689
52690	// The IPv4 CIDR range for the route. The value you specify must match the CIDR
52691	// for the route exactly.
52692	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
52693
52694	// The IPv6 CIDR range for the route. The value you specify must match the CIDR
52695	// for the route exactly.
52696	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
52697
52698	// Checks whether you have the required permissions for the action, without
52699	// actually making the request, and provides an error response. If you have
52700	// the required permissions, the error response is DryRunOperation. Otherwise,
52701	// it is UnauthorizedOperation.
52702	DryRun *bool `locationName:"dryRun" type:"boolean"`
52703
52704	// The ID of the route table.
52705	//
52706	// RouteTableId is a required field
52707	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
52708}
52709
52710// String returns the string representation
52711func (s DeleteRouteInput) String() string {
52712	return awsutil.Prettify(s)
52713}
52714
52715// GoString returns the string representation
52716func (s DeleteRouteInput) GoString() string {
52717	return s.String()
52718}
52719
52720// Validate inspects the fields of the type to determine if they are valid.
52721func (s *DeleteRouteInput) Validate() error {
52722	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
52723	if s.RouteTableId == nil {
52724		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
52725	}
52726
52727	if invalidParams.Len() > 0 {
52728		return invalidParams
52729	}
52730	return nil
52731}
52732
52733// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
52734func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
52735	s.DestinationCidrBlock = &v
52736	return s
52737}
52738
52739// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
52740func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
52741	s.DestinationIpv6CidrBlock = &v
52742	return s
52743}
52744
52745// SetDryRun sets the DryRun field's value.
52746func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
52747	s.DryRun = &v
52748	return s
52749}
52750
52751// SetRouteTableId sets the RouteTableId field's value.
52752func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
52753	s.RouteTableId = &v
52754	return s
52755}
52756
52757type DeleteRouteOutput struct {
52758	_ struct{} `type:"structure"`
52759}
52760
52761// String returns the string representation
52762func (s DeleteRouteOutput) String() string {
52763	return awsutil.Prettify(s)
52764}
52765
52766// GoString returns the string representation
52767func (s DeleteRouteOutput) GoString() string {
52768	return s.String()
52769}
52770
52771type DeleteRouteTableInput struct {
52772	_ struct{} `type:"structure"`
52773
52774	// Checks whether you have the required permissions for the action, without
52775	// actually making the request, and provides an error response. If you have
52776	// the required permissions, the error response is DryRunOperation. Otherwise,
52777	// it is UnauthorizedOperation.
52778	DryRun *bool `locationName:"dryRun" type:"boolean"`
52779
52780	// The ID of the route table.
52781	//
52782	// RouteTableId is a required field
52783	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
52784}
52785
52786// String returns the string representation
52787func (s DeleteRouteTableInput) String() string {
52788	return awsutil.Prettify(s)
52789}
52790
52791// GoString returns the string representation
52792func (s DeleteRouteTableInput) GoString() string {
52793	return s.String()
52794}
52795
52796// Validate inspects the fields of the type to determine if they are valid.
52797func (s *DeleteRouteTableInput) Validate() error {
52798	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
52799	if s.RouteTableId == nil {
52800		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
52801	}
52802
52803	if invalidParams.Len() > 0 {
52804		return invalidParams
52805	}
52806	return nil
52807}
52808
52809// SetDryRun sets the DryRun field's value.
52810func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
52811	s.DryRun = &v
52812	return s
52813}
52814
52815// SetRouteTableId sets the RouteTableId field's value.
52816func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
52817	s.RouteTableId = &v
52818	return s
52819}
52820
52821type DeleteRouteTableOutput struct {
52822	_ struct{} `type:"structure"`
52823}
52824
52825// String returns the string representation
52826func (s DeleteRouteTableOutput) String() string {
52827	return awsutil.Prettify(s)
52828}
52829
52830// GoString returns the string representation
52831func (s DeleteRouteTableOutput) GoString() string {
52832	return s.String()
52833}
52834
52835type DeleteSecurityGroupInput struct {
52836	_ struct{} `type:"structure"`
52837
52838	// Checks whether you have the required permissions for the action, without
52839	// actually making the request, and provides an error response. If you have
52840	// the required permissions, the error response is DryRunOperation. Otherwise,
52841	// it is UnauthorizedOperation.
52842	DryRun *bool `locationName:"dryRun" type:"boolean"`
52843
52844	// The ID of the security group. Required for a nondefault VPC.
52845	GroupId *string `type:"string"`
52846
52847	// [EC2-Classic, default VPC] The name of the security group. You can specify
52848	// either the security group name or the security group ID.
52849	GroupName *string `type:"string"`
52850}
52851
52852// String returns the string representation
52853func (s DeleteSecurityGroupInput) String() string {
52854	return awsutil.Prettify(s)
52855}
52856
52857// GoString returns the string representation
52858func (s DeleteSecurityGroupInput) GoString() string {
52859	return s.String()
52860}
52861
52862// SetDryRun sets the DryRun field's value.
52863func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
52864	s.DryRun = &v
52865	return s
52866}
52867
52868// SetGroupId sets the GroupId field's value.
52869func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
52870	s.GroupId = &v
52871	return s
52872}
52873
52874// SetGroupName sets the GroupName field's value.
52875func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
52876	s.GroupName = &v
52877	return s
52878}
52879
52880type DeleteSecurityGroupOutput struct {
52881	_ struct{} `type:"structure"`
52882}
52883
52884// String returns the string representation
52885func (s DeleteSecurityGroupOutput) String() string {
52886	return awsutil.Prettify(s)
52887}
52888
52889// GoString returns the string representation
52890func (s DeleteSecurityGroupOutput) GoString() string {
52891	return s.String()
52892}
52893
52894type DeleteSnapshotInput struct {
52895	_ struct{} `type:"structure"`
52896
52897	// Checks whether you have the required permissions for the action, without
52898	// actually making the request, and provides an error response. If you have
52899	// the required permissions, the error response is DryRunOperation. Otherwise,
52900	// it is UnauthorizedOperation.
52901	DryRun *bool `locationName:"dryRun" type:"boolean"`
52902
52903	// The ID of the EBS snapshot.
52904	//
52905	// SnapshotId is a required field
52906	SnapshotId *string `type:"string" required:"true"`
52907}
52908
52909// String returns the string representation
52910func (s DeleteSnapshotInput) String() string {
52911	return awsutil.Prettify(s)
52912}
52913
52914// GoString returns the string representation
52915func (s DeleteSnapshotInput) GoString() string {
52916	return s.String()
52917}
52918
52919// Validate inspects the fields of the type to determine if they are valid.
52920func (s *DeleteSnapshotInput) Validate() error {
52921	invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
52922	if s.SnapshotId == nil {
52923		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
52924	}
52925
52926	if invalidParams.Len() > 0 {
52927		return invalidParams
52928	}
52929	return nil
52930}
52931
52932// SetDryRun sets the DryRun field's value.
52933func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
52934	s.DryRun = &v
52935	return s
52936}
52937
52938// SetSnapshotId sets the SnapshotId field's value.
52939func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
52940	s.SnapshotId = &v
52941	return s
52942}
52943
52944type DeleteSnapshotOutput struct {
52945	_ struct{} `type:"structure"`
52946}
52947
52948// String returns the string representation
52949func (s DeleteSnapshotOutput) String() string {
52950	return awsutil.Prettify(s)
52951}
52952
52953// GoString returns the string representation
52954func (s DeleteSnapshotOutput) GoString() string {
52955	return s.String()
52956}
52957
52958// Contains the parameters for DeleteSpotDatafeedSubscription.
52959type DeleteSpotDatafeedSubscriptionInput struct {
52960	_ struct{} `type:"structure"`
52961
52962	// Checks whether you have the required permissions for the action, without
52963	// actually making the request, and provides an error response. If you have
52964	// the required permissions, the error response is DryRunOperation. Otherwise,
52965	// it is UnauthorizedOperation.
52966	DryRun *bool `locationName:"dryRun" type:"boolean"`
52967}
52968
52969// String returns the string representation
52970func (s DeleteSpotDatafeedSubscriptionInput) String() string {
52971	return awsutil.Prettify(s)
52972}
52973
52974// GoString returns the string representation
52975func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
52976	return s.String()
52977}
52978
52979// SetDryRun sets the DryRun field's value.
52980func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
52981	s.DryRun = &v
52982	return s
52983}
52984
52985type DeleteSpotDatafeedSubscriptionOutput struct {
52986	_ struct{} `type:"structure"`
52987}
52988
52989// String returns the string representation
52990func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
52991	return awsutil.Prettify(s)
52992}
52993
52994// GoString returns the string representation
52995func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
52996	return s.String()
52997}
52998
52999type DeleteSubnetInput struct {
53000	_ struct{} `type:"structure"`
53001
53002	// Checks whether you have the required permissions for the action, without
53003	// actually making the request, and provides an error response. If you have
53004	// the required permissions, the error response is DryRunOperation. Otherwise,
53005	// it is UnauthorizedOperation.
53006	DryRun *bool `locationName:"dryRun" type:"boolean"`
53007
53008	// The ID of the subnet.
53009	//
53010	// SubnetId is a required field
53011	SubnetId *string `type:"string" required:"true"`
53012}
53013
53014// String returns the string representation
53015func (s DeleteSubnetInput) String() string {
53016	return awsutil.Prettify(s)
53017}
53018
53019// GoString returns the string representation
53020func (s DeleteSubnetInput) GoString() string {
53021	return s.String()
53022}
53023
53024// Validate inspects the fields of the type to determine if they are valid.
53025func (s *DeleteSubnetInput) Validate() error {
53026	invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
53027	if s.SubnetId == nil {
53028		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
53029	}
53030
53031	if invalidParams.Len() > 0 {
53032		return invalidParams
53033	}
53034	return nil
53035}
53036
53037// SetDryRun sets the DryRun field's value.
53038func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
53039	s.DryRun = &v
53040	return s
53041}
53042
53043// SetSubnetId sets the SubnetId field's value.
53044func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
53045	s.SubnetId = &v
53046	return s
53047}
53048
53049type DeleteSubnetOutput struct {
53050	_ struct{} `type:"structure"`
53051}
53052
53053// String returns the string representation
53054func (s DeleteSubnetOutput) String() string {
53055	return awsutil.Prettify(s)
53056}
53057
53058// GoString returns the string representation
53059func (s DeleteSubnetOutput) GoString() string {
53060	return s.String()
53061}
53062
53063type DeleteTagsInput struct {
53064	_ struct{} `type:"structure"`
53065
53066	// Checks whether you have the required permissions for the action, without
53067	// actually making the request, and provides an error response. If you have
53068	// the required permissions, the error response is DryRunOperation. Otherwise,
53069	// it is UnauthorizedOperation.
53070	DryRun *bool `locationName:"dryRun" type:"boolean"`
53071
53072	// The IDs of the resources, separated by spaces.
53073	//
53074	// Constraints: Up to 1000 resource IDs. We recommend breaking up this request
53075	// into smaller batches.
53076	//
53077	// Resources is a required field
53078	Resources []*string `locationName:"resourceId" type:"list" required:"true"`
53079
53080	// The tags to delete. Specify a tag key and an optional tag value to delete
53081	// specific tags. If you specify a tag key without a tag value, we delete any
53082	// tag with this key regardless of its value. If you specify a tag key with
53083	// an empty string as the tag value, we delete the tag only if its value is
53084	// an empty string.
53085	//
53086	// If you omit this parameter, we delete all user-defined tags for the specified
53087	// resources. We do not delete AWS-generated tags (tags that have the aws: prefix).
53088	Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
53089}
53090
53091// String returns the string representation
53092func (s DeleteTagsInput) String() string {
53093	return awsutil.Prettify(s)
53094}
53095
53096// GoString returns the string representation
53097func (s DeleteTagsInput) GoString() string {
53098	return s.String()
53099}
53100
53101// Validate inspects the fields of the type to determine if they are valid.
53102func (s *DeleteTagsInput) Validate() error {
53103	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
53104	if s.Resources == nil {
53105		invalidParams.Add(request.NewErrParamRequired("Resources"))
53106	}
53107
53108	if invalidParams.Len() > 0 {
53109		return invalidParams
53110	}
53111	return nil
53112}
53113
53114// SetDryRun sets the DryRun field's value.
53115func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
53116	s.DryRun = &v
53117	return s
53118}
53119
53120// SetResources sets the Resources field's value.
53121func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
53122	s.Resources = v
53123	return s
53124}
53125
53126// SetTags sets the Tags field's value.
53127func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
53128	s.Tags = v
53129	return s
53130}
53131
53132type DeleteTagsOutput struct {
53133	_ struct{} `type:"structure"`
53134}
53135
53136// String returns the string representation
53137func (s DeleteTagsOutput) String() string {
53138	return awsutil.Prettify(s)
53139}
53140
53141// GoString returns the string representation
53142func (s DeleteTagsOutput) GoString() string {
53143	return s.String()
53144}
53145
53146type DeleteTrafficMirrorFilterInput struct {
53147	_ struct{} `type:"structure"`
53148
53149	// Checks whether you have the required permissions for the action, without
53150	// actually making the request, and provides an error response. If you have
53151	// the required permissions, the error response is DryRunOperation. Otherwise,
53152	// it is UnauthorizedOperation.
53153	DryRun *bool `type:"boolean"`
53154
53155	// The ID of the Traffic Mirror filter.
53156	//
53157	// TrafficMirrorFilterId is a required field
53158	TrafficMirrorFilterId *string `type:"string" required:"true"`
53159}
53160
53161// String returns the string representation
53162func (s DeleteTrafficMirrorFilterInput) String() string {
53163	return awsutil.Prettify(s)
53164}
53165
53166// GoString returns the string representation
53167func (s DeleteTrafficMirrorFilterInput) GoString() string {
53168	return s.String()
53169}
53170
53171// Validate inspects the fields of the type to determine if they are valid.
53172func (s *DeleteTrafficMirrorFilterInput) Validate() error {
53173	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterInput"}
53174	if s.TrafficMirrorFilterId == nil {
53175		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
53176	}
53177
53178	if invalidParams.Len() > 0 {
53179		return invalidParams
53180	}
53181	return nil
53182}
53183
53184// SetDryRun sets the DryRun field's value.
53185func (s *DeleteTrafficMirrorFilterInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterInput {
53186	s.DryRun = &v
53187	return s
53188}
53189
53190// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
53191func (s *DeleteTrafficMirrorFilterInput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterInput {
53192	s.TrafficMirrorFilterId = &v
53193	return s
53194}
53195
53196type DeleteTrafficMirrorFilterOutput struct {
53197	_ struct{} `type:"structure"`
53198
53199	// The ID of the Traffic Mirror filter.
53200	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
53201}
53202
53203// String returns the string representation
53204func (s DeleteTrafficMirrorFilterOutput) String() string {
53205	return awsutil.Prettify(s)
53206}
53207
53208// GoString returns the string representation
53209func (s DeleteTrafficMirrorFilterOutput) GoString() string {
53210	return s.String()
53211}
53212
53213// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
53214func (s *DeleteTrafficMirrorFilterOutput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterOutput {
53215	s.TrafficMirrorFilterId = &v
53216	return s
53217}
53218
53219type DeleteTrafficMirrorFilterRuleInput struct {
53220	_ struct{} `type:"structure"`
53221
53222	// Checks whether you have the required permissions for the action, without
53223	// actually making the request, and provides an error response. If you have
53224	// the required permissions, the error response is DryRunOperation. Otherwise,
53225	// it is UnauthorizedOperation.
53226	DryRun *bool `type:"boolean"`
53227
53228	// The ID of the Traffic Mirror rule.
53229	//
53230	// TrafficMirrorFilterRuleId is a required field
53231	TrafficMirrorFilterRuleId *string `type:"string" required:"true"`
53232}
53233
53234// String returns the string representation
53235func (s DeleteTrafficMirrorFilterRuleInput) String() string {
53236	return awsutil.Prettify(s)
53237}
53238
53239// GoString returns the string representation
53240func (s DeleteTrafficMirrorFilterRuleInput) GoString() string {
53241	return s.String()
53242}
53243
53244// Validate inspects the fields of the type to determine if they are valid.
53245func (s *DeleteTrafficMirrorFilterRuleInput) Validate() error {
53246	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterRuleInput"}
53247	if s.TrafficMirrorFilterRuleId == nil {
53248		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId"))
53249	}
53250
53251	if invalidParams.Len() > 0 {
53252		return invalidParams
53253	}
53254	return nil
53255}
53256
53257// SetDryRun sets the DryRun field's value.
53258func (s *DeleteTrafficMirrorFilterRuleInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterRuleInput {
53259	s.DryRun = &v
53260	return s
53261}
53262
53263// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
53264func (s *DeleteTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleInput {
53265	s.TrafficMirrorFilterRuleId = &v
53266	return s
53267}
53268
53269type DeleteTrafficMirrorFilterRuleOutput struct {
53270	_ struct{} `type:"structure"`
53271
53272	// The ID of the deleted Traffic Mirror rule.
53273	TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"`
53274}
53275
53276// String returns the string representation
53277func (s DeleteTrafficMirrorFilterRuleOutput) String() string {
53278	return awsutil.Prettify(s)
53279}
53280
53281// GoString returns the string representation
53282func (s DeleteTrafficMirrorFilterRuleOutput) GoString() string {
53283	return s.String()
53284}
53285
53286// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
53287func (s *DeleteTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleOutput {
53288	s.TrafficMirrorFilterRuleId = &v
53289	return s
53290}
53291
53292type DeleteTrafficMirrorSessionInput struct {
53293	_ struct{} `type:"structure"`
53294
53295	// Checks whether you have the required permissions for the action, without
53296	// actually making the request, and provides an error response. If you have
53297	// the required permissions, the error response is DryRunOperation. Otherwise,
53298	// it is UnauthorizedOperation.
53299	DryRun *bool `type:"boolean"`
53300
53301	// The ID of the Traffic Mirror session.
53302	//
53303	// TrafficMirrorSessionId is a required field
53304	TrafficMirrorSessionId *string `type:"string" required:"true"`
53305}
53306
53307// String returns the string representation
53308func (s DeleteTrafficMirrorSessionInput) String() string {
53309	return awsutil.Prettify(s)
53310}
53311
53312// GoString returns the string representation
53313func (s DeleteTrafficMirrorSessionInput) GoString() string {
53314	return s.String()
53315}
53316
53317// Validate inspects the fields of the type to determine if they are valid.
53318func (s *DeleteTrafficMirrorSessionInput) Validate() error {
53319	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorSessionInput"}
53320	if s.TrafficMirrorSessionId == nil {
53321		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId"))
53322	}
53323
53324	if invalidParams.Len() > 0 {
53325		return invalidParams
53326	}
53327	return nil
53328}
53329
53330// SetDryRun sets the DryRun field's value.
53331func (s *DeleteTrafficMirrorSessionInput) SetDryRun(v bool) *DeleteTrafficMirrorSessionInput {
53332	s.DryRun = &v
53333	return s
53334}
53335
53336// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
53337func (s *DeleteTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionInput {
53338	s.TrafficMirrorSessionId = &v
53339	return s
53340}
53341
53342type DeleteTrafficMirrorSessionOutput struct {
53343	_ struct{} `type:"structure"`
53344
53345	// The ID of the deleted Traffic Mirror session.
53346	TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"`
53347}
53348
53349// String returns the string representation
53350func (s DeleteTrafficMirrorSessionOutput) String() string {
53351	return awsutil.Prettify(s)
53352}
53353
53354// GoString returns the string representation
53355func (s DeleteTrafficMirrorSessionOutput) GoString() string {
53356	return s.String()
53357}
53358
53359// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
53360func (s *DeleteTrafficMirrorSessionOutput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionOutput {
53361	s.TrafficMirrorSessionId = &v
53362	return s
53363}
53364
53365type DeleteTrafficMirrorTargetInput struct {
53366	_ struct{} `type:"structure"`
53367
53368	// Checks whether you have the required permissions for the action, without
53369	// actually making the request, and provides an error response. If you have
53370	// the required permissions, the error response is DryRunOperation. Otherwise,
53371	// it is UnauthorizedOperation.
53372	DryRun *bool `type:"boolean"`
53373
53374	// The ID of the Traffic Mirror target.
53375	//
53376	// TrafficMirrorTargetId is a required field
53377	TrafficMirrorTargetId *string `type:"string" required:"true"`
53378}
53379
53380// String returns the string representation
53381func (s DeleteTrafficMirrorTargetInput) String() string {
53382	return awsutil.Prettify(s)
53383}
53384
53385// GoString returns the string representation
53386func (s DeleteTrafficMirrorTargetInput) GoString() string {
53387	return s.String()
53388}
53389
53390// Validate inspects the fields of the type to determine if they are valid.
53391func (s *DeleteTrafficMirrorTargetInput) Validate() error {
53392	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorTargetInput"}
53393	if s.TrafficMirrorTargetId == nil {
53394		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId"))
53395	}
53396
53397	if invalidParams.Len() > 0 {
53398		return invalidParams
53399	}
53400	return nil
53401}
53402
53403// SetDryRun sets the DryRun field's value.
53404func (s *DeleteTrafficMirrorTargetInput) SetDryRun(v bool) *DeleteTrafficMirrorTargetInput {
53405	s.DryRun = &v
53406	return s
53407}
53408
53409// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
53410func (s *DeleteTrafficMirrorTargetInput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetInput {
53411	s.TrafficMirrorTargetId = &v
53412	return s
53413}
53414
53415type DeleteTrafficMirrorTargetOutput struct {
53416	_ struct{} `type:"structure"`
53417
53418	// The ID of the deleted Traffic Mirror target.
53419	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
53420}
53421
53422// String returns the string representation
53423func (s DeleteTrafficMirrorTargetOutput) String() string {
53424	return awsutil.Prettify(s)
53425}
53426
53427// GoString returns the string representation
53428func (s DeleteTrafficMirrorTargetOutput) GoString() string {
53429	return s.String()
53430}
53431
53432// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
53433func (s *DeleteTrafficMirrorTargetOutput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetOutput {
53434	s.TrafficMirrorTargetId = &v
53435	return s
53436}
53437
53438type DeleteTransitGatewayInput struct {
53439	_ struct{} `type:"structure"`
53440
53441	// Checks whether you have the required permissions for the action, without
53442	// actually making the request, and provides an error response. If you have
53443	// the required permissions, the error response is DryRunOperation. Otherwise,
53444	// it is UnauthorizedOperation.
53445	DryRun *bool `type:"boolean"`
53446
53447	// The ID of the transit gateway.
53448	//
53449	// TransitGatewayId is a required field
53450	TransitGatewayId *string `type:"string" required:"true"`
53451}
53452
53453// String returns the string representation
53454func (s DeleteTransitGatewayInput) String() string {
53455	return awsutil.Prettify(s)
53456}
53457
53458// GoString returns the string representation
53459func (s DeleteTransitGatewayInput) GoString() string {
53460	return s.String()
53461}
53462
53463// Validate inspects the fields of the type to determine if they are valid.
53464func (s *DeleteTransitGatewayInput) Validate() error {
53465	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayInput"}
53466	if s.TransitGatewayId == nil {
53467		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
53468	}
53469
53470	if invalidParams.Len() > 0 {
53471		return invalidParams
53472	}
53473	return nil
53474}
53475
53476// SetDryRun sets the DryRun field's value.
53477func (s *DeleteTransitGatewayInput) SetDryRun(v bool) *DeleteTransitGatewayInput {
53478	s.DryRun = &v
53479	return s
53480}
53481
53482// SetTransitGatewayId sets the TransitGatewayId field's value.
53483func (s *DeleteTransitGatewayInput) SetTransitGatewayId(v string) *DeleteTransitGatewayInput {
53484	s.TransitGatewayId = &v
53485	return s
53486}
53487
53488type DeleteTransitGatewayMulticastDomainInput struct {
53489	_ struct{} `type:"structure"`
53490
53491	// Checks whether you have the required permissions for the action, without
53492	// actually making the request, and provides an error response. If you have
53493	// the required permissions, the error response is DryRunOperation. Otherwise,
53494	// it is UnauthorizedOperation.
53495	DryRun *bool `type:"boolean"`
53496
53497	// The ID of the transit gateway multicast domain.
53498	//
53499	// TransitGatewayMulticastDomainId is a required field
53500	TransitGatewayMulticastDomainId *string `type:"string" required:"true"`
53501}
53502
53503// String returns the string representation
53504func (s DeleteTransitGatewayMulticastDomainInput) String() string {
53505	return awsutil.Prettify(s)
53506}
53507
53508// GoString returns the string representation
53509func (s DeleteTransitGatewayMulticastDomainInput) GoString() string {
53510	return s.String()
53511}
53512
53513// Validate inspects the fields of the type to determine if they are valid.
53514func (s *DeleteTransitGatewayMulticastDomainInput) Validate() error {
53515	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayMulticastDomainInput"}
53516	if s.TransitGatewayMulticastDomainId == nil {
53517		invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId"))
53518	}
53519
53520	if invalidParams.Len() > 0 {
53521		return invalidParams
53522	}
53523	return nil
53524}
53525
53526// SetDryRun sets the DryRun field's value.
53527func (s *DeleteTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DeleteTransitGatewayMulticastDomainInput {
53528	s.DryRun = &v
53529	return s
53530}
53531
53532// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
53533func (s *DeleteTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DeleteTransitGatewayMulticastDomainInput {
53534	s.TransitGatewayMulticastDomainId = &v
53535	return s
53536}
53537
53538type DeleteTransitGatewayMulticastDomainOutput struct {
53539	_ struct{} `type:"structure"`
53540
53541	// Information about the deleted transit gateway multicast domain.
53542	TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
53543}
53544
53545// String returns the string representation
53546func (s DeleteTransitGatewayMulticastDomainOutput) String() string {
53547	return awsutil.Prettify(s)
53548}
53549
53550// GoString returns the string representation
53551func (s DeleteTransitGatewayMulticastDomainOutput) GoString() string {
53552	return s.String()
53553}
53554
53555// SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
53556func (s *DeleteTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *DeleteTransitGatewayMulticastDomainOutput {
53557	s.TransitGatewayMulticastDomain = v
53558	return s
53559}
53560
53561type DeleteTransitGatewayOutput struct {
53562	_ struct{} `type:"structure"`
53563
53564	// Information about the deleted transit gateway.
53565	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
53566}
53567
53568// String returns the string representation
53569func (s DeleteTransitGatewayOutput) String() string {
53570	return awsutil.Prettify(s)
53571}
53572
53573// GoString returns the string representation
53574func (s DeleteTransitGatewayOutput) GoString() string {
53575	return s.String()
53576}
53577
53578// SetTransitGateway sets the TransitGateway field's value.
53579func (s *DeleteTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *DeleteTransitGatewayOutput {
53580	s.TransitGateway = v
53581	return s
53582}
53583
53584type DeleteTransitGatewayPeeringAttachmentInput struct {
53585	_ struct{} `type:"structure"`
53586
53587	// Checks whether you have the required permissions for the action, without
53588	// actually making the request, and provides an error response. If you have
53589	// the required permissions, the error response is DryRunOperation. Otherwise,
53590	// it is UnauthorizedOperation.
53591	DryRun *bool `type:"boolean"`
53592
53593	// The ID of the transit gateway peering attachment.
53594	//
53595	// TransitGatewayAttachmentId is a required field
53596	TransitGatewayAttachmentId *string `type:"string" required:"true"`
53597}
53598
53599// String returns the string representation
53600func (s DeleteTransitGatewayPeeringAttachmentInput) String() string {
53601	return awsutil.Prettify(s)
53602}
53603
53604// GoString returns the string representation
53605func (s DeleteTransitGatewayPeeringAttachmentInput) GoString() string {
53606	return s.String()
53607}
53608
53609// Validate inspects the fields of the type to determine if they are valid.
53610func (s *DeleteTransitGatewayPeeringAttachmentInput) Validate() error {
53611	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayPeeringAttachmentInput"}
53612	if s.TransitGatewayAttachmentId == nil {
53613		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
53614	}
53615
53616	if invalidParams.Len() > 0 {
53617		return invalidParams
53618	}
53619	return nil
53620}
53621
53622// SetDryRun sets the DryRun field's value.
53623func (s *DeleteTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayPeeringAttachmentInput {
53624	s.DryRun = &v
53625	return s
53626}
53627
53628// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
53629func (s *DeleteTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayPeeringAttachmentInput {
53630	s.TransitGatewayAttachmentId = &v
53631	return s
53632}
53633
53634type DeleteTransitGatewayPeeringAttachmentOutput struct {
53635	_ struct{} `type:"structure"`
53636
53637	// The transit gateway peering attachment.
53638	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
53639}
53640
53641// String returns the string representation
53642func (s DeleteTransitGatewayPeeringAttachmentOutput) String() string {
53643	return awsutil.Prettify(s)
53644}
53645
53646// GoString returns the string representation
53647func (s DeleteTransitGatewayPeeringAttachmentOutput) GoString() string {
53648	return s.String()
53649}
53650
53651// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
53652func (s *DeleteTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *DeleteTransitGatewayPeeringAttachmentOutput {
53653	s.TransitGatewayPeeringAttachment = v
53654	return s
53655}
53656
53657type DeleteTransitGatewayRouteInput struct {
53658	_ struct{} `type:"structure"`
53659
53660	// The CIDR range for the route. This must match the CIDR for the route exactly.
53661	//
53662	// DestinationCidrBlock is a required field
53663	DestinationCidrBlock *string `type:"string" required:"true"`
53664
53665	// Checks whether you have the required permissions for the action, without
53666	// actually making the request, and provides an error response. If you have
53667	// the required permissions, the error response is DryRunOperation. Otherwise,
53668	// it is UnauthorizedOperation.
53669	DryRun *bool `type:"boolean"`
53670
53671	// The ID of the transit gateway route table.
53672	//
53673	// TransitGatewayRouteTableId is a required field
53674	TransitGatewayRouteTableId *string `type:"string" required:"true"`
53675}
53676
53677// String returns the string representation
53678func (s DeleteTransitGatewayRouteInput) String() string {
53679	return awsutil.Prettify(s)
53680}
53681
53682// GoString returns the string representation
53683func (s DeleteTransitGatewayRouteInput) GoString() string {
53684	return s.String()
53685}
53686
53687// Validate inspects the fields of the type to determine if they are valid.
53688func (s *DeleteTransitGatewayRouteInput) Validate() error {
53689	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteInput"}
53690	if s.DestinationCidrBlock == nil {
53691		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
53692	}
53693	if s.TransitGatewayRouteTableId == nil {
53694		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
53695	}
53696
53697	if invalidParams.Len() > 0 {
53698		return invalidParams
53699	}
53700	return nil
53701}
53702
53703// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
53704func (s *DeleteTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteTransitGatewayRouteInput {
53705	s.DestinationCidrBlock = &v
53706	return s
53707}
53708
53709// SetDryRun sets the DryRun field's value.
53710func (s *DeleteTransitGatewayRouteInput) SetDryRun(v bool) *DeleteTransitGatewayRouteInput {
53711	s.DryRun = &v
53712	return s
53713}
53714
53715// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
53716func (s *DeleteTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteInput {
53717	s.TransitGatewayRouteTableId = &v
53718	return s
53719}
53720
53721type DeleteTransitGatewayRouteOutput struct {
53722	_ struct{} `type:"structure"`
53723
53724	// Information about the route.
53725	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
53726}
53727
53728// String returns the string representation
53729func (s DeleteTransitGatewayRouteOutput) String() string {
53730	return awsutil.Prettify(s)
53731}
53732
53733// GoString returns the string representation
53734func (s DeleteTransitGatewayRouteOutput) GoString() string {
53735	return s.String()
53736}
53737
53738// SetRoute sets the Route field's value.
53739func (s *DeleteTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *DeleteTransitGatewayRouteOutput {
53740	s.Route = v
53741	return s
53742}
53743
53744type DeleteTransitGatewayRouteTableInput struct {
53745	_ struct{} `type:"structure"`
53746
53747	// Checks whether you have the required permissions for the action, without
53748	// actually making the request, and provides an error response. If you have
53749	// the required permissions, the error response is DryRunOperation. Otherwise,
53750	// it is UnauthorizedOperation.
53751	DryRun *bool `type:"boolean"`
53752
53753	// The ID of the transit gateway route table.
53754	//
53755	// TransitGatewayRouteTableId is a required field
53756	TransitGatewayRouteTableId *string `type:"string" required:"true"`
53757}
53758
53759// String returns the string representation
53760func (s DeleteTransitGatewayRouteTableInput) String() string {
53761	return awsutil.Prettify(s)
53762}
53763
53764// GoString returns the string representation
53765func (s DeleteTransitGatewayRouteTableInput) GoString() string {
53766	return s.String()
53767}
53768
53769// Validate inspects the fields of the type to determine if they are valid.
53770func (s *DeleteTransitGatewayRouteTableInput) Validate() error {
53771	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteTableInput"}
53772	if s.TransitGatewayRouteTableId == nil {
53773		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
53774	}
53775
53776	if invalidParams.Len() > 0 {
53777		return invalidParams
53778	}
53779	return nil
53780}
53781
53782// SetDryRun sets the DryRun field's value.
53783func (s *DeleteTransitGatewayRouteTableInput) SetDryRun(v bool) *DeleteTransitGatewayRouteTableInput {
53784	s.DryRun = &v
53785	return s
53786}
53787
53788// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
53789func (s *DeleteTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteTableInput {
53790	s.TransitGatewayRouteTableId = &v
53791	return s
53792}
53793
53794type DeleteTransitGatewayRouteTableOutput struct {
53795	_ struct{} `type:"structure"`
53796
53797	// Information about the deleted transit gateway route table.
53798	TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
53799}
53800
53801// String returns the string representation
53802func (s DeleteTransitGatewayRouteTableOutput) String() string {
53803	return awsutil.Prettify(s)
53804}
53805
53806// GoString returns the string representation
53807func (s DeleteTransitGatewayRouteTableOutput) GoString() string {
53808	return s.String()
53809}
53810
53811// SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
53812func (s *DeleteTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *DeleteTransitGatewayRouteTableOutput {
53813	s.TransitGatewayRouteTable = v
53814	return s
53815}
53816
53817type DeleteTransitGatewayVpcAttachmentInput struct {
53818	_ struct{} `type:"structure"`
53819
53820	// Checks whether you have the required permissions for the action, without
53821	// actually making the request, and provides an error response. If you have
53822	// the required permissions, the error response is DryRunOperation. Otherwise,
53823	// it is UnauthorizedOperation.
53824	DryRun *bool `type:"boolean"`
53825
53826	// The ID of the attachment.
53827	//
53828	// TransitGatewayAttachmentId is a required field
53829	TransitGatewayAttachmentId *string `type:"string" required:"true"`
53830}
53831
53832// String returns the string representation
53833func (s DeleteTransitGatewayVpcAttachmentInput) String() string {
53834	return awsutil.Prettify(s)
53835}
53836
53837// GoString returns the string representation
53838func (s DeleteTransitGatewayVpcAttachmentInput) GoString() string {
53839	return s.String()
53840}
53841
53842// Validate inspects the fields of the type to determine if they are valid.
53843func (s *DeleteTransitGatewayVpcAttachmentInput) Validate() error {
53844	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayVpcAttachmentInput"}
53845	if s.TransitGatewayAttachmentId == nil {
53846		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
53847	}
53848
53849	if invalidParams.Len() > 0 {
53850		return invalidParams
53851	}
53852	return nil
53853}
53854
53855// SetDryRun sets the DryRun field's value.
53856func (s *DeleteTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayVpcAttachmentInput {
53857	s.DryRun = &v
53858	return s
53859}
53860
53861// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
53862func (s *DeleteTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayVpcAttachmentInput {
53863	s.TransitGatewayAttachmentId = &v
53864	return s
53865}
53866
53867type DeleteTransitGatewayVpcAttachmentOutput struct {
53868	_ struct{} `type:"structure"`
53869
53870	// Information about the deleted VPC attachment.
53871	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
53872}
53873
53874// String returns the string representation
53875func (s DeleteTransitGatewayVpcAttachmentOutput) String() string {
53876	return awsutil.Prettify(s)
53877}
53878
53879// GoString returns the string representation
53880func (s DeleteTransitGatewayVpcAttachmentOutput) GoString() string {
53881	return s.String()
53882}
53883
53884// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
53885func (s *DeleteTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *DeleteTransitGatewayVpcAttachmentOutput {
53886	s.TransitGatewayVpcAttachment = v
53887	return s
53888}
53889
53890type DeleteVolumeInput struct {
53891	_ struct{} `type:"structure"`
53892
53893	// Checks whether you have the required permissions for the action, without
53894	// actually making the request, and provides an error response. If you have
53895	// the required permissions, the error response is DryRunOperation. Otherwise,
53896	// it is UnauthorizedOperation.
53897	DryRun *bool `locationName:"dryRun" type:"boolean"`
53898
53899	// The ID of the volume.
53900	//
53901	// VolumeId is a required field
53902	VolumeId *string `type:"string" required:"true"`
53903}
53904
53905// String returns the string representation
53906func (s DeleteVolumeInput) String() string {
53907	return awsutil.Prettify(s)
53908}
53909
53910// GoString returns the string representation
53911func (s DeleteVolumeInput) GoString() string {
53912	return s.String()
53913}
53914
53915// Validate inspects the fields of the type to determine if they are valid.
53916func (s *DeleteVolumeInput) Validate() error {
53917	invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
53918	if s.VolumeId == nil {
53919		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
53920	}
53921
53922	if invalidParams.Len() > 0 {
53923		return invalidParams
53924	}
53925	return nil
53926}
53927
53928// SetDryRun sets the DryRun field's value.
53929func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
53930	s.DryRun = &v
53931	return s
53932}
53933
53934// SetVolumeId sets the VolumeId field's value.
53935func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
53936	s.VolumeId = &v
53937	return s
53938}
53939
53940type DeleteVolumeOutput struct {
53941	_ struct{} `type:"structure"`
53942}
53943
53944// String returns the string representation
53945func (s DeleteVolumeOutput) String() string {
53946	return awsutil.Prettify(s)
53947}
53948
53949// GoString returns the string representation
53950func (s DeleteVolumeOutput) GoString() string {
53951	return s.String()
53952}
53953
53954type DeleteVpcEndpointConnectionNotificationsInput struct {
53955	_ struct{} `type:"structure"`
53956
53957	// One or more notification IDs.
53958	//
53959	// ConnectionNotificationIds is a required field
53960	ConnectionNotificationIds []*string `locationName:"ConnectionNotificationId" locationNameList:"item" type:"list" required:"true"`
53961
53962	// Checks whether you have the required permissions for the action, without
53963	// actually making the request, and provides an error response. If you have
53964	// the required permissions, the error response is DryRunOperation. Otherwise,
53965	// it is UnauthorizedOperation.
53966	DryRun *bool `type:"boolean"`
53967}
53968
53969// String returns the string representation
53970func (s DeleteVpcEndpointConnectionNotificationsInput) String() string {
53971	return awsutil.Prettify(s)
53972}
53973
53974// GoString returns the string representation
53975func (s DeleteVpcEndpointConnectionNotificationsInput) GoString() string {
53976	return s.String()
53977}
53978
53979// Validate inspects the fields of the type to determine if they are valid.
53980func (s *DeleteVpcEndpointConnectionNotificationsInput) Validate() error {
53981	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointConnectionNotificationsInput"}
53982	if s.ConnectionNotificationIds == nil {
53983		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationIds"))
53984	}
53985
53986	if invalidParams.Len() > 0 {
53987		return invalidParams
53988	}
53989	return nil
53990}
53991
53992// SetConnectionNotificationIds sets the ConnectionNotificationIds field's value.
53993func (s *DeleteVpcEndpointConnectionNotificationsInput) SetConnectionNotificationIds(v []*string) *DeleteVpcEndpointConnectionNotificationsInput {
53994	s.ConnectionNotificationIds = v
53995	return s
53996}
53997
53998// SetDryRun sets the DryRun field's value.
53999func (s *DeleteVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DeleteVpcEndpointConnectionNotificationsInput {
54000	s.DryRun = &v
54001	return s
54002}
54003
54004type DeleteVpcEndpointConnectionNotificationsOutput struct {
54005	_ struct{} `type:"structure"`
54006
54007	// Information about the notifications that could not be deleted successfully.
54008	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
54009}
54010
54011// String returns the string representation
54012func (s DeleteVpcEndpointConnectionNotificationsOutput) String() string {
54013	return awsutil.Prettify(s)
54014}
54015
54016// GoString returns the string representation
54017func (s DeleteVpcEndpointConnectionNotificationsOutput) GoString() string {
54018	return s.String()
54019}
54020
54021// SetUnsuccessful sets the Unsuccessful field's value.
54022func (s *DeleteVpcEndpointConnectionNotificationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointConnectionNotificationsOutput {
54023	s.Unsuccessful = v
54024	return s
54025}
54026
54027type DeleteVpcEndpointServiceConfigurationsInput struct {
54028	_ struct{} `type:"structure"`
54029
54030	// Checks whether you have the required permissions for the action, without
54031	// actually making the request, and provides an error response. If you have
54032	// the required permissions, the error response is DryRunOperation. Otherwise,
54033	// it is UnauthorizedOperation.
54034	DryRun *bool `type:"boolean"`
54035
54036	// The IDs of one or more services.
54037	//
54038	// ServiceIds is a required field
54039	ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list" required:"true"`
54040}
54041
54042// String returns the string representation
54043func (s DeleteVpcEndpointServiceConfigurationsInput) String() string {
54044	return awsutil.Prettify(s)
54045}
54046
54047// GoString returns the string representation
54048func (s DeleteVpcEndpointServiceConfigurationsInput) GoString() string {
54049	return s.String()
54050}
54051
54052// Validate inspects the fields of the type to determine if they are valid.
54053func (s *DeleteVpcEndpointServiceConfigurationsInput) Validate() error {
54054	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointServiceConfigurationsInput"}
54055	if s.ServiceIds == nil {
54056		invalidParams.Add(request.NewErrParamRequired("ServiceIds"))
54057	}
54058
54059	if invalidParams.Len() > 0 {
54060		return invalidParams
54061	}
54062	return nil
54063}
54064
54065// SetDryRun sets the DryRun field's value.
54066func (s *DeleteVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DeleteVpcEndpointServiceConfigurationsInput {
54067	s.DryRun = &v
54068	return s
54069}
54070
54071// SetServiceIds sets the ServiceIds field's value.
54072func (s *DeleteVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DeleteVpcEndpointServiceConfigurationsInput {
54073	s.ServiceIds = v
54074	return s
54075}
54076
54077type DeleteVpcEndpointServiceConfigurationsOutput struct {
54078	_ struct{} `type:"structure"`
54079
54080	// Information about the service configurations that were not deleted, if applicable.
54081	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
54082}
54083
54084// String returns the string representation
54085func (s DeleteVpcEndpointServiceConfigurationsOutput) String() string {
54086	return awsutil.Prettify(s)
54087}
54088
54089// GoString returns the string representation
54090func (s DeleteVpcEndpointServiceConfigurationsOutput) GoString() string {
54091	return s.String()
54092}
54093
54094// SetUnsuccessful sets the Unsuccessful field's value.
54095func (s *DeleteVpcEndpointServiceConfigurationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointServiceConfigurationsOutput {
54096	s.Unsuccessful = v
54097	return s
54098}
54099
54100// Contains the parameters for DeleteVpcEndpoints.
54101type DeleteVpcEndpointsInput struct {
54102	_ struct{} `type:"structure"`
54103
54104	// Checks whether you have the required permissions for the action, without
54105	// actually making the request, and provides an error response. If you have
54106	// the required permissions, the error response is DryRunOperation. Otherwise,
54107	// it is UnauthorizedOperation.
54108	DryRun *bool `type:"boolean"`
54109
54110	// One or more VPC endpoint IDs.
54111	//
54112	// VpcEndpointIds is a required field
54113	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
54114}
54115
54116// String returns the string representation
54117func (s DeleteVpcEndpointsInput) String() string {
54118	return awsutil.Prettify(s)
54119}
54120
54121// GoString returns the string representation
54122func (s DeleteVpcEndpointsInput) GoString() string {
54123	return s.String()
54124}
54125
54126// Validate inspects the fields of the type to determine if they are valid.
54127func (s *DeleteVpcEndpointsInput) Validate() error {
54128	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
54129	if s.VpcEndpointIds == nil {
54130		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
54131	}
54132
54133	if invalidParams.Len() > 0 {
54134		return invalidParams
54135	}
54136	return nil
54137}
54138
54139// SetDryRun sets the DryRun field's value.
54140func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
54141	s.DryRun = &v
54142	return s
54143}
54144
54145// SetVpcEndpointIds sets the VpcEndpointIds field's value.
54146func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
54147	s.VpcEndpointIds = v
54148	return s
54149}
54150
54151// Contains the output of DeleteVpcEndpoints.
54152type DeleteVpcEndpointsOutput struct {
54153	_ struct{} `type:"structure"`
54154
54155	// Information about the VPC endpoints that were not successfully deleted.
54156	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
54157}
54158
54159// String returns the string representation
54160func (s DeleteVpcEndpointsOutput) String() string {
54161	return awsutil.Prettify(s)
54162}
54163
54164// GoString returns the string representation
54165func (s DeleteVpcEndpointsOutput) GoString() string {
54166	return s.String()
54167}
54168
54169// SetUnsuccessful sets the Unsuccessful field's value.
54170func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
54171	s.Unsuccessful = v
54172	return s
54173}
54174
54175type DeleteVpcInput struct {
54176	_ struct{} `type:"structure"`
54177
54178	// Checks whether you have the required permissions for the action, without
54179	// actually making the request, and provides an error response. If you have
54180	// the required permissions, the error response is DryRunOperation. Otherwise,
54181	// it is UnauthorizedOperation.
54182	DryRun *bool `locationName:"dryRun" type:"boolean"`
54183
54184	// The ID of the VPC.
54185	//
54186	// VpcId is a required field
54187	VpcId *string `type:"string" required:"true"`
54188}
54189
54190// String returns the string representation
54191func (s DeleteVpcInput) String() string {
54192	return awsutil.Prettify(s)
54193}
54194
54195// GoString returns the string representation
54196func (s DeleteVpcInput) GoString() string {
54197	return s.String()
54198}
54199
54200// Validate inspects the fields of the type to determine if they are valid.
54201func (s *DeleteVpcInput) Validate() error {
54202	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
54203	if s.VpcId == nil {
54204		invalidParams.Add(request.NewErrParamRequired("VpcId"))
54205	}
54206
54207	if invalidParams.Len() > 0 {
54208		return invalidParams
54209	}
54210	return nil
54211}
54212
54213// SetDryRun sets the DryRun field's value.
54214func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
54215	s.DryRun = &v
54216	return s
54217}
54218
54219// SetVpcId sets the VpcId field's value.
54220func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
54221	s.VpcId = &v
54222	return s
54223}
54224
54225type DeleteVpcOutput struct {
54226	_ struct{} `type:"structure"`
54227}
54228
54229// String returns the string representation
54230func (s DeleteVpcOutput) String() string {
54231	return awsutil.Prettify(s)
54232}
54233
54234// GoString returns the string representation
54235func (s DeleteVpcOutput) GoString() string {
54236	return s.String()
54237}
54238
54239type DeleteVpcPeeringConnectionInput struct {
54240	_ struct{} `type:"structure"`
54241
54242	// Checks whether you have the required permissions for the action, without
54243	// actually making the request, and provides an error response. If you have
54244	// the required permissions, the error response is DryRunOperation. Otherwise,
54245	// it is UnauthorizedOperation.
54246	DryRun *bool `locationName:"dryRun" type:"boolean"`
54247
54248	// The ID of the VPC peering connection.
54249	//
54250	// VpcPeeringConnectionId is a required field
54251	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
54252}
54253
54254// String returns the string representation
54255func (s DeleteVpcPeeringConnectionInput) String() string {
54256	return awsutil.Prettify(s)
54257}
54258
54259// GoString returns the string representation
54260func (s DeleteVpcPeeringConnectionInput) GoString() string {
54261	return s.String()
54262}
54263
54264// Validate inspects the fields of the type to determine if they are valid.
54265func (s *DeleteVpcPeeringConnectionInput) Validate() error {
54266	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
54267	if s.VpcPeeringConnectionId == nil {
54268		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
54269	}
54270
54271	if invalidParams.Len() > 0 {
54272		return invalidParams
54273	}
54274	return nil
54275}
54276
54277// SetDryRun sets the DryRun field's value.
54278func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
54279	s.DryRun = &v
54280	return s
54281}
54282
54283// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
54284func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
54285	s.VpcPeeringConnectionId = &v
54286	return s
54287}
54288
54289type DeleteVpcPeeringConnectionOutput struct {
54290	_ struct{} `type:"structure"`
54291
54292	// Returns true if the request succeeds; otherwise, it returns an error.
54293	Return *bool `locationName:"return" type:"boolean"`
54294}
54295
54296// String returns the string representation
54297func (s DeleteVpcPeeringConnectionOutput) String() string {
54298	return awsutil.Prettify(s)
54299}
54300
54301// GoString returns the string representation
54302func (s DeleteVpcPeeringConnectionOutput) GoString() string {
54303	return s.String()
54304}
54305
54306// SetReturn sets the Return field's value.
54307func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
54308	s.Return = &v
54309	return s
54310}
54311
54312// Contains the parameters for DeleteVpnConnection.
54313type DeleteVpnConnectionInput struct {
54314	_ struct{} `type:"structure"`
54315
54316	// Checks whether you have the required permissions for the action, without
54317	// actually making the request, and provides an error response. If you have
54318	// the required permissions, the error response is DryRunOperation. Otherwise,
54319	// it is UnauthorizedOperation.
54320	DryRun *bool `locationName:"dryRun" type:"boolean"`
54321
54322	// The ID of the VPN connection.
54323	//
54324	// VpnConnectionId is a required field
54325	VpnConnectionId *string `type:"string" required:"true"`
54326}
54327
54328// String returns the string representation
54329func (s DeleteVpnConnectionInput) String() string {
54330	return awsutil.Prettify(s)
54331}
54332
54333// GoString returns the string representation
54334func (s DeleteVpnConnectionInput) GoString() string {
54335	return s.String()
54336}
54337
54338// Validate inspects the fields of the type to determine if they are valid.
54339func (s *DeleteVpnConnectionInput) Validate() error {
54340	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
54341	if s.VpnConnectionId == nil {
54342		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
54343	}
54344
54345	if invalidParams.Len() > 0 {
54346		return invalidParams
54347	}
54348	return nil
54349}
54350
54351// SetDryRun sets the DryRun field's value.
54352func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
54353	s.DryRun = &v
54354	return s
54355}
54356
54357// SetVpnConnectionId sets the VpnConnectionId field's value.
54358func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
54359	s.VpnConnectionId = &v
54360	return s
54361}
54362
54363type DeleteVpnConnectionOutput struct {
54364	_ struct{} `type:"structure"`
54365}
54366
54367// String returns the string representation
54368func (s DeleteVpnConnectionOutput) String() string {
54369	return awsutil.Prettify(s)
54370}
54371
54372// GoString returns the string representation
54373func (s DeleteVpnConnectionOutput) GoString() string {
54374	return s.String()
54375}
54376
54377// Contains the parameters for DeleteVpnConnectionRoute.
54378type DeleteVpnConnectionRouteInput struct {
54379	_ struct{} `type:"structure"`
54380
54381	// The CIDR block associated with the local subnet of the customer network.
54382	//
54383	// DestinationCidrBlock is a required field
54384	DestinationCidrBlock *string `type:"string" required:"true"`
54385
54386	// The ID of the VPN connection.
54387	//
54388	// VpnConnectionId is a required field
54389	VpnConnectionId *string `type:"string" required:"true"`
54390}
54391
54392// String returns the string representation
54393func (s DeleteVpnConnectionRouteInput) String() string {
54394	return awsutil.Prettify(s)
54395}
54396
54397// GoString returns the string representation
54398func (s DeleteVpnConnectionRouteInput) GoString() string {
54399	return s.String()
54400}
54401
54402// Validate inspects the fields of the type to determine if they are valid.
54403func (s *DeleteVpnConnectionRouteInput) Validate() error {
54404	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
54405	if s.DestinationCidrBlock == nil {
54406		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
54407	}
54408	if s.VpnConnectionId == nil {
54409		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
54410	}
54411
54412	if invalidParams.Len() > 0 {
54413		return invalidParams
54414	}
54415	return nil
54416}
54417
54418// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
54419func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
54420	s.DestinationCidrBlock = &v
54421	return s
54422}
54423
54424// SetVpnConnectionId sets the VpnConnectionId field's value.
54425func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
54426	s.VpnConnectionId = &v
54427	return s
54428}
54429
54430type DeleteVpnConnectionRouteOutput struct {
54431	_ struct{} `type:"structure"`
54432}
54433
54434// String returns the string representation
54435func (s DeleteVpnConnectionRouteOutput) String() string {
54436	return awsutil.Prettify(s)
54437}
54438
54439// GoString returns the string representation
54440func (s DeleteVpnConnectionRouteOutput) GoString() string {
54441	return s.String()
54442}
54443
54444// Contains the parameters for DeleteVpnGateway.
54445type DeleteVpnGatewayInput struct {
54446	_ struct{} `type:"structure"`
54447
54448	// Checks whether you have the required permissions for the action, without
54449	// actually making the request, and provides an error response. If you have
54450	// the required permissions, the error response is DryRunOperation. Otherwise,
54451	// it is UnauthorizedOperation.
54452	DryRun *bool `locationName:"dryRun" type:"boolean"`
54453
54454	// The ID of the virtual private gateway.
54455	//
54456	// VpnGatewayId is a required field
54457	VpnGatewayId *string `type:"string" required:"true"`
54458}
54459
54460// String returns the string representation
54461func (s DeleteVpnGatewayInput) String() string {
54462	return awsutil.Prettify(s)
54463}
54464
54465// GoString returns the string representation
54466func (s DeleteVpnGatewayInput) GoString() string {
54467	return s.String()
54468}
54469
54470// Validate inspects the fields of the type to determine if they are valid.
54471func (s *DeleteVpnGatewayInput) Validate() error {
54472	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
54473	if s.VpnGatewayId == nil {
54474		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
54475	}
54476
54477	if invalidParams.Len() > 0 {
54478		return invalidParams
54479	}
54480	return nil
54481}
54482
54483// SetDryRun sets the DryRun field's value.
54484func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
54485	s.DryRun = &v
54486	return s
54487}
54488
54489// SetVpnGatewayId sets the VpnGatewayId field's value.
54490func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
54491	s.VpnGatewayId = &v
54492	return s
54493}
54494
54495type DeleteVpnGatewayOutput struct {
54496	_ struct{} `type:"structure"`
54497}
54498
54499// String returns the string representation
54500func (s DeleteVpnGatewayOutput) String() string {
54501	return awsutil.Prettify(s)
54502}
54503
54504// GoString returns the string representation
54505func (s DeleteVpnGatewayOutput) GoString() string {
54506	return s.String()
54507}
54508
54509type DeprovisionByoipCidrInput struct {
54510	_ struct{} `type:"structure"`
54511
54512	// The address range, in CIDR notation. The prefix must be the same prefix that
54513	// you specified when you provisioned the address range.
54514	//
54515	// Cidr is a required field
54516	Cidr *string `type:"string" required:"true"`
54517
54518	// Checks whether you have the required permissions for the action, without
54519	// actually making the request, and provides an error response. If you have
54520	// the required permissions, the error response is DryRunOperation. Otherwise,
54521	// it is UnauthorizedOperation.
54522	DryRun *bool `type:"boolean"`
54523}
54524
54525// String returns the string representation
54526func (s DeprovisionByoipCidrInput) String() string {
54527	return awsutil.Prettify(s)
54528}
54529
54530// GoString returns the string representation
54531func (s DeprovisionByoipCidrInput) GoString() string {
54532	return s.String()
54533}
54534
54535// Validate inspects the fields of the type to determine if they are valid.
54536func (s *DeprovisionByoipCidrInput) Validate() error {
54537	invalidParams := request.ErrInvalidParams{Context: "DeprovisionByoipCidrInput"}
54538	if s.Cidr == nil {
54539		invalidParams.Add(request.NewErrParamRequired("Cidr"))
54540	}
54541
54542	if invalidParams.Len() > 0 {
54543		return invalidParams
54544	}
54545	return nil
54546}
54547
54548// SetCidr sets the Cidr field's value.
54549func (s *DeprovisionByoipCidrInput) SetCidr(v string) *DeprovisionByoipCidrInput {
54550	s.Cidr = &v
54551	return s
54552}
54553
54554// SetDryRun sets the DryRun field's value.
54555func (s *DeprovisionByoipCidrInput) SetDryRun(v bool) *DeprovisionByoipCidrInput {
54556	s.DryRun = &v
54557	return s
54558}
54559
54560type DeprovisionByoipCidrOutput struct {
54561	_ struct{} `type:"structure"`
54562
54563	// Information about the address range.
54564	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
54565}
54566
54567// String returns the string representation
54568func (s DeprovisionByoipCidrOutput) String() string {
54569	return awsutil.Prettify(s)
54570}
54571
54572// GoString returns the string representation
54573func (s DeprovisionByoipCidrOutput) GoString() string {
54574	return s.String()
54575}
54576
54577// SetByoipCidr sets the ByoipCidr field's value.
54578func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoipCidrOutput {
54579	s.ByoipCidr = v
54580	return s
54581}
54582
54583// Contains the parameters for DeregisterImage.
54584type DeregisterImageInput struct {
54585	_ struct{} `type:"structure"`
54586
54587	// Checks whether you have the required permissions for the action, without
54588	// actually making the request, and provides an error response. If you have
54589	// the required permissions, the error response is DryRunOperation. Otherwise,
54590	// it is UnauthorizedOperation.
54591	DryRun *bool `locationName:"dryRun" type:"boolean"`
54592
54593	// The ID of the AMI.
54594	//
54595	// ImageId is a required field
54596	ImageId *string `type:"string" required:"true"`
54597}
54598
54599// String returns the string representation
54600func (s DeregisterImageInput) String() string {
54601	return awsutil.Prettify(s)
54602}
54603
54604// GoString returns the string representation
54605func (s DeregisterImageInput) GoString() string {
54606	return s.String()
54607}
54608
54609// Validate inspects the fields of the type to determine if they are valid.
54610func (s *DeregisterImageInput) Validate() error {
54611	invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
54612	if s.ImageId == nil {
54613		invalidParams.Add(request.NewErrParamRequired("ImageId"))
54614	}
54615
54616	if invalidParams.Len() > 0 {
54617		return invalidParams
54618	}
54619	return nil
54620}
54621
54622// SetDryRun sets the DryRun field's value.
54623func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
54624	s.DryRun = &v
54625	return s
54626}
54627
54628// SetImageId sets the ImageId field's value.
54629func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
54630	s.ImageId = &v
54631	return s
54632}
54633
54634type DeregisterImageOutput struct {
54635	_ struct{} `type:"structure"`
54636}
54637
54638// String returns the string representation
54639func (s DeregisterImageOutput) String() string {
54640	return awsutil.Prettify(s)
54641}
54642
54643// GoString returns the string representation
54644func (s DeregisterImageOutput) GoString() string {
54645	return s.String()
54646}
54647
54648type DeregisterTransitGatewayMulticastGroupMembersInput struct {
54649	_ struct{} `type:"structure"`
54650
54651	// Checks whether you have the required permissions for the action, without
54652	// actually making the request, and provides an error response. If you have
54653	// the required permissions, the error response is DryRunOperation. Otherwise,
54654	// it is UnauthorizedOperation.
54655	DryRun *bool `type:"boolean"`
54656
54657	// The IP address assigned to the transit gateway multicast group.
54658	GroupIpAddress *string `type:"string"`
54659
54660	// The IDs of the group members' network interfaces.
54661	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
54662
54663	// The ID of the transit gateway multicast domain.
54664	TransitGatewayMulticastDomainId *string `type:"string"`
54665}
54666
54667// String returns the string representation
54668func (s DeregisterTransitGatewayMulticastGroupMembersInput) String() string {
54669	return awsutil.Prettify(s)
54670}
54671
54672// GoString returns the string representation
54673func (s DeregisterTransitGatewayMulticastGroupMembersInput) GoString() string {
54674	return s.String()
54675}
54676
54677// SetDryRun sets the DryRun field's value.
54678func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupMembersInput {
54679	s.DryRun = &v
54680	return s
54681}
54682
54683// SetGroupIpAddress sets the GroupIpAddress field's value.
54684func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
54685	s.GroupIpAddress = &v
54686	return s
54687}
54688
54689// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
54690func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupMembersInput {
54691	s.NetworkInterfaceIds = v
54692	return s
54693}
54694
54695// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
54696func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
54697	s.TransitGatewayMulticastDomainId = &v
54698	return s
54699}
54700
54701type DeregisterTransitGatewayMulticastGroupMembersOutput struct {
54702	_ struct{} `type:"structure"`
54703
54704	// Information about the deregistered members.
54705	DeregisteredMulticastGroupMembers *TransitGatewayMulticastDeregisteredGroupMembers `locationName:"deregisteredMulticastGroupMembers" type:"structure"`
54706}
54707
54708// String returns the string representation
54709func (s DeregisterTransitGatewayMulticastGroupMembersOutput) String() string {
54710	return awsutil.Prettify(s)
54711}
54712
54713// GoString returns the string representation
54714func (s DeregisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
54715	return s.String()
54716}
54717
54718// SetDeregisteredMulticastGroupMembers sets the DeregisteredMulticastGroupMembers field's value.
54719func (s *DeregisterTransitGatewayMulticastGroupMembersOutput) SetDeregisteredMulticastGroupMembers(v *TransitGatewayMulticastDeregisteredGroupMembers) *DeregisterTransitGatewayMulticastGroupMembersOutput {
54720	s.DeregisteredMulticastGroupMembers = v
54721	return s
54722}
54723
54724type DeregisterTransitGatewayMulticastGroupSourcesInput struct {
54725	_ struct{} `type:"structure"`
54726
54727	// Checks whether you have the required permissions for the action, without
54728	// actually making the request, and provides an error response. If you have
54729	// the required permissions, the error response is DryRunOperation. Otherwise,
54730	// it is UnauthorizedOperation.
54731	DryRun *bool `type:"boolean"`
54732
54733	// The IP address assigned to the transit gateway multicast group.
54734	GroupIpAddress *string `type:"string"`
54735
54736	// The IDs of the group sources' network interfaces.
54737	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
54738
54739	// The ID of the transit gateway multicast domain.
54740	TransitGatewayMulticastDomainId *string `type:"string"`
54741}
54742
54743// String returns the string representation
54744func (s DeregisterTransitGatewayMulticastGroupSourcesInput) String() string {
54745	return awsutil.Prettify(s)
54746}
54747
54748// GoString returns the string representation
54749func (s DeregisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
54750	return s.String()
54751}
54752
54753// SetDryRun sets the DryRun field's value.
54754func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupSourcesInput {
54755	s.DryRun = &v
54756	return s
54757}
54758
54759// SetGroupIpAddress sets the GroupIpAddress field's value.
54760func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
54761	s.GroupIpAddress = &v
54762	return s
54763}
54764
54765// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
54766func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
54767	s.NetworkInterfaceIds = v
54768	return s
54769}
54770
54771// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
54772func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
54773	s.TransitGatewayMulticastDomainId = &v
54774	return s
54775}
54776
54777type DeregisterTransitGatewayMulticastGroupSourcesOutput struct {
54778	_ struct{} `type:"structure"`
54779
54780	// Information about the deregistered group sources.
54781	DeregisteredMulticastGroupSources *TransitGatewayMulticastDeregisteredGroupSources `locationName:"deregisteredMulticastGroupSources" type:"structure"`
54782}
54783
54784// String returns the string representation
54785func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) String() string {
54786	return awsutil.Prettify(s)
54787}
54788
54789// GoString returns the string representation
54790func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
54791	return s.String()
54792}
54793
54794// SetDeregisteredMulticastGroupSources sets the DeregisteredMulticastGroupSources field's value.
54795func (s *DeregisterTransitGatewayMulticastGroupSourcesOutput) SetDeregisteredMulticastGroupSources(v *TransitGatewayMulticastDeregisteredGroupSources) *DeregisterTransitGatewayMulticastGroupSourcesOutput {
54796	s.DeregisteredMulticastGroupSources = v
54797	return s
54798}
54799
54800type DescribeAccountAttributesInput struct {
54801	_ struct{} `type:"structure"`
54802
54803	// The account attribute names.
54804	AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
54805
54806	// Checks whether you have the required permissions for the action, without
54807	// actually making the request, and provides an error response. If you have
54808	// the required permissions, the error response is DryRunOperation. Otherwise,
54809	// it is UnauthorizedOperation.
54810	DryRun *bool `locationName:"dryRun" type:"boolean"`
54811}
54812
54813// String returns the string representation
54814func (s DescribeAccountAttributesInput) String() string {
54815	return awsutil.Prettify(s)
54816}
54817
54818// GoString returns the string representation
54819func (s DescribeAccountAttributesInput) GoString() string {
54820	return s.String()
54821}
54822
54823// SetAttributeNames sets the AttributeNames field's value.
54824func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
54825	s.AttributeNames = v
54826	return s
54827}
54828
54829// SetDryRun sets the DryRun field's value.
54830func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
54831	s.DryRun = &v
54832	return s
54833}
54834
54835type DescribeAccountAttributesOutput struct {
54836	_ struct{} `type:"structure"`
54837
54838	// Information about the account attributes.
54839	AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
54840}
54841
54842// String returns the string representation
54843func (s DescribeAccountAttributesOutput) String() string {
54844	return awsutil.Prettify(s)
54845}
54846
54847// GoString returns the string representation
54848func (s DescribeAccountAttributesOutput) GoString() string {
54849	return s.String()
54850}
54851
54852// SetAccountAttributes sets the AccountAttributes field's value.
54853func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
54854	s.AccountAttributes = v
54855	return s
54856}
54857
54858type DescribeAddressesInput struct {
54859	_ struct{} `type:"structure"`
54860
54861	// [EC2-VPC] Information about the allocation IDs.
54862	AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
54863
54864	// Checks whether you have the required permissions for the action, without
54865	// actually making the request, and provides an error response. If you have
54866	// the required permissions, the error response is DryRunOperation. Otherwise,
54867	// it is UnauthorizedOperation.
54868	DryRun *bool `locationName:"dryRun" type:"boolean"`
54869
54870	// One or more filters. Filter names and values are case-sensitive.
54871	//
54872	//    * allocation-id - [EC2-VPC] The allocation ID for the address.
54873	//
54874	//    * association-id - [EC2-VPC] The association ID for the address.
54875	//
54876	//    * domain - Indicates whether the address is for use in EC2-Classic (standard)
54877	//    or in a VPC (vpc).
54878	//
54879	//    * instance-id - The ID of the instance the address is associated with,
54880	//    if any.
54881	//
54882	//    * network-border-group - The location from where the IP address is advertised.
54883	//
54884	//    * network-interface-id - [EC2-VPC] The ID of the network interface that
54885	//    the address is associated with, if any.
54886	//
54887	//    * network-interface-owner-id - The AWS account ID of the owner.
54888	//
54889	//    * private-ip-address - [EC2-VPC] The private IP address associated with
54890	//    the Elastic IP address.
54891	//
54892	//    * public-ip - The Elastic IP address.
54893	//
54894	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
54895	//    Use the tag key in the filter name and the tag value as the filter value.
54896	//    For example, to find all resources that have a tag with the key Owner
54897	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
54898	//    the filter value.
54899	//
54900	//    * tag-key - The key of a tag assigned to the resource. Use this filter
54901	//    to find all resources assigned a tag with a specific key, regardless of
54902	//    the tag value.
54903	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54904
54905	// One or more Elastic IP addresses.
54906	//
54907	// Default: Describes all your Elastic IP addresses.
54908	PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
54909}
54910
54911// String returns the string representation
54912func (s DescribeAddressesInput) String() string {
54913	return awsutil.Prettify(s)
54914}
54915
54916// GoString returns the string representation
54917func (s DescribeAddressesInput) GoString() string {
54918	return s.String()
54919}
54920
54921// SetAllocationIds sets the AllocationIds field's value.
54922func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
54923	s.AllocationIds = v
54924	return s
54925}
54926
54927// SetDryRun sets the DryRun field's value.
54928func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
54929	s.DryRun = &v
54930	return s
54931}
54932
54933// SetFilters sets the Filters field's value.
54934func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
54935	s.Filters = v
54936	return s
54937}
54938
54939// SetPublicIps sets the PublicIps field's value.
54940func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
54941	s.PublicIps = v
54942	return s
54943}
54944
54945type DescribeAddressesOutput struct {
54946	_ struct{} `type:"structure"`
54947
54948	// Information about the Elastic IP addresses.
54949	Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
54950}
54951
54952// String returns the string representation
54953func (s DescribeAddressesOutput) String() string {
54954	return awsutil.Prettify(s)
54955}
54956
54957// GoString returns the string representation
54958func (s DescribeAddressesOutput) GoString() string {
54959	return s.String()
54960}
54961
54962// SetAddresses sets the Addresses field's value.
54963func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
54964	s.Addresses = v
54965	return s
54966}
54967
54968type DescribeAggregateIdFormatInput struct {
54969	_ struct{} `type:"structure"`
54970
54971	// Checks whether you have the required permissions for the action, without
54972	// actually making the request, and provides an error response. If you have
54973	// the required permissions, the error response is DryRunOperation. Otherwise,
54974	// it is UnauthorizedOperation.
54975	DryRun *bool `type:"boolean"`
54976}
54977
54978// String returns the string representation
54979func (s DescribeAggregateIdFormatInput) String() string {
54980	return awsutil.Prettify(s)
54981}
54982
54983// GoString returns the string representation
54984func (s DescribeAggregateIdFormatInput) GoString() string {
54985	return s.String()
54986}
54987
54988// SetDryRun sets the DryRun field's value.
54989func (s *DescribeAggregateIdFormatInput) SetDryRun(v bool) *DescribeAggregateIdFormatInput {
54990	s.DryRun = &v
54991	return s
54992}
54993
54994type DescribeAggregateIdFormatOutput struct {
54995	_ struct{} `type:"structure"`
54996
54997	// Information about each resource's ID format.
54998	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
54999
55000	// Indicates whether all resource types in the Region are configured to use
55001	// longer IDs. This value is only true if all users are configured to use longer
55002	// IDs for all resources types in the Region.
55003	UseLongIdsAggregated *bool `locationName:"useLongIdsAggregated" type:"boolean"`
55004}
55005
55006// String returns the string representation
55007func (s DescribeAggregateIdFormatOutput) String() string {
55008	return awsutil.Prettify(s)
55009}
55010
55011// GoString returns the string representation
55012func (s DescribeAggregateIdFormatOutput) GoString() string {
55013	return s.String()
55014}
55015
55016// SetStatuses sets the Statuses field's value.
55017func (s *DescribeAggregateIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeAggregateIdFormatOutput {
55018	s.Statuses = v
55019	return s
55020}
55021
55022// SetUseLongIdsAggregated sets the UseLongIdsAggregated field's value.
55023func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *DescribeAggregateIdFormatOutput {
55024	s.UseLongIdsAggregated = &v
55025	return s
55026}
55027
55028type DescribeAvailabilityZonesInput struct {
55029	_ struct{} `type:"structure"`
55030
55031	// Include all Availability Zones and Local Zones regardless of your opt in
55032	// status.
55033	//
55034	// If you do not use this parameter, the results include only the zones for
55035	// the Regions where you have chosen the option to opt in.
55036	AllAvailabilityZones *bool `type:"boolean"`
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 `locationName:"dryRun" type:"boolean"`
55043
55044	// The filters.
55045	//
55046	//    * group-name - For Availability Zones, use the Region name. For Local
55047	//    Zones, use the name of the group associated with the Local Zone (for example,
55048	//    us-west-2-lax-1).
55049	//
55050	//    * message - The Availability Zone or Local Zone message.
55051	//
55052	//    * opt-in-status - The opt in status (opted-in, and not-opted-in | opt-in-not-required).
55053	//
55054	//    * region-name - The name of the Region for the Availability Zone or Local
55055	//    Zone (for example, us-east-1).
55056	//
55057	//    * state - The state of the Availability Zone or Local Zone (available
55058	//    | information | impaired | unavailable).
55059	//
55060	//    * zone-id - The ID of the Availability Zone (for example, use1-az1) or
55061	//    the Local Zone (for example, use usw2-lax1-az1).
55062	//
55063	//    * zone-name - The name of the Availability Zone (for example, us-east-1a)
55064	//    or the Local Zone (for example, use us-west-2-lax-1a).
55065	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55066
55067	// The IDs of the Availability Zones and Local Zones.
55068	ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"`
55069
55070	// The names of the Availability Zones and Local Zones.
55071	ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
55072}
55073
55074// String returns the string representation
55075func (s DescribeAvailabilityZonesInput) String() string {
55076	return awsutil.Prettify(s)
55077}
55078
55079// GoString returns the string representation
55080func (s DescribeAvailabilityZonesInput) GoString() string {
55081	return s.String()
55082}
55083
55084// SetAllAvailabilityZones sets the AllAvailabilityZones field's value.
55085func (s *DescribeAvailabilityZonesInput) SetAllAvailabilityZones(v bool) *DescribeAvailabilityZonesInput {
55086	s.AllAvailabilityZones = &v
55087	return s
55088}
55089
55090// SetDryRun sets the DryRun field's value.
55091func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
55092	s.DryRun = &v
55093	return s
55094}
55095
55096// SetFilters sets the Filters field's value.
55097func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
55098	s.Filters = v
55099	return s
55100}
55101
55102// SetZoneIds sets the ZoneIds field's value.
55103func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput {
55104	s.ZoneIds = v
55105	return s
55106}
55107
55108// SetZoneNames sets the ZoneNames field's value.
55109func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
55110	s.ZoneNames = v
55111	return s
55112}
55113
55114type DescribeAvailabilityZonesOutput struct {
55115	_ struct{} `type:"structure"`
55116
55117	// Information about the Availability Zones and Local Zones.
55118	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
55119}
55120
55121// String returns the string representation
55122func (s DescribeAvailabilityZonesOutput) String() string {
55123	return awsutil.Prettify(s)
55124}
55125
55126// GoString returns the string representation
55127func (s DescribeAvailabilityZonesOutput) GoString() string {
55128	return s.String()
55129}
55130
55131// SetAvailabilityZones sets the AvailabilityZones field's value.
55132func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
55133	s.AvailabilityZones = v
55134	return s
55135}
55136
55137type DescribeBundleTasksInput struct {
55138	_ struct{} `type:"structure"`
55139
55140	// The bundle task IDs.
55141	//
55142	// Default: Describes all your bundle tasks.
55143	BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
55144
55145	// Checks whether you have the required permissions for the action, without
55146	// actually making the request, and provides an error response. If you have
55147	// the required permissions, the error response is DryRunOperation. Otherwise,
55148	// it is UnauthorizedOperation.
55149	DryRun *bool `locationName:"dryRun" type:"boolean"`
55150
55151	// The filters.
55152	//
55153	//    * bundle-id - The ID of the bundle task.
55154	//
55155	//    * error-code - If the task failed, the error code returned.
55156	//
55157	//    * error-message - If the task failed, the error message returned.
55158	//
55159	//    * instance-id - The ID of the instance.
55160	//
55161	//    * progress - The level of task completion, as a percentage (for example,
55162	//    20%).
55163	//
55164	//    * s3-bucket - The Amazon S3 bucket to store the AMI.
55165	//
55166	//    * s3-prefix - The beginning of the AMI name.
55167	//
55168	//    * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
55169	//
55170	//    * state - The state of the task (pending | waiting-for-shutdown | bundling
55171	//    | storing | cancelling | complete | failed).
55172	//
55173	//    * update-time - The time of the most recent update for the task.
55174	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55175}
55176
55177// String returns the string representation
55178func (s DescribeBundleTasksInput) String() string {
55179	return awsutil.Prettify(s)
55180}
55181
55182// GoString returns the string representation
55183func (s DescribeBundleTasksInput) GoString() string {
55184	return s.String()
55185}
55186
55187// SetBundleIds sets the BundleIds field's value.
55188func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
55189	s.BundleIds = v
55190	return s
55191}
55192
55193// SetDryRun sets the DryRun field's value.
55194func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
55195	s.DryRun = &v
55196	return s
55197}
55198
55199// SetFilters sets the Filters field's value.
55200func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
55201	s.Filters = v
55202	return s
55203}
55204
55205type DescribeBundleTasksOutput struct {
55206	_ struct{} `type:"structure"`
55207
55208	// Information about the bundle tasks.
55209	BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
55210}
55211
55212// String returns the string representation
55213func (s DescribeBundleTasksOutput) String() string {
55214	return awsutil.Prettify(s)
55215}
55216
55217// GoString returns the string representation
55218func (s DescribeBundleTasksOutput) GoString() string {
55219	return s.String()
55220}
55221
55222// SetBundleTasks sets the BundleTasks field's value.
55223func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
55224	s.BundleTasks = v
55225	return s
55226}
55227
55228type DescribeByoipCidrsInput struct {
55229	_ struct{} `type:"structure"`
55230
55231	// Checks whether you have the required permissions for the action, without
55232	// actually making the request, and provides an error response. If you have
55233	// the required permissions, the error response is DryRunOperation. Otherwise,
55234	// it is UnauthorizedOperation.
55235	DryRun *bool `type:"boolean"`
55236
55237	// The maximum number of results to return with a single call. To retrieve the
55238	// remaining results, make another call with the returned nextToken value.
55239	//
55240	// MaxResults is a required field
55241	MaxResults *int64 `min:"1" type:"integer" required:"true"`
55242
55243	// The token for the next page of results.
55244	NextToken *string `type:"string"`
55245}
55246
55247// String returns the string representation
55248func (s DescribeByoipCidrsInput) String() string {
55249	return awsutil.Prettify(s)
55250}
55251
55252// GoString returns the string representation
55253func (s DescribeByoipCidrsInput) GoString() string {
55254	return s.String()
55255}
55256
55257// Validate inspects the fields of the type to determine if they are valid.
55258func (s *DescribeByoipCidrsInput) Validate() error {
55259	invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"}
55260	if s.MaxResults == nil {
55261		invalidParams.Add(request.NewErrParamRequired("MaxResults"))
55262	}
55263	if s.MaxResults != nil && *s.MaxResults < 1 {
55264		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
55265	}
55266
55267	if invalidParams.Len() > 0 {
55268		return invalidParams
55269	}
55270	return nil
55271}
55272
55273// SetDryRun sets the DryRun field's value.
55274func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput {
55275	s.DryRun = &v
55276	return s
55277}
55278
55279// SetMaxResults sets the MaxResults field's value.
55280func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput {
55281	s.MaxResults = &v
55282	return s
55283}
55284
55285// SetNextToken sets the NextToken field's value.
55286func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput {
55287	s.NextToken = &v
55288	return s
55289}
55290
55291type DescribeByoipCidrsOutput struct {
55292	_ struct{} `type:"structure"`
55293
55294	// Information about your address ranges.
55295	ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"`
55296
55297	// The token to use to retrieve the next page of results. This value is null
55298	// when there are no more results to return.
55299	NextToken *string `locationName:"nextToken" type:"string"`
55300}
55301
55302// String returns the string representation
55303func (s DescribeByoipCidrsOutput) String() string {
55304	return awsutil.Prettify(s)
55305}
55306
55307// GoString returns the string representation
55308func (s DescribeByoipCidrsOutput) GoString() string {
55309	return s.String()
55310}
55311
55312// SetByoipCidrs sets the ByoipCidrs field's value.
55313func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput {
55314	s.ByoipCidrs = v
55315	return s
55316}
55317
55318// SetNextToken sets the NextToken field's value.
55319func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput {
55320	s.NextToken = &v
55321	return s
55322}
55323
55324type DescribeCapacityReservationsInput struct {
55325	_ struct{} `type:"structure"`
55326
55327	// The ID of the Capacity Reservation.
55328	CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"`
55329
55330	// Checks whether you have the required permissions for the action, without
55331	// actually making the request, and provides an error response. If you have
55332	// the required permissions, the error response is DryRunOperation. Otherwise,
55333	// it is UnauthorizedOperation.
55334	DryRun *bool `type:"boolean"`
55335
55336	// One or more filters.
55337	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55338
55339	// The maximum number of results to return for the request in a single page.
55340	// The remaining results can be seen by sending another request with the returned
55341	// nextToken value.
55342	MaxResults *int64 `min:"1" type:"integer"`
55343
55344	// The token to retrieve the next page of results.
55345	NextToken *string `type:"string"`
55346}
55347
55348// String returns the string representation
55349func (s DescribeCapacityReservationsInput) String() string {
55350	return awsutil.Prettify(s)
55351}
55352
55353// GoString returns the string representation
55354func (s DescribeCapacityReservationsInput) GoString() string {
55355	return s.String()
55356}
55357
55358// Validate inspects the fields of the type to determine if they are valid.
55359func (s *DescribeCapacityReservationsInput) Validate() error {
55360	invalidParams := request.ErrInvalidParams{Context: "DescribeCapacityReservationsInput"}
55361	if s.MaxResults != nil && *s.MaxResults < 1 {
55362		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
55363	}
55364
55365	if invalidParams.Len() > 0 {
55366		return invalidParams
55367	}
55368	return nil
55369}
55370
55371// SetCapacityReservationIds sets the CapacityReservationIds field's value.
55372func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput {
55373	s.CapacityReservationIds = v
55374	return s
55375}
55376
55377// SetDryRun sets the DryRun field's value.
55378func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput {
55379	s.DryRun = &v
55380	return s
55381}
55382
55383// SetFilters sets the Filters field's value.
55384func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput {
55385	s.Filters = v
55386	return s
55387}
55388
55389// SetMaxResults sets the MaxResults field's value.
55390func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput {
55391	s.MaxResults = &v
55392	return s
55393}
55394
55395// SetNextToken sets the NextToken field's value.
55396func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput {
55397	s.NextToken = &v
55398	return s
55399}
55400
55401type DescribeCapacityReservationsOutput struct {
55402	_ struct{} `type:"structure"`
55403
55404	// Information about the Capacity Reservations.
55405	CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"`
55406
55407	// The token to use to retrieve the next page of results. This value is null
55408	// when there are no more results to return.
55409	NextToken *string `locationName:"nextToken" type:"string"`
55410}
55411
55412// String returns the string representation
55413func (s DescribeCapacityReservationsOutput) String() string {
55414	return awsutil.Prettify(s)
55415}
55416
55417// GoString returns the string representation
55418func (s DescribeCapacityReservationsOutput) GoString() string {
55419	return s.String()
55420}
55421
55422// SetCapacityReservations sets the CapacityReservations field's value.
55423func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput {
55424	s.CapacityReservations = v
55425	return s
55426}
55427
55428// SetNextToken sets the NextToken field's value.
55429func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput {
55430	s.NextToken = &v
55431	return s
55432}
55433
55434type DescribeClassicLinkInstancesInput struct {
55435	_ struct{} `type:"structure"`
55436
55437	// Checks whether you have the required permissions for the action, without
55438	// actually making the request, and provides an error response. If you have
55439	// the required permissions, the error response is DryRunOperation. Otherwise,
55440	// it is UnauthorizedOperation.
55441	DryRun *bool `locationName:"dryRun" type:"boolean"`
55442
55443	// One or more filters.
55444	//
55445	//    * group-id - The ID of a VPC security group that's associated with the
55446	//    instance.
55447	//
55448	//    * instance-id - The ID of the instance.
55449	//
55450	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
55451	//    Use the tag key in the filter name and the tag value as the filter value.
55452	//    For example, to find all resources that have a tag with the key Owner
55453	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
55454	//    the filter value.
55455	//
55456	//    * tag-key - The key of a tag assigned to the resource. Use this filter
55457	//    to find all resources assigned a tag with a specific key, regardless of
55458	//    the tag value.
55459	//
55460	//    * vpc-id - The ID of the VPC to which the instance is linked. vpc-id -
55461	//    The ID of the VPC that the instance is linked to.
55462	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55463
55464	// One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
55465	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
55466
55467	// The maximum number of results to return with a single call. To retrieve the
55468	// remaining results, make another call with the returned nextToken value.
55469	//
55470	// Constraint: If the value is greater than 1000, we return only 1000 items.
55471	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
55472
55473	// The token for the next page of results.
55474	NextToken *string `locationName:"nextToken" type:"string"`
55475}
55476
55477// String returns the string representation
55478func (s DescribeClassicLinkInstancesInput) String() string {
55479	return awsutil.Prettify(s)
55480}
55481
55482// GoString returns the string representation
55483func (s DescribeClassicLinkInstancesInput) GoString() string {
55484	return s.String()
55485}
55486
55487// Validate inspects the fields of the type to determine if they are valid.
55488func (s *DescribeClassicLinkInstancesInput) Validate() error {
55489	invalidParams := request.ErrInvalidParams{Context: "DescribeClassicLinkInstancesInput"}
55490	if s.MaxResults != nil && *s.MaxResults < 5 {
55491		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55492	}
55493
55494	if invalidParams.Len() > 0 {
55495		return invalidParams
55496	}
55497	return nil
55498}
55499
55500// SetDryRun sets the DryRun field's value.
55501func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
55502	s.DryRun = &v
55503	return s
55504}
55505
55506// SetFilters sets the Filters field's value.
55507func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
55508	s.Filters = v
55509	return s
55510}
55511
55512// SetInstanceIds sets the InstanceIds field's value.
55513func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
55514	s.InstanceIds = v
55515	return s
55516}
55517
55518// SetMaxResults sets the MaxResults field's value.
55519func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
55520	s.MaxResults = &v
55521	return s
55522}
55523
55524// SetNextToken sets the NextToken field's value.
55525func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
55526	s.NextToken = &v
55527	return s
55528}
55529
55530type DescribeClassicLinkInstancesOutput struct {
55531	_ struct{} `type:"structure"`
55532
55533	// Information about one or more linked EC2-Classic instances.
55534	Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
55535
55536	// The token to use to retrieve the next page of results. This value is null
55537	// when there are no more results to return.
55538	NextToken *string `locationName:"nextToken" type:"string"`
55539}
55540
55541// String returns the string representation
55542func (s DescribeClassicLinkInstancesOutput) String() string {
55543	return awsutil.Prettify(s)
55544}
55545
55546// GoString returns the string representation
55547func (s DescribeClassicLinkInstancesOutput) GoString() string {
55548	return s.String()
55549}
55550
55551// SetInstances sets the Instances field's value.
55552func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
55553	s.Instances = v
55554	return s
55555}
55556
55557// SetNextToken sets the NextToken field's value.
55558func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
55559	s.NextToken = &v
55560	return s
55561}
55562
55563type DescribeClientVpnAuthorizationRulesInput struct {
55564	_ struct{} `type:"structure"`
55565
55566	// The ID of the Client VPN endpoint.
55567	//
55568	// ClientVpnEndpointId is a required field
55569	ClientVpnEndpointId *string `type:"string" required:"true"`
55570
55571	// Checks whether you have the required permissions for the action, without
55572	// actually making the request, and provides an error response. If you have
55573	// the required permissions, the error response is DryRunOperation. Otherwise,
55574	// it is UnauthorizedOperation.
55575	DryRun *bool `type:"boolean"`
55576
55577	// One or more filters. Filter names and values are case-sensitive.
55578	//
55579	//    * description - The description of the authorization rule.
55580	//
55581	//    * destination-cidr - The CIDR of the network to which the authorization
55582	//    rule applies.
55583	//
55584	//    * group-id - The ID of the Active Directory group to which the authorization
55585	//    rule grants access.
55586	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55587
55588	// The maximum number of results to return for the request in a single page.
55589	// The remaining results can be seen by sending another request with the nextToken
55590	// value.
55591	MaxResults *int64 `min:"5" type:"integer"`
55592
55593	// The token to retrieve the next page of results.
55594	NextToken *string `type:"string"`
55595}
55596
55597// String returns the string representation
55598func (s DescribeClientVpnAuthorizationRulesInput) String() string {
55599	return awsutil.Prettify(s)
55600}
55601
55602// GoString returns the string representation
55603func (s DescribeClientVpnAuthorizationRulesInput) GoString() string {
55604	return s.String()
55605}
55606
55607// Validate inspects the fields of the type to determine if they are valid.
55608func (s *DescribeClientVpnAuthorizationRulesInput) Validate() error {
55609	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnAuthorizationRulesInput"}
55610	if s.ClientVpnEndpointId == nil {
55611		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
55612	}
55613	if s.MaxResults != nil && *s.MaxResults < 5 {
55614		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55615	}
55616
55617	if invalidParams.Len() > 0 {
55618		return invalidParams
55619	}
55620	return nil
55621}
55622
55623// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
55624func (s *DescribeClientVpnAuthorizationRulesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnAuthorizationRulesInput {
55625	s.ClientVpnEndpointId = &v
55626	return s
55627}
55628
55629// SetDryRun sets the DryRun field's value.
55630func (s *DescribeClientVpnAuthorizationRulesInput) SetDryRun(v bool) *DescribeClientVpnAuthorizationRulesInput {
55631	s.DryRun = &v
55632	return s
55633}
55634
55635// SetFilters sets the Filters field's value.
55636func (s *DescribeClientVpnAuthorizationRulesInput) SetFilters(v []*Filter) *DescribeClientVpnAuthorizationRulesInput {
55637	s.Filters = v
55638	return s
55639}
55640
55641// SetMaxResults sets the MaxResults field's value.
55642func (s *DescribeClientVpnAuthorizationRulesInput) SetMaxResults(v int64) *DescribeClientVpnAuthorizationRulesInput {
55643	s.MaxResults = &v
55644	return s
55645}
55646
55647// SetNextToken sets the NextToken field's value.
55648func (s *DescribeClientVpnAuthorizationRulesInput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesInput {
55649	s.NextToken = &v
55650	return s
55651}
55652
55653type DescribeClientVpnAuthorizationRulesOutput struct {
55654	_ struct{} `type:"structure"`
55655
55656	// Information about the authorization rules.
55657	AuthorizationRules []*AuthorizationRule `locationName:"authorizationRule" locationNameList:"item" type:"list"`
55658
55659	// The token to use to retrieve the next page of results. This value is null
55660	// when there are no more results to return.
55661	NextToken *string `locationName:"nextToken" type:"string"`
55662}
55663
55664// String returns the string representation
55665func (s DescribeClientVpnAuthorizationRulesOutput) String() string {
55666	return awsutil.Prettify(s)
55667}
55668
55669// GoString returns the string representation
55670func (s DescribeClientVpnAuthorizationRulesOutput) GoString() string {
55671	return s.String()
55672}
55673
55674// SetAuthorizationRules sets the AuthorizationRules field's value.
55675func (s *DescribeClientVpnAuthorizationRulesOutput) SetAuthorizationRules(v []*AuthorizationRule) *DescribeClientVpnAuthorizationRulesOutput {
55676	s.AuthorizationRules = v
55677	return s
55678}
55679
55680// SetNextToken sets the NextToken field's value.
55681func (s *DescribeClientVpnAuthorizationRulesOutput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesOutput {
55682	s.NextToken = &v
55683	return s
55684}
55685
55686type DescribeClientVpnConnectionsInput struct {
55687	_ struct{} `type:"structure"`
55688
55689	// The ID of the Client VPN endpoint.
55690	//
55691	// ClientVpnEndpointId is a required field
55692	ClientVpnEndpointId *string `type:"string" required:"true"`
55693
55694	// Checks whether you have the required permissions for the action, without
55695	// actually making the request, and provides an error response. If you have
55696	// the required permissions, the error response is DryRunOperation. Otherwise,
55697	// it is UnauthorizedOperation.
55698	DryRun *bool `type:"boolean"`
55699
55700	// One or more filters. Filter names and values are case-sensitive.
55701	//
55702	//    * connection-id - The ID of the connection.
55703	//
55704	//    * username - For Active Directory client authentication, the user name
55705	//    of the client who established the client connection.
55706	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55707
55708	// The maximum number of results to return for the request in a single page.
55709	// The remaining results can be seen by sending another request with the nextToken
55710	// value.
55711	MaxResults *int64 `min:"5" type:"integer"`
55712
55713	// The token to retrieve the next page of results.
55714	NextToken *string `type:"string"`
55715}
55716
55717// String returns the string representation
55718func (s DescribeClientVpnConnectionsInput) String() string {
55719	return awsutil.Prettify(s)
55720}
55721
55722// GoString returns the string representation
55723func (s DescribeClientVpnConnectionsInput) GoString() string {
55724	return s.String()
55725}
55726
55727// Validate inspects the fields of the type to determine if they are valid.
55728func (s *DescribeClientVpnConnectionsInput) Validate() error {
55729	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnConnectionsInput"}
55730	if s.ClientVpnEndpointId == nil {
55731		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
55732	}
55733	if s.MaxResults != nil && *s.MaxResults < 5 {
55734		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55735	}
55736
55737	if invalidParams.Len() > 0 {
55738		return invalidParams
55739	}
55740	return nil
55741}
55742
55743// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
55744func (s *DescribeClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *DescribeClientVpnConnectionsInput {
55745	s.ClientVpnEndpointId = &v
55746	return s
55747}
55748
55749// SetDryRun sets the DryRun field's value.
55750func (s *DescribeClientVpnConnectionsInput) SetDryRun(v bool) *DescribeClientVpnConnectionsInput {
55751	s.DryRun = &v
55752	return s
55753}
55754
55755// SetFilters sets the Filters field's value.
55756func (s *DescribeClientVpnConnectionsInput) SetFilters(v []*Filter) *DescribeClientVpnConnectionsInput {
55757	s.Filters = v
55758	return s
55759}
55760
55761// SetMaxResults sets the MaxResults field's value.
55762func (s *DescribeClientVpnConnectionsInput) SetMaxResults(v int64) *DescribeClientVpnConnectionsInput {
55763	s.MaxResults = &v
55764	return s
55765}
55766
55767// SetNextToken sets the NextToken field's value.
55768func (s *DescribeClientVpnConnectionsInput) SetNextToken(v string) *DescribeClientVpnConnectionsInput {
55769	s.NextToken = &v
55770	return s
55771}
55772
55773type DescribeClientVpnConnectionsOutput struct {
55774	_ struct{} `type:"structure"`
55775
55776	// Information about the active and terminated client connections.
55777	Connections []*ClientVpnConnection `locationName:"connections" locationNameList:"item" type:"list"`
55778
55779	// The token to use to retrieve the next page of results. This value is null
55780	// when there are no more results to return.
55781	NextToken *string `locationName:"nextToken" type:"string"`
55782}
55783
55784// String returns the string representation
55785func (s DescribeClientVpnConnectionsOutput) String() string {
55786	return awsutil.Prettify(s)
55787}
55788
55789// GoString returns the string representation
55790func (s DescribeClientVpnConnectionsOutput) GoString() string {
55791	return s.String()
55792}
55793
55794// SetConnections sets the Connections field's value.
55795func (s *DescribeClientVpnConnectionsOutput) SetConnections(v []*ClientVpnConnection) *DescribeClientVpnConnectionsOutput {
55796	s.Connections = v
55797	return s
55798}
55799
55800// SetNextToken sets the NextToken field's value.
55801func (s *DescribeClientVpnConnectionsOutput) SetNextToken(v string) *DescribeClientVpnConnectionsOutput {
55802	s.NextToken = &v
55803	return s
55804}
55805
55806type DescribeClientVpnEndpointsInput struct {
55807	_ struct{} `type:"structure"`
55808
55809	// The ID of the Client VPN endpoint.
55810	ClientVpnEndpointIds []*string `locationName:"ClientVpnEndpointId" locationNameList:"item" type:"list"`
55811
55812	// Checks whether you have the required permissions for the action, without
55813	// actually making the request, and provides an error response. If you have
55814	// the required permissions, the error response is DryRunOperation. Otherwise,
55815	// it is UnauthorizedOperation.
55816	DryRun *bool `type:"boolean"`
55817
55818	// One or more filters. Filter names and values are case-sensitive.
55819	//
55820	//    * endpoint-id - The ID of the Client VPN endpoint.
55821	//
55822	//    * transport-protocol - The transport protocol (tcp | udp).
55823	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55824
55825	// The maximum number of results to return for the request in a single page.
55826	// The remaining results can be seen by sending another request with the nextToken
55827	// value.
55828	MaxResults *int64 `min:"5" type:"integer"`
55829
55830	// The token to retrieve the next page of results.
55831	NextToken *string `type:"string"`
55832}
55833
55834// String returns the string representation
55835func (s DescribeClientVpnEndpointsInput) String() string {
55836	return awsutil.Prettify(s)
55837}
55838
55839// GoString returns the string representation
55840func (s DescribeClientVpnEndpointsInput) GoString() string {
55841	return s.String()
55842}
55843
55844// Validate inspects the fields of the type to determine if they are valid.
55845func (s *DescribeClientVpnEndpointsInput) Validate() error {
55846	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnEndpointsInput"}
55847	if s.MaxResults != nil && *s.MaxResults < 5 {
55848		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55849	}
55850
55851	if invalidParams.Len() > 0 {
55852		return invalidParams
55853	}
55854	return nil
55855}
55856
55857// SetClientVpnEndpointIds sets the ClientVpnEndpointIds field's value.
55858func (s *DescribeClientVpnEndpointsInput) SetClientVpnEndpointIds(v []*string) *DescribeClientVpnEndpointsInput {
55859	s.ClientVpnEndpointIds = v
55860	return s
55861}
55862
55863// SetDryRun sets the DryRun field's value.
55864func (s *DescribeClientVpnEndpointsInput) SetDryRun(v bool) *DescribeClientVpnEndpointsInput {
55865	s.DryRun = &v
55866	return s
55867}
55868
55869// SetFilters sets the Filters field's value.
55870func (s *DescribeClientVpnEndpointsInput) SetFilters(v []*Filter) *DescribeClientVpnEndpointsInput {
55871	s.Filters = v
55872	return s
55873}
55874
55875// SetMaxResults sets the MaxResults field's value.
55876func (s *DescribeClientVpnEndpointsInput) SetMaxResults(v int64) *DescribeClientVpnEndpointsInput {
55877	s.MaxResults = &v
55878	return s
55879}
55880
55881// SetNextToken sets the NextToken field's value.
55882func (s *DescribeClientVpnEndpointsInput) SetNextToken(v string) *DescribeClientVpnEndpointsInput {
55883	s.NextToken = &v
55884	return s
55885}
55886
55887type DescribeClientVpnEndpointsOutput struct {
55888	_ struct{} `type:"structure"`
55889
55890	// Information about the Client VPN endpoints.
55891	ClientVpnEndpoints []*ClientVpnEndpoint `locationName:"clientVpnEndpoint" locationNameList:"item" type:"list"`
55892
55893	// The token to use to retrieve the next page of results. This value is null
55894	// when there are no more results to return.
55895	NextToken *string `locationName:"nextToken" type:"string"`
55896}
55897
55898// String returns the string representation
55899func (s DescribeClientVpnEndpointsOutput) String() string {
55900	return awsutil.Prettify(s)
55901}
55902
55903// GoString returns the string representation
55904func (s DescribeClientVpnEndpointsOutput) GoString() string {
55905	return s.String()
55906}
55907
55908// SetClientVpnEndpoints sets the ClientVpnEndpoints field's value.
55909func (s *DescribeClientVpnEndpointsOutput) SetClientVpnEndpoints(v []*ClientVpnEndpoint) *DescribeClientVpnEndpointsOutput {
55910	s.ClientVpnEndpoints = v
55911	return s
55912}
55913
55914// SetNextToken sets the NextToken field's value.
55915func (s *DescribeClientVpnEndpointsOutput) SetNextToken(v string) *DescribeClientVpnEndpointsOutput {
55916	s.NextToken = &v
55917	return s
55918}
55919
55920type DescribeClientVpnRoutesInput struct {
55921	_ struct{} `type:"structure"`
55922
55923	// The ID of the Client VPN endpoint.
55924	//
55925	// ClientVpnEndpointId is a required field
55926	ClientVpnEndpointId *string `type:"string" required:"true"`
55927
55928	// Checks whether you have the required permissions for the action, without
55929	// actually making the request, and provides an error response. If you have
55930	// the required permissions, the error response is DryRunOperation. Otherwise,
55931	// it is UnauthorizedOperation.
55932	DryRun *bool `type:"boolean"`
55933
55934	// One or more filters. Filter names and values are case-sensitive.
55935	//
55936	//    * destination-cidr - The CIDR of the route destination.
55937	//
55938	//    * origin - How the route was associated with the Client VPN endpoint (associate
55939	//    | add-route).
55940	//
55941	//    * target-subnet - The ID of the subnet through which traffic is routed.
55942	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55943
55944	// The maximum number of results to return for the request in a single page.
55945	// The remaining results can be seen by sending another request with the nextToken
55946	// value.
55947	MaxResults *int64 `min:"5" type:"integer"`
55948
55949	// The token to retrieve the next page of results.
55950	NextToken *string `type:"string"`
55951}
55952
55953// String returns the string representation
55954func (s DescribeClientVpnRoutesInput) String() string {
55955	return awsutil.Prettify(s)
55956}
55957
55958// GoString returns the string representation
55959func (s DescribeClientVpnRoutesInput) GoString() string {
55960	return s.String()
55961}
55962
55963// Validate inspects the fields of the type to determine if they are valid.
55964func (s *DescribeClientVpnRoutesInput) Validate() error {
55965	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnRoutesInput"}
55966	if s.ClientVpnEndpointId == nil {
55967		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
55968	}
55969	if s.MaxResults != nil && *s.MaxResults < 5 {
55970		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55971	}
55972
55973	if invalidParams.Len() > 0 {
55974		return invalidParams
55975	}
55976	return nil
55977}
55978
55979// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
55980func (s *DescribeClientVpnRoutesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnRoutesInput {
55981	s.ClientVpnEndpointId = &v
55982	return s
55983}
55984
55985// SetDryRun sets the DryRun field's value.
55986func (s *DescribeClientVpnRoutesInput) SetDryRun(v bool) *DescribeClientVpnRoutesInput {
55987	s.DryRun = &v
55988	return s
55989}
55990
55991// SetFilters sets the Filters field's value.
55992func (s *DescribeClientVpnRoutesInput) SetFilters(v []*Filter) *DescribeClientVpnRoutesInput {
55993	s.Filters = v
55994	return s
55995}
55996
55997// SetMaxResults sets the MaxResults field's value.
55998func (s *DescribeClientVpnRoutesInput) SetMaxResults(v int64) *DescribeClientVpnRoutesInput {
55999	s.MaxResults = &v
56000	return s
56001}
56002
56003// SetNextToken sets the NextToken field's value.
56004func (s *DescribeClientVpnRoutesInput) SetNextToken(v string) *DescribeClientVpnRoutesInput {
56005	s.NextToken = &v
56006	return s
56007}
56008
56009type DescribeClientVpnRoutesOutput struct {
56010	_ struct{} `type:"structure"`
56011
56012	// The token to use to retrieve the next page of results. This value is null
56013	// when there are no more results to return.
56014	NextToken *string `locationName:"nextToken" type:"string"`
56015
56016	// Information about the Client VPN endpoint routes.
56017	Routes []*ClientVpnRoute `locationName:"routes" locationNameList:"item" type:"list"`
56018}
56019
56020// String returns the string representation
56021func (s DescribeClientVpnRoutesOutput) String() string {
56022	return awsutil.Prettify(s)
56023}
56024
56025// GoString returns the string representation
56026func (s DescribeClientVpnRoutesOutput) GoString() string {
56027	return s.String()
56028}
56029
56030// SetNextToken sets the NextToken field's value.
56031func (s *DescribeClientVpnRoutesOutput) SetNextToken(v string) *DescribeClientVpnRoutesOutput {
56032	s.NextToken = &v
56033	return s
56034}
56035
56036// SetRoutes sets the Routes field's value.
56037func (s *DescribeClientVpnRoutesOutput) SetRoutes(v []*ClientVpnRoute) *DescribeClientVpnRoutesOutput {
56038	s.Routes = v
56039	return s
56040}
56041
56042type DescribeClientVpnTargetNetworksInput struct {
56043	_ struct{} `type:"structure"`
56044
56045	// The IDs of the target network associations.
56046	AssociationIds []*string `locationNameList:"item" type:"list"`
56047
56048	// The ID of the Client VPN endpoint.
56049	//
56050	// ClientVpnEndpointId is a required field
56051	ClientVpnEndpointId *string `type:"string" required:"true"`
56052
56053	// Checks whether you have the required permissions for the action, without
56054	// actually making the request, and provides an error response. If you have
56055	// the required permissions, the error response is DryRunOperation. Otherwise,
56056	// it is UnauthorizedOperation.
56057	DryRun *bool `type:"boolean"`
56058
56059	// One or more filters. Filter names and values are case-sensitive.
56060	//
56061	//    * association-id - The ID of the association.
56062	//
56063	//    * target-network-id - The ID of the subnet specified as the target network.
56064	//
56065	//    * vpc-id - The ID of the VPC in which the target network is located.
56066	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56067
56068	// The maximum number of results to return for the request in a single page.
56069	// The remaining results can be seen by sending another request with the nextToken
56070	// value.
56071	MaxResults *int64 `min:"5" type:"integer"`
56072
56073	// The token to retrieve the next page of results.
56074	NextToken *string `type:"string"`
56075}
56076
56077// String returns the string representation
56078func (s DescribeClientVpnTargetNetworksInput) String() string {
56079	return awsutil.Prettify(s)
56080}
56081
56082// GoString returns the string representation
56083func (s DescribeClientVpnTargetNetworksInput) GoString() string {
56084	return s.String()
56085}
56086
56087// Validate inspects the fields of the type to determine if they are valid.
56088func (s *DescribeClientVpnTargetNetworksInput) Validate() error {
56089	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnTargetNetworksInput"}
56090	if s.ClientVpnEndpointId == nil {
56091		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
56092	}
56093	if s.MaxResults != nil && *s.MaxResults < 5 {
56094		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
56095	}
56096
56097	if invalidParams.Len() > 0 {
56098		return invalidParams
56099	}
56100	return nil
56101}
56102
56103// SetAssociationIds sets the AssociationIds field's value.
56104func (s *DescribeClientVpnTargetNetworksInput) SetAssociationIds(v []*string) *DescribeClientVpnTargetNetworksInput {
56105	s.AssociationIds = v
56106	return s
56107}
56108
56109// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
56110func (s *DescribeClientVpnTargetNetworksInput) SetClientVpnEndpointId(v string) *DescribeClientVpnTargetNetworksInput {
56111	s.ClientVpnEndpointId = &v
56112	return s
56113}
56114
56115// SetDryRun sets the DryRun field's value.
56116func (s *DescribeClientVpnTargetNetworksInput) SetDryRun(v bool) *DescribeClientVpnTargetNetworksInput {
56117	s.DryRun = &v
56118	return s
56119}
56120
56121// SetFilters sets the Filters field's value.
56122func (s *DescribeClientVpnTargetNetworksInput) SetFilters(v []*Filter) *DescribeClientVpnTargetNetworksInput {
56123	s.Filters = v
56124	return s
56125}
56126
56127// SetMaxResults sets the MaxResults field's value.
56128func (s *DescribeClientVpnTargetNetworksInput) SetMaxResults(v int64) *DescribeClientVpnTargetNetworksInput {
56129	s.MaxResults = &v
56130	return s
56131}
56132
56133// SetNextToken sets the NextToken field's value.
56134func (s *DescribeClientVpnTargetNetworksInput) SetNextToken(v string) *DescribeClientVpnTargetNetworksInput {
56135	s.NextToken = &v
56136	return s
56137}
56138
56139type DescribeClientVpnTargetNetworksOutput struct {
56140	_ struct{} `type:"structure"`
56141
56142	// Information about the associated target networks.
56143	ClientVpnTargetNetworks []*TargetNetwork `locationName:"clientVpnTargetNetworks" locationNameList:"item" type:"list"`
56144
56145	// The token to use to retrieve the next page of results. This value is null
56146	// when there are no more results to return.
56147	NextToken *string `locationName:"nextToken" type:"string"`
56148}
56149
56150// String returns the string representation
56151func (s DescribeClientVpnTargetNetworksOutput) String() string {
56152	return awsutil.Prettify(s)
56153}
56154
56155// GoString returns the string representation
56156func (s DescribeClientVpnTargetNetworksOutput) GoString() string {
56157	return s.String()
56158}
56159
56160// SetClientVpnTargetNetworks sets the ClientVpnTargetNetworks field's value.
56161func (s *DescribeClientVpnTargetNetworksOutput) SetClientVpnTargetNetworks(v []*TargetNetwork) *DescribeClientVpnTargetNetworksOutput {
56162	s.ClientVpnTargetNetworks = v
56163	return s
56164}
56165
56166// SetNextToken sets the NextToken field's value.
56167func (s *DescribeClientVpnTargetNetworksOutput) SetNextToken(v string) *DescribeClientVpnTargetNetworksOutput {
56168	s.NextToken = &v
56169	return s
56170}
56171
56172type DescribeCoipPoolsInput struct {
56173	_ struct{} `type:"structure"`
56174
56175	// Checks whether you have the required permissions for the action, without
56176	// actually making the request, and provides an error response. If you have
56177	// the required permissions, the error response is DryRunOperation. Otherwise,
56178	// it is UnauthorizedOperation.
56179	DryRun *bool `type:"boolean"`
56180
56181	// The filters. The following are the possible values:
56182	//
56183	//    * coip-pool.pool-id
56184	//
56185	//    * coip-pool.local-gateway-route-table-id
56186	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56187
56188	// The maximum number of results to return with a single call. To retrieve the
56189	// remaining results, make another call with the returned nextToken value.
56190	MaxResults *int64 `min:"5" type:"integer"`
56191
56192	// The token for the next page of results.
56193	NextToken *string `type:"string"`
56194
56195	// The IDs of the address pools.
56196	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
56197}
56198
56199// String returns the string representation
56200func (s DescribeCoipPoolsInput) String() string {
56201	return awsutil.Prettify(s)
56202}
56203
56204// GoString returns the string representation
56205func (s DescribeCoipPoolsInput) GoString() string {
56206	return s.String()
56207}
56208
56209// Validate inspects the fields of the type to determine if they are valid.
56210func (s *DescribeCoipPoolsInput) Validate() error {
56211	invalidParams := request.ErrInvalidParams{Context: "DescribeCoipPoolsInput"}
56212	if s.MaxResults != nil && *s.MaxResults < 5 {
56213		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
56214	}
56215
56216	if invalidParams.Len() > 0 {
56217		return invalidParams
56218	}
56219	return nil
56220}
56221
56222// SetDryRun sets the DryRun field's value.
56223func (s *DescribeCoipPoolsInput) SetDryRun(v bool) *DescribeCoipPoolsInput {
56224	s.DryRun = &v
56225	return s
56226}
56227
56228// SetFilters sets the Filters field's value.
56229func (s *DescribeCoipPoolsInput) SetFilters(v []*Filter) *DescribeCoipPoolsInput {
56230	s.Filters = v
56231	return s
56232}
56233
56234// SetMaxResults sets the MaxResults field's value.
56235func (s *DescribeCoipPoolsInput) SetMaxResults(v int64) *DescribeCoipPoolsInput {
56236	s.MaxResults = &v
56237	return s
56238}
56239
56240// SetNextToken sets the NextToken field's value.
56241func (s *DescribeCoipPoolsInput) SetNextToken(v string) *DescribeCoipPoolsInput {
56242	s.NextToken = &v
56243	return s
56244}
56245
56246// SetPoolIds sets the PoolIds field's value.
56247func (s *DescribeCoipPoolsInput) SetPoolIds(v []*string) *DescribeCoipPoolsInput {
56248	s.PoolIds = v
56249	return s
56250}
56251
56252type DescribeCoipPoolsOutput struct {
56253	_ struct{} `type:"structure"`
56254
56255	// Information about the address pools.
56256	CoipPools []*CoipPool `locationName:"coipPoolSet" locationNameList:"item" type:"list"`
56257
56258	// The token to use to retrieve the next page of results. This value is null
56259	// when there are no more results to return.
56260	NextToken *string `locationName:"nextToken" type:"string"`
56261}
56262
56263// String returns the string representation
56264func (s DescribeCoipPoolsOutput) String() string {
56265	return awsutil.Prettify(s)
56266}
56267
56268// GoString returns the string representation
56269func (s DescribeCoipPoolsOutput) GoString() string {
56270	return s.String()
56271}
56272
56273// SetCoipPools sets the CoipPools field's value.
56274func (s *DescribeCoipPoolsOutput) SetCoipPools(v []*CoipPool) *DescribeCoipPoolsOutput {
56275	s.CoipPools = v
56276	return s
56277}
56278
56279// SetNextToken sets the NextToken field's value.
56280func (s *DescribeCoipPoolsOutput) SetNextToken(v string) *DescribeCoipPoolsOutput {
56281	s.NextToken = &v
56282	return s
56283}
56284
56285type DescribeConversionTasksInput struct {
56286	_ struct{} `type:"structure"`
56287
56288	// The conversion task IDs.
56289	ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
56290
56291	// Checks whether you have the required permissions for the action, without
56292	// actually making the request, and provides an error response. If you have
56293	// the required permissions, the error response is DryRunOperation. Otherwise,
56294	// it is UnauthorizedOperation.
56295	DryRun *bool `locationName:"dryRun" type:"boolean"`
56296}
56297
56298// String returns the string representation
56299func (s DescribeConversionTasksInput) String() string {
56300	return awsutil.Prettify(s)
56301}
56302
56303// GoString returns the string representation
56304func (s DescribeConversionTasksInput) GoString() string {
56305	return s.String()
56306}
56307
56308// SetConversionTaskIds sets the ConversionTaskIds field's value.
56309func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
56310	s.ConversionTaskIds = v
56311	return s
56312}
56313
56314// SetDryRun sets the DryRun field's value.
56315func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
56316	s.DryRun = &v
56317	return s
56318}
56319
56320type DescribeConversionTasksOutput struct {
56321	_ struct{} `type:"structure"`
56322
56323	// Information about the conversion tasks.
56324	ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
56325}
56326
56327// String returns the string representation
56328func (s DescribeConversionTasksOutput) String() string {
56329	return awsutil.Prettify(s)
56330}
56331
56332// GoString returns the string representation
56333func (s DescribeConversionTasksOutput) GoString() string {
56334	return s.String()
56335}
56336
56337// SetConversionTasks sets the ConversionTasks field's value.
56338func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
56339	s.ConversionTasks = v
56340	return s
56341}
56342
56343// Contains the parameters for DescribeCustomerGateways.
56344type DescribeCustomerGatewaysInput struct {
56345	_ struct{} `type:"structure"`
56346
56347	// One or more customer gateway IDs.
56348	//
56349	// Default: Describes all your customer gateways.
56350	CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
56351
56352	// Checks whether you have the required permissions for the action, without
56353	// actually making the request, and provides an error response. If you have
56354	// the required permissions, the error response is DryRunOperation. Otherwise,
56355	// it is UnauthorizedOperation.
56356	DryRun *bool `locationName:"dryRun" type:"boolean"`
56357
56358	// One or more filters.
56359	//
56360	//    * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
56361	//    System Number (ASN).
56362	//
56363	//    * customer-gateway-id - The ID of the customer gateway.
56364	//
56365	//    * ip-address - The IP address of the customer gateway's Internet-routable
56366	//    external interface.
56367	//
56368	//    * state - The state of the customer gateway (pending | available | deleting
56369	//    | deleted).
56370	//
56371	//    * type - The type of customer gateway. Currently, the only supported type
56372	//    is ipsec.1.
56373	//
56374	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56375	//    Use the tag key in the filter name and the tag value as the filter value.
56376	//    For example, to find all resources that have a tag with the key Owner
56377	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
56378	//    the filter value.
56379	//
56380	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56381	//    to find all resources assigned a tag with a specific key, regardless of
56382	//    the tag value.
56383	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56384}
56385
56386// String returns the string representation
56387func (s DescribeCustomerGatewaysInput) String() string {
56388	return awsutil.Prettify(s)
56389}
56390
56391// GoString returns the string representation
56392func (s DescribeCustomerGatewaysInput) GoString() string {
56393	return s.String()
56394}
56395
56396// SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
56397func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
56398	s.CustomerGatewayIds = v
56399	return s
56400}
56401
56402// SetDryRun sets the DryRun field's value.
56403func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
56404	s.DryRun = &v
56405	return s
56406}
56407
56408// SetFilters sets the Filters field's value.
56409func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
56410	s.Filters = v
56411	return s
56412}
56413
56414// Contains the output of DescribeCustomerGateways.
56415type DescribeCustomerGatewaysOutput struct {
56416	_ struct{} `type:"structure"`
56417
56418	// Information about one or more customer gateways.
56419	CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
56420}
56421
56422// String returns the string representation
56423func (s DescribeCustomerGatewaysOutput) String() string {
56424	return awsutil.Prettify(s)
56425}
56426
56427// GoString returns the string representation
56428func (s DescribeCustomerGatewaysOutput) GoString() string {
56429	return s.String()
56430}
56431
56432// SetCustomerGateways sets the CustomerGateways field's value.
56433func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
56434	s.CustomerGateways = v
56435	return s
56436}
56437
56438type DescribeDhcpOptionsInput struct {
56439	_ struct{} `type:"structure"`
56440
56441	// The IDs of one or more DHCP options sets.
56442	//
56443	// Default: Describes all your DHCP options sets.
56444	DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
56445
56446	// Checks whether you have the required permissions for the action, without
56447	// actually making the request, and provides an error response. If you have
56448	// the required permissions, the error response is DryRunOperation. Otherwise,
56449	// it is UnauthorizedOperation.
56450	DryRun *bool `locationName:"dryRun" type:"boolean"`
56451
56452	// One or more filters.
56453	//
56454	//    * dhcp-options-id - The ID of a DHCP options set.
56455	//
56456	//    * key - The key for one of the options (for example, domain-name).
56457	//
56458	//    * value - The value for one of the options.
56459	//
56460	//    * owner-id - The ID of the AWS account that owns the DHCP options set.
56461	//
56462	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56463	//    Use the tag key in the filter name and the tag value as the filter value.
56464	//    For example, to find all resources that have a tag with the key Owner
56465	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
56466	//    the filter value.
56467	//
56468	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56469	//    to find all resources assigned a tag with a specific key, regardless of
56470	//    the tag value.
56471	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56472
56473	// The maximum number of results to return with a single call. To retrieve the
56474	// remaining results, make another call with the returned nextToken value.
56475	MaxResults *int64 `min:"5" type:"integer"`
56476
56477	// The token for the next page of results.
56478	NextToken *string `type:"string"`
56479}
56480
56481// String returns the string representation
56482func (s DescribeDhcpOptionsInput) String() string {
56483	return awsutil.Prettify(s)
56484}
56485
56486// GoString returns the string representation
56487func (s DescribeDhcpOptionsInput) GoString() string {
56488	return s.String()
56489}
56490
56491// Validate inspects the fields of the type to determine if they are valid.
56492func (s *DescribeDhcpOptionsInput) Validate() error {
56493	invalidParams := request.ErrInvalidParams{Context: "DescribeDhcpOptionsInput"}
56494	if s.MaxResults != nil && *s.MaxResults < 5 {
56495		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
56496	}
56497
56498	if invalidParams.Len() > 0 {
56499		return invalidParams
56500	}
56501	return nil
56502}
56503
56504// SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
56505func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
56506	s.DhcpOptionsIds = v
56507	return s
56508}
56509
56510// SetDryRun sets the DryRun field's value.
56511func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
56512	s.DryRun = &v
56513	return s
56514}
56515
56516// SetFilters sets the Filters field's value.
56517func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
56518	s.Filters = v
56519	return s
56520}
56521
56522// SetMaxResults sets the MaxResults field's value.
56523func (s *DescribeDhcpOptionsInput) SetMaxResults(v int64) *DescribeDhcpOptionsInput {
56524	s.MaxResults = &v
56525	return s
56526}
56527
56528// SetNextToken sets the NextToken field's value.
56529func (s *DescribeDhcpOptionsInput) SetNextToken(v string) *DescribeDhcpOptionsInput {
56530	s.NextToken = &v
56531	return s
56532}
56533
56534type DescribeDhcpOptionsOutput struct {
56535	_ struct{} `type:"structure"`
56536
56537	// Information about one or more DHCP options sets.
56538	DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
56539
56540	// The token to use to retrieve the next page of results. This value is null
56541	// when there are no more results to return.
56542	NextToken *string `locationName:"nextToken" type:"string"`
56543}
56544
56545// String returns the string representation
56546func (s DescribeDhcpOptionsOutput) String() string {
56547	return awsutil.Prettify(s)
56548}
56549
56550// GoString returns the string representation
56551func (s DescribeDhcpOptionsOutput) GoString() string {
56552	return s.String()
56553}
56554
56555// SetDhcpOptions sets the DhcpOptions field's value.
56556func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
56557	s.DhcpOptions = v
56558	return s
56559}
56560
56561// SetNextToken sets the NextToken field's value.
56562func (s *DescribeDhcpOptionsOutput) SetNextToken(v string) *DescribeDhcpOptionsOutput {
56563	s.NextToken = &v
56564	return s
56565}
56566
56567type DescribeEgressOnlyInternetGatewaysInput struct {
56568	_ struct{} `type:"structure"`
56569
56570	// Checks whether you have the required permissions for the action, without
56571	// actually making the request, and provides an error response. If you have
56572	// the required permissions, the error response is DryRunOperation. Otherwise,
56573	// it is UnauthorizedOperation.
56574	DryRun *bool `type:"boolean"`
56575
56576	// One or more egress-only internet gateway IDs.
56577	EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
56578
56579	// One or more filters.
56580	//
56581	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56582	//    Use the tag key in the filter name and the tag value as the filter value.
56583	//    For example, to find all resources that have a tag with the key Owner
56584	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
56585	//    the filter value.
56586	//
56587	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56588	//    to find all resources assigned a tag with a specific key, regardless of
56589	//    the tag value.
56590	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56591
56592	// The maximum number of results to return with a single call. To retrieve the
56593	// remaining results, make another call with the returned nextToken value.
56594	MaxResults *int64 `min:"5" type:"integer"`
56595
56596	// The token for the next page of results.
56597	NextToken *string `type:"string"`
56598}
56599
56600// String returns the string representation
56601func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
56602	return awsutil.Prettify(s)
56603}
56604
56605// GoString returns the string representation
56606func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
56607	return s.String()
56608}
56609
56610// Validate inspects the fields of the type to determine if they are valid.
56611func (s *DescribeEgressOnlyInternetGatewaysInput) Validate() error {
56612	invalidParams := request.ErrInvalidParams{Context: "DescribeEgressOnlyInternetGatewaysInput"}
56613	if s.MaxResults != nil && *s.MaxResults < 5 {
56614		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
56615	}
56616
56617	if invalidParams.Len() > 0 {
56618		return invalidParams
56619	}
56620	return nil
56621}
56622
56623// SetDryRun sets the DryRun field's value.
56624func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
56625	s.DryRun = &v
56626	return s
56627}
56628
56629// SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
56630func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
56631	s.EgressOnlyInternetGatewayIds = v
56632	return s
56633}
56634
56635// SetFilters sets the Filters field's value.
56636func (s *DescribeEgressOnlyInternetGatewaysInput) SetFilters(v []*Filter) *DescribeEgressOnlyInternetGatewaysInput {
56637	s.Filters = v
56638	return s
56639}
56640
56641// SetMaxResults sets the MaxResults field's value.
56642func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
56643	s.MaxResults = &v
56644	return s
56645}
56646
56647// SetNextToken sets the NextToken field's value.
56648func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
56649	s.NextToken = &v
56650	return s
56651}
56652
56653type DescribeEgressOnlyInternetGatewaysOutput struct {
56654	_ struct{} `type:"structure"`
56655
56656	// Information about the egress-only internet gateways.
56657	EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
56658
56659	// The token to use to retrieve the next page of results. This value is null
56660	// when there are no more results to return.
56661	NextToken *string `locationName:"nextToken" type:"string"`
56662}
56663
56664// String returns the string representation
56665func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
56666	return awsutil.Prettify(s)
56667}
56668
56669// GoString returns the string representation
56670func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
56671	return s.String()
56672}
56673
56674// SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
56675func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
56676	s.EgressOnlyInternetGateways = v
56677	return s
56678}
56679
56680// SetNextToken sets the NextToken field's value.
56681func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
56682	s.NextToken = &v
56683	return s
56684}
56685
56686type DescribeElasticGpusInput struct {
56687	_ struct{} `type:"structure"`
56688
56689	// Checks whether you have the required permissions for the action, without
56690	// actually making the request, and provides an error response. If you have
56691	// the required permissions, the error response is DryRunOperation. Otherwise,
56692	// it is UnauthorizedOperation.
56693	DryRun *bool `type:"boolean"`
56694
56695	// The Elastic Graphics accelerator IDs.
56696	ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
56697
56698	// The filters.
56699	//
56700	//    * availability-zone - The Availability Zone in which the Elastic Graphics
56701	//    accelerator resides.
56702	//
56703	//    * elastic-gpu-health - The status of the Elastic Graphics accelerator
56704	//    (OK | IMPAIRED).
56705	//
56706	//    * elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).
56707	//
56708	//    * elastic-gpu-type - The type of Elastic Graphics accelerator; for example,
56709	//    eg1.medium.
56710	//
56711	//    * instance-id - The ID of the instance to which the Elastic Graphics accelerator
56712	//    is associated.
56713	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56714
56715	// The maximum number of results to return in a single call. To retrieve the
56716	// remaining results, make another call with the returned NextToken value. This
56717	// value can be between 5 and 1000.
56718	MaxResults *int64 `min:"10" type:"integer"`
56719
56720	// The token to request the next page of results.
56721	NextToken *string `type:"string"`
56722}
56723
56724// String returns the string representation
56725func (s DescribeElasticGpusInput) String() string {
56726	return awsutil.Prettify(s)
56727}
56728
56729// GoString returns the string representation
56730func (s DescribeElasticGpusInput) GoString() string {
56731	return s.String()
56732}
56733
56734// Validate inspects the fields of the type to determine if they are valid.
56735func (s *DescribeElasticGpusInput) Validate() error {
56736	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticGpusInput"}
56737	if s.MaxResults != nil && *s.MaxResults < 10 {
56738		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
56739	}
56740
56741	if invalidParams.Len() > 0 {
56742		return invalidParams
56743	}
56744	return nil
56745}
56746
56747// SetDryRun sets the DryRun field's value.
56748func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
56749	s.DryRun = &v
56750	return s
56751}
56752
56753// SetElasticGpuIds sets the ElasticGpuIds field's value.
56754func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
56755	s.ElasticGpuIds = v
56756	return s
56757}
56758
56759// SetFilters sets the Filters field's value.
56760func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
56761	s.Filters = v
56762	return s
56763}
56764
56765// SetMaxResults sets the MaxResults field's value.
56766func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
56767	s.MaxResults = &v
56768	return s
56769}
56770
56771// SetNextToken sets the NextToken field's value.
56772func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
56773	s.NextToken = &v
56774	return s
56775}
56776
56777type DescribeElasticGpusOutput struct {
56778	_ struct{} `type:"structure"`
56779
56780	// Information about the Elastic Graphics accelerators.
56781	ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"`
56782
56783	// The total number of items to return. If the total number of items available
56784	// is more than the value specified in max-items then a Next-Token will be provided
56785	// in the output that you can use to resume pagination.
56786	MaxResults *int64 `locationName:"maxResults" type:"integer"`
56787
56788	// The token to use to retrieve the next page of results. This value is null
56789	// when there are no more results to return.
56790	NextToken *string `locationName:"nextToken" type:"string"`
56791}
56792
56793// String returns the string representation
56794func (s DescribeElasticGpusOutput) String() string {
56795	return awsutil.Prettify(s)
56796}
56797
56798// GoString returns the string representation
56799func (s DescribeElasticGpusOutput) GoString() string {
56800	return s.String()
56801}
56802
56803// SetElasticGpuSet sets the ElasticGpuSet field's value.
56804func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
56805	s.ElasticGpuSet = v
56806	return s
56807}
56808
56809// SetMaxResults sets the MaxResults field's value.
56810func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
56811	s.MaxResults = &v
56812	return s
56813}
56814
56815// SetNextToken sets the NextToken field's value.
56816func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
56817	s.NextToken = &v
56818	return s
56819}
56820
56821type DescribeExportImageTasksInput struct {
56822	_ struct{} `type:"structure"`
56823
56824	// Checks whether you have the required permissions for the action, without
56825	// actually making the request, and provides an error response. If you have
56826	// the required permissions, the error response is DryRunOperation. Otherwise,
56827	// it is UnauthorizedOperation.
56828	DryRun *bool `type:"boolean"`
56829
56830	// The IDs of the export image tasks.
56831	ExportImageTaskIds []*string `locationName:"ExportImageTaskId" locationNameList:"ExportImageTaskId" type:"list"`
56832
56833	// Filter tasks using the task-state filter and one of the following values:
56834	// active, completed, deleting, or deleted.
56835	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56836
56837	// The maximum number of results to return in a single call.
56838	MaxResults *int64 `min:"1" type:"integer"`
56839
56840	// A token that indicates the next page of results.
56841	NextToken *string `type:"string"`
56842}
56843
56844// String returns the string representation
56845func (s DescribeExportImageTasksInput) String() string {
56846	return awsutil.Prettify(s)
56847}
56848
56849// GoString returns the string representation
56850func (s DescribeExportImageTasksInput) GoString() string {
56851	return s.String()
56852}
56853
56854// Validate inspects the fields of the type to determine if they are valid.
56855func (s *DescribeExportImageTasksInput) Validate() error {
56856	invalidParams := request.ErrInvalidParams{Context: "DescribeExportImageTasksInput"}
56857	if s.MaxResults != nil && *s.MaxResults < 1 {
56858		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
56859	}
56860
56861	if invalidParams.Len() > 0 {
56862		return invalidParams
56863	}
56864	return nil
56865}
56866
56867// SetDryRun sets the DryRun field's value.
56868func (s *DescribeExportImageTasksInput) SetDryRun(v bool) *DescribeExportImageTasksInput {
56869	s.DryRun = &v
56870	return s
56871}
56872
56873// SetExportImageTaskIds sets the ExportImageTaskIds field's value.
56874func (s *DescribeExportImageTasksInput) SetExportImageTaskIds(v []*string) *DescribeExportImageTasksInput {
56875	s.ExportImageTaskIds = v
56876	return s
56877}
56878
56879// SetFilters sets the Filters field's value.
56880func (s *DescribeExportImageTasksInput) SetFilters(v []*Filter) *DescribeExportImageTasksInput {
56881	s.Filters = v
56882	return s
56883}
56884
56885// SetMaxResults sets the MaxResults field's value.
56886func (s *DescribeExportImageTasksInput) SetMaxResults(v int64) *DescribeExportImageTasksInput {
56887	s.MaxResults = &v
56888	return s
56889}
56890
56891// SetNextToken sets the NextToken field's value.
56892func (s *DescribeExportImageTasksInput) SetNextToken(v string) *DescribeExportImageTasksInput {
56893	s.NextToken = &v
56894	return s
56895}
56896
56897type DescribeExportImageTasksOutput struct {
56898	_ struct{} `type:"structure"`
56899
56900	// Information about the export image tasks.
56901	ExportImageTasks []*ExportImageTask `locationName:"exportImageTaskSet" locationNameList:"item" type:"list"`
56902
56903	// The token to use to get the next page of results. This value is null when
56904	// there are no more results to return.
56905	NextToken *string `locationName:"nextToken" type:"string"`
56906}
56907
56908// String returns the string representation
56909func (s DescribeExportImageTasksOutput) String() string {
56910	return awsutil.Prettify(s)
56911}
56912
56913// GoString returns the string representation
56914func (s DescribeExportImageTasksOutput) GoString() string {
56915	return s.String()
56916}
56917
56918// SetExportImageTasks sets the ExportImageTasks field's value.
56919func (s *DescribeExportImageTasksOutput) SetExportImageTasks(v []*ExportImageTask) *DescribeExportImageTasksOutput {
56920	s.ExportImageTasks = v
56921	return s
56922}
56923
56924// SetNextToken sets the NextToken field's value.
56925func (s *DescribeExportImageTasksOutput) SetNextToken(v string) *DescribeExportImageTasksOutput {
56926	s.NextToken = &v
56927	return s
56928}
56929
56930type DescribeExportTasksInput struct {
56931	_ struct{} `type:"structure"`
56932
56933	// The export task IDs.
56934	ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
56935
56936	// the filters for the export tasks.
56937	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56938}
56939
56940// String returns the string representation
56941func (s DescribeExportTasksInput) String() string {
56942	return awsutil.Prettify(s)
56943}
56944
56945// GoString returns the string representation
56946func (s DescribeExportTasksInput) GoString() string {
56947	return s.String()
56948}
56949
56950// SetExportTaskIds sets the ExportTaskIds field's value.
56951func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
56952	s.ExportTaskIds = v
56953	return s
56954}
56955
56956// SetFilters sets the Filters field's value.
56957func (s *DescribeExportTasksInput) SetFilters(v []*Filter) *DescribeExportTasksInput {
56958	s.Filters = v
56959	return s
56960}
56961
56962type DescribeExportTasksOutput struct {
56963	_ struct{} `type:"structure"`
56964
56965	// Information about the export tasks.
56966	ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
56967}
56968
56969// String returns the string representation
56970func (s DescribeExportTasksOutput) String() string {
56971	return awsutil.Prettify(s)
56972}
56973
56974// GoString returns the string representation
56975func (s DescribeExportTasksOutput) GoString() string {
56976	return s.String()
56977}
56978
56979// SetExportTasks sets the ExportTasks field's value.
56980func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
56981	s.ExportTasks = v
56982	return s
56983}
56984
56985// Describes fast snapshot restores for a snapshot.
56986type DescribeFastSnapshotRestoreSuccessItem struct {
56987	_ struct{} `type:"structure"`
56988
56989	// The Availability Zone.
56990	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
56991
56992	// The time at which fast snapshot restores entered the disabled state.
56993	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
56994
56995	// The time at which fast snapshot restores entered the disabling state.
56996	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
56997
56998	// The time at which fast snapshot restores entered the enabled state.
56999	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
57000
57001	// The time at which fast snapshot restores entered the enabling state.
57002	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
57003
57004	// The time at which fast snapshot restores entered the optimizing state.
57005	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
57006
57007	// The alias of the snapshot owner.
57008	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
57009
57010	// The ID of the AWS account that owns the snapshot.
57011	OwnerId *string `locationName:"ownerId" type:"string"`
57012
57013	// The ID of the snapshot.
57014	SnapshotId *string `locationName:"snapshotId" type:"string"`
57015
57016	// The state of fast snapshot restores.
57017	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
57018
57019	// The reason for the state transition. The possible values are as follows:
57020	//
57021	//    * Client.UserInitiated - The state successfully transitioned to enabling
57022	//    or disabling.
57023	//
57024	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
57025	//    transitioned to optimizing, enabled, or disabled.
57026	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
57027}
57028
57029// String returns the string representation
57030func (s DescribeFastSnapshotRestoreSuccessItem) String() string {
57031	return awsutil.Prettify(s)
57032}
57033
57034// GoString returns the string representation
57035func (s DescribeFastSnapshotRestoreSuccessItem) GoString() string {
57036	return s.String()
57037}
57038
57039// SetAvailabilityZone sets the AvailabilityZone field's value.
57040func (s *DescribeFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DescribeFastSnapshotRestoreSuccessItem {
57041	s.AvailabilityZone = &v
57042	return s
57043}
57044
57045// SetDisabledTime sets the DisabledTime field's value.
57046func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
57047	s.DisabledTime = &v
57048	return s
57049}
57050
57051// SetDisablingTime sets the DisablingTime field's value.
57052func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
57053	s.DisablingTime = &v
57054	return s
57055}
57056
57057// SetEnabledTime sets the EnabledTime field's value.
57058func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
57059	s.EnabledTime = &v
57060	return s
57061}
57062
57063// SetEnablingTime sets the EnablingTime field's value.
57064func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
57065	s.EnablingTime = &v
57066	return s
57067}
57068
57069// SetOptimizingTime sets the OptimizingTime field's value.
57070func (s *DescribeFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
57071	s.OptimizingTime = &v
57072	return s
57073}
57074
57075// SetOwnerAlias sets the OwnerAlias field's value.
57076func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DescribeFastSnapshotRestoreSuccessItem {
57077	s.OwnerAlias = &v
57078	return s
57079}
57080
57081// SetOwnerId sets the OwnerId field's value.
57082func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DescribeFastSnapshotRestoreSuccessItem {
57083	s.OwnerId = &v
57084	return s
57085}
57086
57087// SetSnapshotId sets the SnapshotId field's value.
57088func (s *DescribeFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DescribeFastSnapshotRestoreSuccessItem {
57089	s.SnapshotId = &v
57090	return s
57091}
57092
57093// SetState sets the State field's value.
57094func (s *DescribeFastSnapshotRestoreSuccessItem) SetState(v string) *DescribeFastSnapshotRestoreSuccessItem {
57095	s.State = &v
57096	return s
57097}
57098
57099// SetStateTransitionReason sets the StateTransitionReason field's value.
57100func (s *DescribeFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DescribeFastSnapshotRestoreSuccessItem {
57101	s.StateTransitionReason = &v
57102	return s
57103}
57104
57105type DescribeFastSnapshotRestoresInput struct {
57106	_ struct{} `type:"structure"`
57107
57108	// Checks whether you have the required permissions for the action, without
57109	// actually making the request, and provides an error response. If you have
57110	// the required permissions, the error response is DryRunOperation. Otherwise,
57111	// it is UnauthorizedOperation.
57112	DryRun *bool `type:"boolean"`
57113
57114	// The filters. The possible values are:
57115	//
57116	//    * availability-zone: The Availability Zone of the snapshot.
57117	//
57118	//    * owner-id: The ID of the AWS account that owns the snapshot.
57119	//
57120	//    * snapshot-id: The ID of the snapshot.
57121	//
57122	//    * state: The state of fast snapshot restores for the snapshot (enabling
57123	//    | optimizing | enabled | disabling | disabled).
57124	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
57125
57126	// The maximum number of results to return with a single call. To retrieve the
57127	// remaining results, make another call with the returned nextToken value.
57128	MaxResults *int64 `type:"integer"`
57129
57130	// The token for the next page of results.
57131	NextToken *string `type:"string"`
57132}
57133
57134// String returns the string representation
57135func (s DescribeFastSnapshotRestoresInput) String() string {
57136	return awsutil.Prettify(s)
57137}
57138
57139// GoString returns the string representation
57140func (s DescribeFastSnapshotRestoresInput) GoString() string {
57141	return s.String()
57142}
57143
57144// SetDryRun sets the DryRun field's value.
57145func (s *DescribeFastSnapshotRestoresInput) SetDryRun(v bool) *DescribeFastSnapshotRestoresInput {
57146	s.DryRun = &v
57147	return s
57148}
57149
57150// SetFilters sets the Filters field's value.
57151func (s *DescribeFastSnapshotRestoresInput) SetFilters(v []*Filter) *DescribeFastSnapshotRestoresInput {
57152	s.Filters = v
57153	return s
57154}
57155
57156// SetMaxResults sets the MaxResults field's value.
57157func (s *DescribeFastSnapshotRestoresInput) SetMaxResults(v int64) *DescribeFastSnapshotRestoresInput {
57158	s.MaxResults = &v
57159	return s
57160}
57161
57162// SetNextToken sets the NextToken field's value.
57163func (s *DescribeFastSnapshotRestoresInput) SetNextToken(v string) *DescribeFastSnapshotRestoresInput {
57164	s.NextToken = &v
57165	return s
57166}
57167
57168type DescribeFastSnapshotRestoresOutput struct {
57169	_ struct{} `type:"structure"`
57170
57171	// Information about the state of fast snapshot restores.
57172	FastSnapshotRestores []*DescribeFastSnapshotRestoreSuccessItem `locationName:"fastSnapshotRestoreSet" locationNameList:"item" type:"list"`
57173
57174	// The token to use to retrieve the next page of results. This value is null
57175	// when there are no more results to return.
57176	NextToken *string `locationName:"nextToken" type:"string"`
57177}
57178
57179// String returns the string representation
57180func (s DescribeFastSnapshotRestoresOutput) String() string {
57181	return awsutil.Prettify(s)
57182}
57183
57184// GoString returns the string representation
57185func (s DescribeFastSnapshotRestoresOutput) GoString() string {
57186	return s.String()
57187}
57188
57189// SetFastSnapshotRestores sets the FastSnapshotRestores field's value.
57190func (s *DescribeFastSnapshotRestoresOutput) SetFastSnapshotRestores(v []*DescribeFastSnapshotRestoreSuccessItem) *DescribeFastSnapshotRestoresOutput {
57191	s.FastSnapshotRestores = v
57192	return s
57193}
57194
57195// SetNextToken sets the NextToken field's value.
57196func (s *DescribeFastSnapshotRestoresOutput) SetNextToken(v string) *DescribeFastSnapshotRestoresOutput {
57197	s.NextToken = &v
57198	return s
57199}
57200
57201// Describes the instances that could not be launched by the fleet.
57202type DescribeFleetError struct {
57203	_ struct{} `type:"structure"`
57204
57205	// The error code that indicates why the instance could not be launched. For
57206	// more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
57207	ErrorCode *string `locationName:"errorCode" type:"string"`
57208
57209	// The error message that describes why the instance could not be launched.
57210	// For more information about error messages, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
57211	ErrorMessage *string `locationName:"errorMessage" type:"string"`
57212
57213	// The launch templates and overrides that were used for launching the instances.
57214	// The values that you specify in the Overrides replace the values in the launch
57215	// template.
57216	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
57217
57218	// Indicates if the instance that could not be launched was a Spot Instance
57219	// or On-Demand Instance.
57220	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
57221}
57222
57223// String returns the string representation
57224func (s DescribeFleetError) String() string {
57225	return awsutil.Prettify(s)
57226}
57227
57228// GoString returns the string representation
57229func (s DescribeFleetError) GoString() string {
57230	return s.String()
57231}
57232
57233// SetErrorCode sets the ErrorCode field's value.
57234func (s *DescribeFleetError) SetErrorCode(v string) *DescribeFleetError {
57235	s.ErrorCode = &v
57236	return s
57237}
57238
57239// SetErrorMessage sets the ErrorMessage field's value.
57240func (s *DescribeFleetError) SetErrorMessage(v string) *DescribeFleetError {
57241	s.ErrorMessage = &v
57242	return s
57243}
57244
57245// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
57246func (s *DescribeFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetError {
57247	s.LaunchTemplateAndOverrides = v
57248	return s
57249}
57250
57251// SetLifecycle sets the Lifecycle field's value.
57252func (s *DescribeFleetError) SetLifecycle(v string) *DescribeFleetError {
57253	s.Lifecycle = &v
57254	return s
57255}
57256
57257type DescribeFleetHistoryInput struct {
57258	_ struct{} `type:"structure"`
57259
57260	// Checks whether you have the required permissions for the action, without
57261	// actually making the request, and provides an error response. If you have
57262	// the required permissions, the error response is DryRunOperation. Otherwise,
57263	// it is UnauthorizedOperation.
57264	DryRun *bool `type:"boolean"`
57265
57266	// The type of events to describe. By default, all events are described.
57267	EventType *string `type:"string" enum:"FleetEventType"`
57268
57269	// The ID of the EC2 Fleet.
57270	//
57271	// FleetId is a required field
57272	FleetId *string `type:"string" required:"true"`
57273
57274	// The maximum number of results to return in a single call. Specify a value
57275	// between 1 and 1000. The default value is 1000. To retrieve the remaining
57276	// results, make another call with the returned NextToken value.
57277	MaxResults *int64 `type:"integer"`
57278
57279	// The token for the next set of results.
57280	NextToken *string `type:"string"`
57281
57282	// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
57283	//
57284	// StartTime is a required field
57285	StartTime *time.Time `type:"timestamp" required:"true"`
57286}
57287
57288// String returns the string representation
57289func (s DescribeFleetHistoryInput) String() string {
57290	return awsutil.Prettify(s)
57291}
57292
57293// GoString returns the string representation
57294func (s DescribeFleetHistoryInput) GoString() string {
57295	return s.String()
57296}
57297
57298// Validate inspects the fields of the type to determine if they are valid.
57299func (s *DescribeFleetHistoryInput) Validate() error {
57300	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetHistoryInput"}
57301	if s.FleetId == nil {
57302		invalidParams.Add(request.NewErrParamRequired("FleetId"))
57303	}
57304	if s.StartTime == nil {
57305		invalidParams.Add(request.NewErrParamRequired("StartTime"))
57306	}
57307
57308	if invalidParams.Len() > 0 {
57309		return invalidParams
57310	}
57311	return nil
57312}
57313
57314// SetDryRun sets the DryRun field's value.
57315func (s *DescribeFleetHistoryInput) SetDryRun(v bool) *DescribeFleetHistoryInput {
57316	s.DryRun = &v
57317	return s
57318}
57319
57320// SetEventType sets the EventType field's value.
57321func (s *DescribeFleetHistoryInput) SetEventType(v string) *DescribeFleetHistoryInput {
57322	s.EventType = &v
57323	return s
57324}
57325
57326// SetFleetId sets the FleetId field's value.
57327func (s *DescribeFleetHistoryInput) SetFleetId(v string) *DescribeFleetHistoryInput {
57328	s.FleetId = &v
57329	return s
57330}
57331
57332// SetMaxResults sets the MaxResults field's value.
57333func (s *DescribeFleetHistoryInput) SetMaxResults(v int64) *DescribeFleetHistoryInput {
57334	s.MaxResults = &v
57335	return s
57336}
57337
57338// SetNextToken sets the NextToken field's value.
57339func (s *DescribeFleetHistoryInput) SetNextToken(v string) *DescribeFleetHistoryInput {
57340	s.NextToken = &v
57341	return s
57342}
57343
57344// SetStartTime sets the StartTime field's value.
57345func (s *DescribeFleetHistoryInput) SetStartTime(v time.Time) *DescribeFleetHistoryInput {
57346	s.StartTime = &v
57347	return s
57348}
57349
57350type DescribeFleetHistoryOutput struct {
57351	_ struct{} `type:"structure"`
57352
57353	// The ID of the EC Fleet.
57354	FleetId *string `locationName:"fleetId" type:"string"`
57355
57356	// Information about the events in the history of the EC2 Fleet.
57357	HistoryRecords []*HistoryRecordEntry `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
57358
57359	// The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
57360	// All records up to this time were retrieved.
57361	//
57362	// If nextToken indicates that there are more results, this value is not present.
57363	LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
57364
57365	// The token for the next set of results.
57366	NextToken *string `locationName:"nextToken" type:"string"`
57367
57368	// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
57369	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
57370}
57371
57372// String returns the string representation
57373func (s DescribeFleetHistoryOutput) String() string {
57374	return awsutil.Prettify(s)
57375}
57376
57377// GoString returns the string representation
57378func (s DescribeFleetHistoryOutput) GoString() string {
57379	return s.String()
57380}
57381
57382// SetFleetId sets the FleetId field's value.
57383func (s *DescribeFleetHistoryOutput) SetFleetId(v string) *DescribeFleetHistoryOutput {
57384	s.FleetId = &v
57385	return s
57386}
57387
57388// SetHistoryRecords sets the HistoryRecords field's value.
57389func (s *DescribeFleetHistoryOutput) SetHistoryRecords(v []*HistoryRecordEntry) *DescribeFleetHistoryOutput {
57390	s.HistoryRecords = v
57391	return s
57392}
57393
57394// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
57395func (s *DescribeFleetHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeFleetHistoryOutput {
57396	s.LastEvaluatedTime = &v
57397	return s
57398}
57399
57400// SetNextToken sets the NextToken field's value.
57401func (s *DescribeFleetHistoryOutput) SetNextToken(v string) *DescribeFleetHistoryOutput {
57402	s.NextToken = &v
57403	return s
57404}
57405
57406// SetStartTime sets the StartTime field's value.
57407func (s *DescribeFleetHistoryOutput) SetStartTime(v time.Time) *DescribeFleetHistoryOutput {
57408	s.StartTime = &v
57409	return s
57410}
57411
57412type DescribeFleetInstancesInput struct {
57413	_ struct{} `type:"structure"`
57414
57415	// Checks whether you have the required permissions for the action, without
57416	// actually making the request, and provides an error response. If you have
57417	// the required permissions, the error response is DryRunOperation. Otherwise,
57418	// it is UnauthorizedOperation.
57419	DryRun *bool `type:"boolean"`
57420
57421	// The filters.
57422	//
57423	//    * instance-type - The instance type.
57424	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
57425
57426	// The ID of the EC2 Fleet.
57427	//
57428	// FleetId is a required field
57429	FleetId *string `type:"string" required:"true"`
57430
57431	// The maximum number of results to return in a single call. Specify a value
57432	// between 1 and 1000. The default value is 1000. To retrieve the remaining
57433	// results, make another call with the returned NextToken value.
57434	MaxResults *int64 `type:"integer"`
57435
57436	// The token for the next set of results.
57437	NextToken *string `type:"string"`
57438}
57439
57440// String returns the string representation
57441func (s DescribeFleetInstancesInput) String() string {
57442	return awsutil.Prettify(s)
57443}
57444
57445// GoString returns the string representation
57446func (s DescribeFleetInstancesInput) GoString() string {
57447	return s.String()
57448}
57449
57450// Validate inspects the fields of the type to determine if they are valid.
57451func (s *DescribeFleetInstancesInput) Validate() error {
57452	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInstancesInput"}
57453	if s.FleetId == nil {
57454		invalidParams.Add(request.NewErrParamRequired("FleetId"))
57455	}
57456
57457	if invalidParams.Len() > 0 {
57458		return invalidParams
57459	}
57460	return nil
57461}
57462
57463// SetDryRun sets the DryRun field's value.
57464func (s *DescribeFleetInstancesInput) SetDryRun(v bool) *DescribeFleetInstancesInput {
57465	s.DryRun = &v
57466	return s
57467}
57468
57469// SetFilters sets the Filters field's value.
57470func (s *DescribeFleetInstancesInput) SetFilters(v []*Filter) *DescribeFleetInstancesInput {
57471	s.Filters = v
57472	return s
57473}
57474
57475// SetFleetId sets the FleetId field's value.
57476func (s *DescribeFleetInstancesInput) SetFleetId(v string) *DescribeFleetInstancesInput {
57477	s.FleetId = &v
57478	return s
57479}
57480
57481// SetMaxResults sets the MaxResults field's value.
57482func (s *DescribeFleetInstancesInput) SetMaxResults(v int64) *DescribeFleetInstancesInput {
57483	s.MaxResults = &v
57484	return s
57485}
57486
57487// SetNextToken sets the NextToken field's value.
57488func (s *DescribeFleetInstancesInput) SetNextToken(v string) *DescribeFleetInstancesInput {
57489	s.NextToken = &v
57490	return s
57491}
57492
57493type DescribeFleetInstancesOutput struct {
57494	_ struct{} `type:"structure"`
57495
57496	// The running instances. This list is refreshed periodically and might be out
57497	// of date.
57498	ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
57499
57500	// The ID of the EC2 Fleet.
57501	FleetId *string `locationName:"fleetId" type:"string"`
57502
57503	// The token for the next set of results.
57504	NextToken *string `locationName:"nextToken" type:"string"`
57505}
57506
57507// String returns the string representation
57508func (s DescribeFleetInstancesOutput) String() string {
57509	return awsutil.Prettify(s)
57510}
57511
57512// GoString returns the string representation
57513func (s DescribeFleetInstancesOutput) GoString() string {
57514	return s.String()
57515}
57516
57517// SetActiveInstances sets the ActiveInstances field's value.
57518func (s *DescribeFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeFleetInstancesOutput {
57519	s.ActiveInstances = v
57520	return s
57521}
57522
57523// SetFleetId sets the FleetId field's value.
57524func (s *DescribeFleetInstancesOutput) SetFleetId(v string) *DescribeFleetInstancesOutput {
57525	s.FleetId = &v
57526	return s
57527}
57528
57529// SetNextToken sets the NextToken field's value.
57530func (s *DescribeFleetInstancesOutput) SetNextToken(v string) *DescribeFleetInstancesOutput {
57531	s.NextToken = &v
57532	return s
57533}
57534
57535type DescribeFleetsInput struct {
57536	_ struct{} `type:"structure"`
57537
57538	// Checks whether you have the required permissions for the action, without
57539	// actually making the request, and provides an error response. If you have
57540	// the required permissions, the error response is DryRunOperation. Otherwise,
57541	// it is UnauthorizedOperation.
57542	DryRun *bool `type:"boolean"`
57543
57544	// The filters.
57545	//
57546	//    * activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment
57547	//    | pending-termination | fulfilled).
57548	//
57549	//    * excess-capacity-termination-policy - Indicates whether to terminate
57550	//    running instances if the target capacity is decreased below the current
57551	//    EC2 Fleet size (true | false).
57552	//
57553	//    * fleet-state - The state of the EC2 Fleet (submitted | active | deleted
57554	//    | failed | deleted-running | deleted-terminating | modifying).
57555	//
57556	//    * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace
57557	//    unhealthy instances (true | false).
57558	//
57559	//    * type - The type of request (instant | request | maintain).
57560	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
57561
57562	// The ID of the EC2 Fleets.
57563	FleetIds []*string `locationName:"FleetId" type:"list"`
57564
57565	// The maximum number of results to return in a single call. Specify a value
57566	// between 1 and 1000. The default value is 1000. To retrieve the remaining
57567	// results, make another call with the returned NextToken value.
57568	MaxResults *int64 `type:"integer"`
57569
57570	// The token for the next set of results.
57571	NextToken *string `type:"string"`
57572}
57573
57574// String returns the string representation
57575func (s DescribeFleetsInput) String() string {
57576	return awsutil.Prettify(s)
57577}
57578
57579// GoString returns the string representation
57580func (s DescribeFleetsInput) GoString() string {
57581	return s.String()
57582}
57583
57584// SetDryRun sets the DryRun field's value.
57585func (s *DescribeFleetsInput) SetDryRun(v bool) *DescribeFleetsInput {
57586	s.DryRun = &v
57587	return s
57588}
57589
57590// SetFilters sets the Filters field's value.
57591func (s *DescribeFleetsInput) SetFilters(v []*Filter) *DescribeFleetsInput {
57592	s.Filters = v
57593	return s
57594}
57595
57596// SetFleetIds sets the FleetIds field's value.
57597func (s *DescribeFleetsInput) SetFleetIds(v []*string) *DescribeFleetsInput {
57598	s.FleetIds = v
57599	return s
57600}
57601
57602// SetMaxResults sets the MaxResults field's value.
57603func (s *DescribeFleetsInput) SetMaxResults(v int64) *DescribeFleetsInput {
57604	s.MaxResults = &v
57605	return s
57606}
57607
57608// SetNextToken sets the NextToken field's value.
57609func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
57610	s.NextToken = &v
57611	return s
57612}
57613
57614// Describes the instances that were launched by the fleet.
57615type DescribeFleetsInstances struct {
57616	_ struct{} `type:"structure"`
57617
57618	// The IDs of the instances.
57619	InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
57620
57621	// The instance type.
57622	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
57623
57624	// The launch templates and overrides that were used for launching the instances.
57625	// The values that you specify in the Overrides replace the values in the launch
57626	// template.
57627	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
57628
57629	// Indicates if the instance that was launched is a Spot Instance or On-Demand
57630	// Instance.
57631	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
57632
57633	// The value is Windows for Windows instances. Otherwise, the value is blank.
57634	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
57635}
57636
57637// String returns the string representation
57638func (s DescribeFleetsInstances) String() string {
57639	return awsutil.Prettify(s)
57640}
57641
57642// GoString returns the string representation
57643func (s DescribeFleetsInstances) GoString() string {
57644	return s.String()
57645}
57646
57647// SetInstanceIds sets the InstanceIds field's value.
57648func (s *DescribeFleetsInstances) SetInstanceIds(v []*string) *DescribeFleetsInstances {
57649	s.InstanceIds = v
57650	return s
57651}
57652
57653// SetInstanceType sets the InstanceType field's value.
57654func (s *DescribeFleetsInstances) SetInstanceType(v string) *DescribeFleetsInstances {
57655	s.InstanceType = &v
57656	return s
57657}
57658
57659// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
57660func (s *DescribeFleetsInstances) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetsInstances {
57661	s.LaunchTemplateAndOverrides = v
57662	return s
57663}
57664
57665// SetLifecycle sets the Lifecycle field's value.
57666func (s *DescribeFleetsInstances) SetLifecycle(v string) *DescribeFleetsInstances {
57667	s.Lifecycle = &v
57668	return s
57669}
57670
57671// SetPlatform sets the Platform field's value.
57672func (s *DescribeFleetsInstances) SetPlatform(v string) *DescribeFleetsInstances {
57673	s.Platform = &v
57674	return s
57675}
57676
57677type DescribeFleetsOutput struct {
57678	_ struct{} `type:"structure"`
57679
57680	// Information about the EC2 Fleets.
57681	Fleets []*FleetData `locationName:"fleetSet" locationNameList:"item" type:"list"`
57682
57683	// The token for the next set of results.
57684	NextToken *string `locationName:"nextToken" type:"string"`
57685}
57686
57687// String returns the string representation
57688func (s DescribeFleetsOutput) String() string {
57689	return awsutil.Prettify(s)
57690}
57691
57692// GoString returns the string representation
57693func (s DescribeFleetsOutput) GoString() string {
57694	return s.String()
57695}
57696
57697// SetFleets sets the Fleets field's value.
57698func (s *DescribeFleetsOutput) SetFleets(v []*FleetData) *DescribeFleetsOutput {
57699	s.Fleets = v
57700	return s
57701}
57702
57703// SetNextToken sets the NextToken field's value.
57704func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
57705	s.NextToken = &v
57706	return s
57707}
57708
57709type DescribeFlowLogsInput struct {
57710	_ struct{} `type:"structure"`
57711
57712	// Checks whether you have the required permissions for the action, without
57713	// actually making the request, and provides an error response. If you have
57714	// the required permissions, the error response is DryRunOperation. Otherwise,
57715	// it is UnauthorizedOperation.
57716	DryRun *bool `type:"boolean"`
57717
57718	// One or more filters.
57719	//
57720	//    * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
57721	//
57722	//    * log-destination-type - The type of destination to which the flow log
57723	//    publishes data. Possible destination types include cloud-watch-logs and
57724	//    S3.
57725	//
57726	//    * flow-log-id - The ID of the flow log.
57727	//
57728	//    * log-group-name - The name of the log group.
57729	//
57730	//    * resource-id - The ID of the VPC, subnet, or network interface.
57731	//
57732	//    * traffic-type - The type of traffic (ACCEPT | REJECT | ALL).
57733	//
57734	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
57735	//    Use the tag key in the filter name and the tag value as the filter value.
57736	//    For example, to find all resources that have a tag with the key Owner
57737	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
57738	//    the filter value.
57739	//
57740	//    * tag-key - The key of a tag assigned to the resource. Use this filter
57741	//    to find all resources assigned a tag with a specific key, regardless of
57742	//    the tag value.
57743	Filter []*Filter `locationNameList:"Filter" type:"list"`
57744
57745	// One or more flow log IDs.
57746	//
57747	// Constraint: Maximum of 1000 flow log IDs.
57748	FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
57749
57750	// The maximum number of results to return with a single call. To retrieve the
57751	// remaining results, make another call with the returned nextToken value.
57752	MaxResults *int64 `type:"integer"`
57753
57754	// The token for the next page of results.
57755	NextToken *string `type:"string"`
57756}
57757
57758// String returns the string representation
57759func (s DescribeFlowLogsInput) String() string {
57760	return awsutil.Prettify(s)
57761}
57762
57763// GoString returns the string representation
57764func (s DescribeFlowLogsInput) GoString() string {
57765	return s.String()
57766}
57767
57768// SetDryRun sets the DryRun field's value.
57769func (s *DescribeFlowLogsInput) SetDryRun(v bool) *DescribeFlowLogsInput {
57770	s.DryRun = &v
57771	return s
57772}
57773
57774// SetFilter sets the Filter field's value.
57775func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
57776	s.Filter = v
57777	return s
57778}
57779
57780// SetFlowLogIds sets the FlowLogIds field's value.
57781func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
57782	s.FlowLogIds = v
57783	return s
57784}
57785
57786// SetMaxResults sets the MaxResults field's value.
57787func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
57788	s.MaxResults = &v
57789	return s
57790}
57791
57792// SetNextToken sets the NextToken field's value.
57793func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
57794	s.NextToken = &v
57795	return s
57796}
57797
57798type DescribeFlowLogsOutput struct {
57799	_ struct{} `type:"structure"`
57800
57801	// Information about the flow logs.
57802	FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
57803
57804	// The token to use to retrieve the next page of results. This value is null
57805	// when there are no more results to return.
57806	NextToken *string `locationName:"nextToken" type:"string"`
57807}
57808
57809// String returns the string representation
57810func (s DescribeFlowLogsOutput) String() string {
57811	return awsutil.Prettify(s)
57812}
57813
57814// GoString returns the string representation
57815func (s DescribeFlowLogsOutput) GoString() string {
57816	return s.String()
57817}
57818
57819// SetFlowLogs sets the FlowLogs field's value.
57820func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
57821	s.FlowLogs = v
57822	return s
57823}
57824
57825// SetNextToken sets the NextToken field's value.
57826func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
57827	s.NextToken = &v
57828	return s
57829}
57830
57831type DescribeFpgaImageAttributeInput struct {
57832	_ struct{} `type:"structure"`
57833
57834	// The AFI attribute.
57835	//
57836	// Attribute is a required field
57837	Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"`
57838
57839	// Checks whether you have the required permissions for the action, without
57840	// actually making the request, and provides an error response. If you have
57841	// the required permissions, the error response is DryRunOperation. Otherwise,
57842	// it is UnauthorizedOperation.
57843	DryRun *bool `type:"boolean"`
57844
57845	// The ID of the AFI.
57846	//
57847	// FpgaImageId is a required field
57848	FpgaImageId *string `type:"string" required:"true"`
57849}
57850
57851// String returns the string representation
57852func (s DescribeFpgaImageAttributeInput) String() string {
57853	return awsutil.Prettify(s)
57854}
57855
57856// GoString returns the string representation
57857func (s DescribeFpgaImageAttributeInput) GoString() string {
57858	return s.String()
57859}
57860
57861// Validate inspects the fields of the type to determine if they are valid.
57862func (s *DescribeFpgaImageAttributeInput) Validate() error {
57863	invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"}
57864	if s.Attribute == nil {
57865		invalidParams.Add(request.NewErrParamRequired("Attribute"))
57866	}
57867	if s.FpgaImageId == nil {
57868		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
57869	}
57870
57871	if invalidParams.Len() > 0 {
57872		return invalidParams
57873	}
57874	return nil
57875}
57876
57877// SetAttribute sets the Attribute field's value.
57878func (s *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput {
57879	s.Attribute = &v
57880	return s
57881}
57882
57883// SetDryRun sets the DryRun field's value.
57884func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput {
57885	s.DryRun = &v
57886	return s
57887}
57888
57889// SetFpgaImageId sets the FpgaImageId field's value.
57890func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput {
57891	s.FpgaImageId = &v
57892	return s
57893}
57894
57895type DescribeFpgaImageAttributeOutput struct {
57896	_ struct{} `type:"structure"`
57897
57898	// Information about the attribute.
57899	FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
57900}
57901
57902// String returns the string representation
57903func (s DescribeFpgaImageAttributeOutput) String() string {
57904	return awsutil.Prettify(s)
57905}
57906
57907// GoString returns the string representation
57908func (s DescribeFpgaImageAttributeOutput) GoString() string {
57909	return s.String()
57910}
57911
57912// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
57913func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput {
57914	s.FpgaImageAttribute = v
57915	return s
57916}
57917
57918type DescribeFpgaImagesInput struct {
57919	_ struct{} `type:"structure"`
57920
57921	// Checks whether you have the required permissions for the action, without
57922	// actually making the request, and provides an error response. If you have
57923	// the required permissions, the error response is DryRunOperation. Otherwise,
57924	// it is UnauthorizedOperation.
57925	DryRun *bool `type:"boolean"`
57926
57927	// The filters.
57928	//
57929	//    * create-time - The creation time of the AFI.
57930	//
57931	//    * fpga-image-id - The FPGA image identifier (AFI ID).
57932	//
57933	//    * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
57934	//
57935	//    * name - The name of the AFI.
57936	//
57937	//    * owner-id - The AWS account ID of the AFI owner.
57938	//
57939	//    * product-code - The product code.
57940	//
57941	//    * shell-version - The version of the AWS Shell that was used to create
57942	//    the bitstream.
57943	//
57944	//    * state - The state of the AFI (pending | failed | available | unavailable).
57945	//
57946	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
57947	//    Use the tag key in the filter name and the tag value as the filter value.
57948	//    For example, to find all resources that have a tag with the key Owner
57949	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
57950	//    the filter value.
57951	//
57952	//    * tag-key - The key of a tag assigned to the resource. Use this filter
57953	//    to find all resources assigned a tag with a specific key, regardless of
57954	//    the tag value.
57955	//
57956	//    * update-time - The time of the most recent update.
57957	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
57958
57959	// The AFI IDs.
57960	FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
57961
57962	// The maximum number of results to return in a single call.
57963	MaxResults *int64 `min:"5" type:"integer"`
57964
57965	// The token to retrieve the next page of results.
57966	NextToken *string `type:"string"`
57967
57968	// Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
57969	// of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
57970	Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
57971}
57972
57973// String returns the string representation
57974func (s DescribeFpgaImagesInput) String() string {
57975	return awsutil.Prettify(s)
57976}
57977
57978// GoString returns the string representation
57979func (s DescribeFpgaImagesInput) GoString() string {
57980	return s.String()
57981}
57982
57983// Validate inspects the fields of the type to determine if they are valid.
57984func (s *DescribeFpgaImagesInput) Validate() error {
57985	invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
57986	if s.MaxResults != nil && *s.MaxResults < 5 {
57987		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
57988	}
57989
57990	if invalidParams.Len() > 0 {
57991		return invalidParams
57992	}
57993	return nil
57994}
57995
57996// SetDryRun sets the DryRun field's value.
57997func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
57998	s.DryRun = &v
57999	return s
58000}
58001
58002// SetFilters sets the Filters field's value.
58003func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
58004	s.Filters = v
58005	return s
58006}
58007
58008// SetFpgaImageIds sets the FpgaImageIds field's value.
58009func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
58010	s.FpgaImageIds = v
58011	return s
58012}
58013
58014// SetMaxResults sets the MaxResults field's value.
58015func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
58016	s.MaxResults = &v
58017	return s
58018}
58019
58020// SetNextToken sets the NextToken field's value.
58021func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
58022	s.NextToken = &v
58023	return s
58024}
58025
58026// SetOwners sets the Owners field's value.
58027func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
58028	s.Owners = v
58029	return s
58030}
58031
58032type DescribeFpgaImagesOutput struct {
58033	_ struct{} `type:"structure"`
58034
58035	// Information about the FPGA images.
58036	FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
58037
58038	// The token to use to retrieve the next page of results. This value is null
58039	// when there are no more results to return.
58040	NextToken *string `locationName:"nextToken" type:"string"`
58041}
58042
58043// String returns the string representation
58044func (s DescribeFpgaImagesOutput) String() string {
58045	return awsutil.Prettify(s)
58046}
58047
58048// GoString returns the string representation
58049func (s DescribeFpgaImagesOutput) GoString() string {
58050	return s.String()
58051}
58052
58053// SetFpgaImages sets the FpgaImages field's value.
58054func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
58055	s.FpgaImages = v
58056	return s
58057}
58058
58059// SetNextToken sets the NextToken field's value.
58060func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
58061	s.NextToken = &v
58062	return s
58063}
58064
58065type DescribeHostReservationOfferingsInput struct {
58066	_ struct{} `type:"structure"`
58067
58068	// The filters.
58069	//
58070	//    * instance-family - The instance family of the offering (for example,
58071	//    m4).
58072	//
58073	//    * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
58074	Filter []*Filter `locationNameList:"Filter" type:"list"`
58075
58076	// This is the maximum duration of the reservation to purchase, specified in
58077	// seconds. Reservations are available in one-year and three-year terms. The
58078	// number of seconds specified must be the number of seconds in a year (365x24x60x60)
58079	// times one of the supported durations (1 or 3). For example, specify 94608000
58080	// for three years.
58081	MaxDuration *int64 `type:"integer"`
58082
58083	// The maximum number of results to return for the request in a single page.
58084	// The remaining results can be seen by sending another request with the returned
58085	// nextToken value. This value can be between 5 and 500. If maxResults is given
58086	// a larger value than 500, you receive an error.
58087	MaxResults *int64 `min:"5" type:"integer"`
58088
58089	// This is the minimum duration of the reservation you'd like to purchase, specified
58090	// in seconds. Reservations are available in one-year and three-year terms.
58091	// The number of seconds specified must be the number of seconds in a year (365x24x60x60)
58092	// times one of the supported durations (1 or 3). For example, specify 31536000
58093	// for one year.
58094	MinDuration *int64 `type:"integer"`
58095
58096	// The token to use to retrieve the next page of results.
58097	NextToken *string `type:"string"`
58098
58099	// The ID of the reservation offering.
58100	OfferingId *string `type:"string"`
58101}
58102
58103// String returns the string representation
58104func (s DescribeHostReservationOfferingsInput) String() string {
58105	return awsutil.Prettify(s)
58106}
58107
58108// GoString returns the string representation
58109func (s DescribeHostReservationOfferingsInput) GoString() string {
58110	return s.String()
58111}
58112
58113// Validate inspects the fields of the type to determine if they are valid.
58114func (s *DescribeHostReservationOfferingsInput) Validate() error {
58115	invalidParams := request.ErrInvalidParams{Context: "DescribeHostReservationOfferingsInput"}
58116	if s.MaxResults != nil && *s.MaxResults < 5 {
58117		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
58118	}
58119
58120	if invalidParams.Len() > 0 {
58121		return invalidParams
58122	}
58123	return nil
58124}
58125
58126// SetFilter sets the Filter field's value.
58127func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
58128	s.Filter = v
58129	return s
58130}
58131
58132// SetMaxDuration sets the MaxDuration field's value.
58133func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
58134	s.MaxDuration = &v
58135	return s
58136}
58137
58138// SetMaxResults sets the MaxResults field's value.
58139func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
58140	s.MaxResults = &v
58141	return s
58142}
58143
58144// SetMinDuration sets the MinDuration field's value.
58145func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
58146	s.MinDuration = &v
58147	return s
58148}
58149
58150// SetNextToken sets the NextToken field's value.
58151func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
58152	s.NextToken = &v
58153	return s
58154}
58155
58156// SetOfferingId sets the OfferingId field's value.
58157func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
58158	s.OfferingId = &v
58159	return s
58160}
58161
58162type DescribeHostReservationOfferingsOutput struct {
58163	_ struct{} `type:"structure"`
58164
58165	// The token to use to retrieve the next page of results. This value is null
58166	// when there are no more results to return.
58167	NextToken *string `locationName:"nextToken" type:"string"`
58168
58169	// Information about the offerings.
58170	OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"`
58171}
58172
58173// String returns the string representation
58174func (s DescribeHostReservationOfferingsOutput) String() string {
58175	return awsutil.Prettify(s)
58176}
58177
58178// GoString returns the string representation
58179func (s DescribeHostReservationOfferingsOutput) GoString() string {
58180	return s.String()
58181}
58182
58183// SetNextToken sets the NextToken field's value.
58184func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
58185	s.NextToken = &v
58186	return s
58187}
58188
58189// SetOfferingSet sets the OfferingSet field's value.
58190func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
58191	s.OfferingSet = v
58192	return s
58193}
58194
58195type DescribeHostReservationsInput struct {
58196	_ struct{} `type:"structure"`
58197
58198	// The filters.
58199	//
58200	//    * instance-family - The instance family (for example, m4).
58201	//
58202	//    * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
58203	//
58204	//    * state - The state of the reservation (payment-pending | payment-failed
58205	//    | active | retired).
58206	//
58207	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
58208	//    Use the tag key in the filter name and the tag value as the filter value.
58209	//    For example, to find all resources that have a tag with the key Owner
58210	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
58211	//    the filter value.
58212	//
58213	//    * tag-key - The key of a tag assigned to the resource. Use this filter
58214	//    to find all resources assigned a tag with a specific key, regardless of
58215	//    the tag value.
58216	Filter []*Filter `locationNameList:"Filter" type:"list"`
58217
58218	// The host reservation IDs.
58219	HostReservationIdSet []*string `locationNameList:"item" type:"list"`
58220
58221	// The maximum number of results to return for the request in a single page.
58222	// The remaining results can be seen by sending another request with the returned
58223	// nextToken value. This value can be between 5 and 500. If maxResults is given
58224	// a larger value than 500, you receive an error.
58225	MaxResults *int64 `type:"integer"`
58226
58227	// The token to use to retrieve the next page of results.
58228	NextToken *string `type:"string"`
58229}
58230
58231// String returns the string representation
58232func (s DescribeHostReservationsInput) String() string {
58233	return awsutil.Prettify(s)
58234}
58235
58236// GoString returns the string representation
58237func (s DescribeHostReservationsInput) GoString() string {
58238	return s.String()
58239}
58240
58241// SetFilter sets the Filter field's value.
58242func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
58243	s.Filter = v
58244	return s
58245}
58246
58247// SetHostReservationIdSet sets the HostReservationIdSet field's value.
58248func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
58249	s.HostReservationIdSet = v
58250	return s
58251}
58252
58253// SetMaxResults sets the MaxResults field's value.
58254func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
58255	s.MaxResults = &v
58256	return s
58257}
58258
58259// SetNextToken sets the NextToken field's value.
58260func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
58261	s.NextToken = &v
58262	return s
58263}
58264
58265type DescribeHostReservationsOutput struct {
58266	_ struct{} `type:"structure"`
58267
58268	// Details about the reservation's configuration.
58269	HostReservationSet []*HostReservation `locationName:"hostReservationSet" locationNameList:"item" type:"list"`
58270
58271	// The token to use to retrieve the next page of results. This value is null
58272	// when there are no more results to return.
58273	NextToken *string `locationName:"nextToken" type:"string"`
58274}
58275
58276// String returns the string representation
58277func (s DescribeHostReservationsOutput) String() string {
58278	return awsutil.Prettify(s)
58279}
58280
58281// GoString returns the string representation
58282func (s DescribeHostReservationsOutput) GoString() string {
58283	return s.String()
58284}
58285
58286// SetHostReservationSet sets the HostReservationSet field's value.
58287func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
58288	s.HostReservationSet = v
58289	return s
58290}
58291
58292// SetNextToken sets the NextToken field's value.
58293func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
58294	s.NextToken = &v
58295	return s
58296}
58297
58298type DescribeHostsInput struct {
58299	_ struct{} `type:"structure"`
58300
58301	// The filters.
58302	//
58303	//    * auto-placement - Whether auto-placement is enabled or disabled (on |
58304	//    off).
58305	//
58306	//    * availability-zone - The Availability Zone of the host.
58307	//
58308	//    * client-token - The idempotency token that you provided when you allocated
58309	//    the host.
58310	//
58311	//    * host-reservation-id - The ID of the reservation assigned to this host.
58312	//
58313	//    * instance-type - The instance type size that the Dedicated Host is configured
58314	//    to support.
58315	//
58316	//    * state - The allocation state of the Dedicated Host (available | under-assessment
58317	//    | permanent-failure | released | released-permanent-failure).
58318	//
58319	//    * tag-key - The key of a tag assigned to the resource. Use this filter
58320	//    to find all resources assigned a tag with a specific key, regardless of
58321	//    the tag value.
58322	Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
58323
58324	// The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
58325	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
58326
58327	// The maximum number of results to return for the request in a single page.
58328	// The remaining results can be seen by sending another request with the returned
58329	// nextToken value. This value can be between 5 and 500. If maxResults is given
58330	// a larger value than 500, you receive an error.
58331	//
58332	// You cannot specify this parameter and the host IDs parameter in the same
58333	// request.
58334	MaxResults *int64 `locationName:"maxResults" type:"integer"`
58335
58336	// The token to use to retrieve the next page of results.
58337	NextToken *string `locationName:"nextToken" type:"string"`
58338}
58339
58340// String returns the string representation
58341func (s DescribeHostsInput) String() string {
58342	return awsutil.Prettify(s)
58343}
58344
58345// GoString returns the string representation
58346func (s DescribeHostsInput) GoString() string {
58347	return s.String()
58348}
58349
58350// SetFilter sets the Filter field's value.
58351func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
58352	s.Filter = v
58353	return s
58354}
58355
58356// SetHostIds sets the HostIds field's value.
58357func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
58358	s.HostIds = v
58359	return s
58360}
58361
58362// SetMaxResults sets the MaxResults field's value.
58363func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
58364	s.MaxResults = &v
58365	return s
58366}
58367
58368// SetNextToken sets the NextToken field's value.
58369func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
58370	s.NextToken = &v
58371	return s
58372}
58373
58374type DescribeHostsOutput struct {
58375	_ struct{} `type:"structure"`
58376
58377	// Information about the Dedicated Hosts.
58378	Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
58379
58380	// The token to use to retrieve the next page of results. This value is null
58381	// when there are no more results to return.
58382	NextToken *string `locationName:"nextToken" type:"string"`
58383}
58384
58385// String returns the string representation
58386func (s DescribeHostsOutput) String() string {
58387	return awsutil.Prettify(s)
58388}
58389
58390// GoString returns the string representation
58391func (s DescribeHostsOutput) GoString() string {
58392	return s.String()
58393}
58394
58395// SetHosts sets the Hosts field's value.
58396func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
58397	s.Hosts = v
58398	return s
58399}
58400
58401// SetNextToken sets the NextToken field's value.
58402func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
58403	s.NextToken = &v
58404	return s
58405}
58406
58407type DescribeIamInstanceProfileAssociationsInput struct {
58408	_ struct{} `type:"structure"`
58409
58410	// The IAM instance profile associations.
58411	AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
58412
58413	// The filters.
58414	//
58415	//    * instance-id - The ID of the instance.
58416	//
58417	//    * state - The state of the association (associating | associated | disassociating
58418	//    | disassociated).
58419	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
58420
58421	// The maximum number of results to return in a single call. To retrieve the
58422	// remaining results, make another call with the returned NextToken value.
58423	MaxResults *int64 `min:"5" type:"integer"`
58424
58425	// The token to request the next page of results.
58426	NextToken *string `type:"string"`
58427}
58428
58429// String returns the string representation
58430func (s DescribeIamInstanceProfileAssociationsInput) String() string {
58431	return awsutil.Prettify(s)
58432}
58433
58434// GoString returns the string representation
58435func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
58436	return s.String()
58437}
58438
58439// Validate inspects the fields of the type to determine if they are valid.
58440func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
58441	invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
58442	if s.MaxResults != nil && *s.MaxResults < 5 {
58443		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
58444	}
58445
58446	if invalidParams.Len() > 0 {
58447		return invalidParams
58448	}
58449	return nil
58450}
58451
58452// SetAssociationIds sets the AssociationIds field's value.
58453func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
58454	s.AssociationIds = v
58455	return s
58456}
58457
58458// SetFilters sets the Filters field's value.
58459func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
58460	s.Filters = v
58461	return s
58462}
58463
58464// SetMaxResults sets the MaxResults field's value.
58465func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
58466	s.MaxResults = &v
58467	return s
58468}
58469
58470// SetNextToken sets the NextToken field's value.
58471func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
58472	s.NextToken = &v
58473	return s
58474}
58475
58476type DescribeIamInstanceProfileAssociationsOutput struct {
58477	_ struct{} `type:"structure"`
58478
58479	// Information about the IAM instance profile associations.
58480	IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
58481
58482	// The token to use to retrieve the next page of results. This value is null
58483	// when there are no more results to return.
58484	NextToken *string `locationName:"nextToken" type:"string"`
58485}
58486
58487// String returns the string representation
58488func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
58489	return awsutil.Prettify(s)
58490}
58491
58492// GoString returns the string representation
58493func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
58494	return s.String()
58495}
58496
58497// SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
58498func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
58499	s.IamInstanceProfileAssociations = v
58500	return s
58501}
58502
58503// SetNextToken sets the NextToken field's value.
58504func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
58505	s.NextToken = &v
58506	return s
58507}
58508
58509type DescribeIdFormatInput struct {
58510	_ struct{} `type:"structure"`
58511
58512	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
58513	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
58514	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
58515	// | network-interface | network-interface-attachment | prefix-list | reservation
58516	// | route-table | route-table-association | security-group | snapshot | subnet
58517	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
58518	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
58519	Resource *string `type:"string"`
58520}
58521
58522// String returns the string representation
58523func (s DescribeIdFormatInput) String() string {
58524	return awsutil.Prettify(s)
58525}
58526
58527// GoString returns the string representation
58528func (s DescribeIdFormatInput) GoString() string {
58529	return s.String()
58530}
58531
58532// SetResource sets the Resource field's value.
58533func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
58534	s.Resource = &v
58535	return s
58536}
58537
58538type DescribeIdFormatOutput struct {
58539	_ struct{} `type:"structure"`
58540
58541	// Information about the ID format for the resource.
58542	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
58543}
58544
58545// String returns the string representation
58546func (s DescribeIdFormatOutput) String() string {
58547	return awsutil.Prettify(s)
58548}
58549
58550// GoString returns the string representation
58551func (s DescribeIdFormatOutput) GoString() string {
58552	return s.String()
58553}
58554
58555// SetStatuses sets the Statuses field's value.
58556func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
58557	s.Statuses = v
58558	return s
58559}
58560
58561type DescribeIdentityIdFormatInput struct {
58562	_ struct{} `type:"structure"`
58563
58564	// The ARN of the principal, which can be an IAM role, IAM user, or the root
58565	// user.
58566	//
58567	// PrincipalArn is a required field
58568	PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
58569
58570	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
58571	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
58572	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
58573	// | network-interface | network-interface-attachment | prefix-list | reservation
58574	// | route-table | route-table-association | security-group | snapshot | subnet
58575	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
58576	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
58577	Resource *string `locationName:"resource" type:"string"`
58578}
58579
58580// String returns the string representation
58581func (s DescribeIdentityIdFormatInput) String() string {
58582	return awsutil.Prettify(s)
58583}
58584
58585// GoString returns the string representation
58586func (s DescribeIdentityIdFormatInput) GoString() string {
58587	return s.String()
58588}
58589
58590// Validate inspects the fields of the type to determine if they are valid.
58591func (s *DescribeIdentityIdFormatInput) Validate() error {
58592	invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
58593	if s.PrincipalArn == nil {
58594		invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
58595	}
58596
58597	if invalidParams.Len() > 0 {
58598		return invalidParams
58599	}
58600	return nil
58601}
58602
58603// SetPrincipalArn sets the PrincipalArn field's value.
58604func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
58605	s.PrincipalArn = &v
58606	return s
58607}
58608
58609// SetResource sets the Resource field's value.
58610func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
58611	s.Resource = &v
58612	return s
58613}
58614
58615type DescribeIdentityIdFormatOutput struct {
58616	_ struct{} `type:"structure"`
58617
58618	// Information about the ID format for the resources.
58619	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
58620}
58621
58622// String returns the string representation
58623func (s DescribeIdentityIdFormatOutput) String() string {
58624	return awsutil.Prettify(s)
58625}
58626
58627// GoString returns the string representation
58628func (s DescribeIdentityIdFormatOutput) GoString() string {
58629	return s.String()
58630}
58631
58632// SetStatuses sets the Statuses field's value.
58633func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
58634	s.Statuses = v
58635	return s
58636}
58637
58638// Contains the parameters for DescribeImageAttribute.
58639type DescribeImageAttributeInput struct {
58640	_ struct{} `type:"structure"`
58641
58642	// The AMI attribute.
58643	//
58644	// Note: Depending on your account privileges, the blockDeviceMapping attribute
58645	// may return a Client.AuthFailure error. If this happens, use DescribeImages
58646	// to get information about the block device mapping for the AMI.
58647	//
58648	// Attribute is a required field
58649	Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
58650
58651	// Checks whether you have the required permissions for the action, without
58652	// actually making the request, and provides an error response. If you have
58653	// the required permissions, the error response is DryRunOperation. Otherwise,
58654	// it is UnauthorizedOperation.
58655	DryRun *bool `locationName:"dryRun" type:"boolean"`
58656
58657	// The ID of the AMI.
58658	//
58659	// ImageId is a required field
58660	ImageId *string `type:"string" required:"true"`
58661}
58662
58663// String returns the string representation
58664func (s DescribeImageAttributeInput) String() string {
58665	return awsutil.Prettify(s)
58666}
58667
58668// GoString returns the string representation
58669func (s DescribeImageAttributeInput) GoString() string {
58670	return s.String()
58671}
58672
58673// Validate inspects the fields of the type to determine if they are valid.
58674func (s *DescribeImageAttributeInput) Validate() error {
58675	invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
58676	if s.Attribute == nil {
58677		invalidParams.Add(request.NewErrParamRequired("Attribute"))
58678	}
58679	if s.ImageId == nil {
58680		invalidParams.Add(request.NewErrParamRequired("ImageId"))
58681	}
58682
58683	if invalidParams.Len() > 0 {
58684		return invalidParams
58685	}
58686	return nil
58687}
58688
58689// SetAttribute sets the Attribute field's value.
58690func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
58691	s.Attribute = &v
58692	return s
58693}
58694
58695// SetDryRun sets the DryRun field's value.
58696func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
58697	s.DryRun = &v
58698	return s
58699}
58700
58701// SetImageId sets the ImageId field's value.
58702func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
58703	s.ImageId = &v
58704	return s
58705}
58706
58707// Describes an image attribute.
58708type DescribeImageAttributeOutput struct {
58709	_ struct{} `type:"structure"`
58710
58711	// The block device mapping entries.
58712	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
58713
58714	// A description for the AMI.
58715	Description *AttributeValue `locationName:"description" type:"structure"`
58716
58717	// The ID of the AMI.
58718	ImageId *string `locationName:"imageId" type:"string"`
58719
58720	// The kernel ID.
58721	KernelId *AttributeValue `locationName:"kernel" type:"structure"`
58722
58723	// The launch permissions.
58724	LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
58725
58726	// The product codes.
58727	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
58728
58729	// The RAM disk ID.
58730	RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
58731
58732	// Indicates whether enhanced networking with the Intel 82599 Virtual Function
58733	// interface is enabled.
58734	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
58735}
58736
58737// String returns the string representation
58738func (s DescribeImageAttributeOutput) String() string {
58739	return awsutil.Prettify(s)
58740}
58741
58742// GoString returns the string representation
58743func (s DescribeImageAttributeOutput) GoString() string {
58744	return s.String()
58745}
58746
58747// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
58748func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
58749	s.BlockDeviceMappings = v
58750	return s
58751}
58752
58753// SetDescription sets the Description field's value.
58754func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
58755	s.Description = v
58756	return s
58757}
58758
58759// SetImageId sets the ImageId field's value.
58760func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
58761	s.ImageId = &v
58762	return s
58763}
58764
58765// SetKernelId sets the KernelId field's value.
58766func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
58767	s.KernelId = v
58768	return s
58769}
58770
58771// SetLaunchPermissions sets the LaunchPermissions field's value.
58772func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
58773	s.LaunchPermissions = v
58774	return s
58775}
58776
58777// SetProductCodes sets the ProductCodes field's value.
58778func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
58779	s.ProductCodes = v
58780	return s
58781}
58782
58783// SetRamdiskId sets the RamdiskId field's value.
58784func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
58785	s.RamdiskId = v
58786	return s
58787}
58788
58789// SetSriovNetSupport sets the SriovNetSupport field's value.
58790func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
58791	s.SriovNetSupport = v
58792	return s
58793}
58794
58795type DescribeImagesInput struct {
58796	_ struct{} `type:"structure"`
58797
58798	// Checks whether you have the required permissions for the action, without
58799	// actually making the request, and provides an error response. If you have
58800	// the required permissions, the error response is DryRunOperation. Otherwise,
58801	// it is UnauthorizedOperation.
58802	DryRun *bool `locationName:"dryRun" type:"boolean"`
58803
58804	// Scopes the images by users with explicit launch permissions. Specify an AWS
58805	// account ID, self (the sender of the request), or all (public AMIs).
58806	ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
58807
58808	// The filters.
58809	//
58810	//    * architecture - The image architecture (i386 | x86_64 | arm64).
58811	//
58812	//    * block-device-mapping.delete-on-termination - A Boolean value that indicates
58813	//    whether the Amazon EBS volume is deleted on instance termination.
58814	//
58815	//    * block-device-mapping.device-name - The device name specified in the
58816	//    block device mapping (for example, /dev/sdh or xvdh).
58817	//
58818	//    * block-device-mapping.snapshot-id - The ID of the snapshot used for the
58819	//    EBS volume.
58820	//
58821	//    * block-device-mapping.volume-size - The volume size of the EBS volume,
58822	//    in GiB.
58823	//
58824	//    * block-device-mapping.volume-type - The volume type of the EBS volume
58825	//    (gp2 | io1 | st1 | sc1 | standard).
58826	//
58827	//    * block-device-mapping.encrypted - A Boolean that indicates whether the
58828	//    EBS volume is encrypted.
58829	//
58830	//    * description - The description of the image (provided during image creation).
58831	//
58832	//    * ena-support - A Boolean that indicates whether enhanced networking with
58833	//    ENA is enabled.
58834	//
58835	//    * hypervisor - The hypervisor type (ovm | xen).
58836	//
58837	//    * image-id - The ID of the image.
58838	//
58839	//    * image-type - The image type (machine | kernel | ramdisk).
58840	//
58841	//    * is-public - A Boolean that indicates whether the image is public.
58842	//
58843	//    * kernel-id - The kernel ID.
58844	//
58845	//    * manifest-location - The location of the image manifest.
58846	//
58847	//    * name - The name of the AMI (provided during image creation).
58848	//
58849	//    * owner-alias - String value from an Amazon-maintained list (amazon |
58850	//    aws-marketplace | microsoft) of snapshot owners. Not to be confused with
58851	//    the user-configured AWS account alias, which is set from the IAM console.
58852	//
58853	//    * owner-id - The AWS account ID of the image owner.
58854	//
58855	//    * platform - The platform. To only list Windows-based AMIs, use windows.
58856	//
58857	//    * product-code - The product code.
58858	//
58859	//    * product-code.type - The type of the product code (devpay | marketplace).
58860	//
58861	//    * ramdisk-id - The RAM disk ID.
58862	//
58863	//    * root-device-name - The device name of the root device volume (for example,
58864	//    /dev/sda1).
58865	//
58866	//    * root-device-type - The type of the root device volume (ebs | instance-store).
58867	//
58868	//    * state - The state of the image (available | pending | failed).
58869	//
58870	//    * state-reason-code - The reason code for the state change.
58871	//
58872	//    * state-reason-message - The message for the state change.
58873	//
58874	//    * sriov-net-support - A value of simple indicates that enhanced networking
58875	//    with the Intel 82599 VF interface is enabled.
58876	//
58877	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
58878	//    Use the tag key in the filter name and the tag value as the filter value.
58879	//    For example, to find all resources that have a tag with the key Owner
58880	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
58881	//    the filter value.
58882	//
58883	//    * tag-key - The key of a tag assigned to the resource. Use this filter
58884	//    to find all resources assigned a tag with a specific key, regardless of
58885	//    the tag value.
58886	//
58887	//    * virtualization-type - The virtualization type (paravirtual | hvm).
58888	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
58889
58890	// The image IDs.
58891	//
58892	// Default: Describes all images available to you.
58893	ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
58894
58895	// Filters the images by the owner. Specify an AWS account ID, self (owner is
58896	// the sender of the request), or an AWS owner alias (valid values are amazon
58897	// | aws-marketplace | microsoft). Omitting this option returns all images for
58898	// which you have launch permissions, regardless of ownership.
58899	Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
58900}
58901
58902// String returns the string representation
58903func (s DescribeImagesInput) String() string {
58904	return awsutil.Prettify(s)
58905}
58906
58907// GoString returns the string representation
58908func (s DescribeImagesInput) GoString() string {
58909	return s.String()
58910}
58911
58912// SetDryRun sets the DryRun field's value.
58913func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
58914	s.DryRun = &v
58915	return s
58916}
58917
58918// SetExecutableUsers sets the ExecutableUsers field's value.
58919func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
58920	s.ExecutableUsers = v
58921	return s
58922}
58923
58924// SetFilters sets the Filters field's value.
58925func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
58926	s.Filters = v
58927	return s
58928}
58929
58930// SetImageIds sets the ImageIds field's value.
58931func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
58932	s.ImageIds = v
58933	return s
58934}
58935
58936// SetOwners sets the Owners field's value.
58937func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
58938	s.Owners = v
58939	return s
58940}
58941
58942type DescribeImagesOutput struct {
58943	_ struct{} `type:"structure"`
58944
58945	// Information about the images.
58946	Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
58947}
58948
58949// String returns the string representation
58950func (s DescribeImagesOutput) String() string {
58951	return awsutil.Prettify(s)
58952}
58953
58954// GoString returns the string representation
58955func (s DescribeImagesOutput) GoString() string {
58956	return s.String()
58957}
58958
58959// SetImages sets the Images field's value.
58960func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
58961	s.Images = v
58962	return s
58963}
58964
58965type DescribeImportImageTasksInput struct {
58966	_ struct{} `type:"structure"`
58967
58968	// Checks whether you have the required permissions for the action, without
58969	// actually making the request, and provides an error response. If you have
58970	// the required permissions, the error response is DryRunOperation. Otherwise,
58971	// it is UnauthorizedOperation.
58972	DryRun *bool `type:"boolean"`
58973
58974	// Filter tasks using the task-state filter and one of the following values:
58975	// active, completed, deleting, or deleted.
58976	Filters []*Filter `locationNameList:"Filter" type:"list"`
58977
58978	// The IDs of the import image tasks.
58979	ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
58980
58981	// The maximum number of results to return in a single call.
58982	MaxResults *int64 `type:"integer"`
58983
58984	// A token that indicates the next page of results.
58985	NextToken *string `type:"string"`
58986}
58987
58988// String returns the string representation
58989func (s DescribeImportImageTasksInput) String() string {
58990	return awsutil.Prettify(s)
58991}
58992
58993// GoString returns the string representation
58994func (s DescribeImportImageTasksInput) GoString() string {
58995	return s.String()
58996}
58997
58998// SetDryRun sets the DryRun field's value.
58999func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
59000	s.DryRun = &v
59001	return s
59002}
59003
59004// SetFilters sets the Filters field's value.
59005func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
59006	s.Filters = v
59007	return s
59008}
59009
59010// SetImportTaskIds sets the ImportTaskIds field's value.
59011func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
59012	s.ImportTaskIds = v
59013	return s
59014}
59015
59016// SetMaxResults sets the MaxResults field's value.
59017func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
59018	s.MaxResults = &v
59019	return s
59020}
59021
59022// SetNextToken sets the NextToken field's value.
59023func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
59024	s.NextToken = &v
59025	return s
59026}
59027
59028type DescribeImportImageTasksOutput struct {
59029	_ struct{} `type:"structure"`
59030
59031	// A list of zero or more import image tasks that are currently active or were
59032	// completed or canceled in the previous 7 days.
59033	ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
59034
59035	// The token to use to get the next page of results. This value is null when
59036	// there are no more results to return.
59037	NextToken *string `locationName:"nextToken" type:"string"`
59038}
59039
59040// String returns the string representation
59041func (s DescribeImportImageTasksOutput) String() string {
59042	return awsutil.Prettify(s)
59043}
59044
59045// GoString returns the string representation
59046func (s DescribeImportImageTasksOutput) GoString() string {
59047	return s.String()
59048}
59049
59050// SetImportImageTasks sets the ImportImageTasks field's value.
59051func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
59052	s.ImportImageTasks = v
59053	return s
59054}
59055
59056// SetNextToken sets the NextToken field's value.
59057func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
59058	s.NextToken = &v
59059	return s
59060}
59061
59062type DescribeImportSnapshotTasksInput struct {
59063	_ struct{} `type:"structure"`
59064
59065	// Checks whether you have the required permissions for the action, without
59066	// actually making the request, and provides an error response. If you have
59067	// the required permissions, the error response is DryRunOperation. Otherwise,
59068	// it is UnauthorizedOperation.
59069	DryRun *bool `type:"boolean"`
59070
59071	// The filters.
59072	Filters []*Filter `locationNameList:"Filter" type:"list"`
59073
59074	// A list of import snapshot task IDs.
59075	ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
59076
59077	// The maximum number of results to return in a single call. To retrieve the
59078	// remaining results, make another call with the returned NextToken value.
59079	MaxResults *int64 `type:"integer"`
59080
59081	// A token that indicates the next page of results.
59082	NextToken *string `type:"string"`
59083}
59084
59085// String returns the string representation
59086func (s DescribeImportSnapshotTasksInput) String() string {
59087	return awsutil.Prettify(s)
59088}
59089
59090// GoString returns the string representation
59091func (s DescribeImportSnapshotTasksInput) GoString() string {
59092	return s.String()
59093}
59094
59095// SetDryRun sets the DryRun field's value.
59096func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
59097	s.DryRun = &v
59098	return s
59099}
59100
59101// SetFilters sets the Filters field's value.
59102func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
59103	s.Filters = v
59104	return s
59105}
59106
59107// SetImportTaskIds sets the ImportTaskIds field's value.
59108func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
59109	s.ImportTaskIds = v
59110	return s
59111}
59112
59113// SetMaxResults sets the MaxResults field's value.
59114func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
59115	s.MaxResults = &v
59116	return s
59117}
59118
59119// SetNextToken sets the NextToken field's value.
59120func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
59121	s.NextToken = &v
59122	return s
59123}
59124
59125type DescribeImportSnapshotTasksOutput struct {
59126	_ struct{} `type:"structure"`
59127
59128	// A list of zero or more import snapshot tasks that are currently active or
59129	// were completed or canceled in the previous 7 days.
59130	ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
59131
59132	// The token to use to get the next page of results. This value is null when
59133	// there are no more results to return.
59134	NextToken *string `locationName:"nextToken" type:"string"`
59135}
59136
59137// String returns the string representation
59138func (s DescribeImportSnapshotTasksOutput) String() string {
59139	return awsutil.Prettify(s)
59140}
59141
59142// GoString returns the string representation
59143func (s DescribeImportSnapshotTasksOutput) GoString() string {
59144	return s.String()
59145}
59146
59147// SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
59148func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
59149	s.ImportSnapshotTasks = v
59150	return s
59151}
59152
59153// SetNextToken sets the NextToken field's value.
59154func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
59155	s.NextToken = &v
59156	return s
59157}
59158
59159type DescribeInstanceAttributeInput struct {
59160	_ struct{} `type:"structure"`
59161
59162	// The instance attribute.
59163	//
59164	// Note: The enaSupport attribute is not supported at this time.
59165	//
59166	// Attribute is a required field
59167	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
59168
59169	// Checks whether you have the required permissions for the action, without
59170	// actually making the request, and provides an error response. If you have
59171	// the required permissions, the error response is DryRunOperation. Otherwise,
59172	// it is UnauthorizedOperation.
59173	DryRun *bool `locationName:"dryRun" type:"boolean"`
59174
59175	// The ID of the instance.
59176	//
59177	// InstanceId is a required field
59178	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
59179}
59180
59181// String returns the string representation
59182func (s DescribeInstanceAttributeInput) String() string {
59183	return awsutil.Prettify(s)
59184}
59185
59186// GoString returns the string representation
59187func (s DescribeInstanceAttributeInput) GoString() string {
59188	return s.String()
59189}
59190
59191// Validate inspects the fields of the type to determine if they are valid.
59192func (s *DescribeInstanceAttributeInput) Validate() error {
59193	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
59194	if s.Attribute == nil {
59195		invalidParams.Add(request.NewErrParamRequired("Attribute"))
59196	}
59197	if s.InstanceId == nil {
59198		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
59199	}
59200
59201	if invalidParams.Len() > 0 {
59202		return invalidParams
59203	}
59204	return nil
59205}
59206
59207// SetAttribute sets the Attribute field's value.
59208func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
59209	s.Attribute = &v
59210	return s
59211}
59212
59213// SetDryRun sets the DryRun field's value.
59214func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
59215	s.DryRun = &v
59216	return s
59217}
59218
59219// SetInstanceId sets the InstanceId field's value.
59220func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
59221	s.InstanceId = &v
59222	return s
59223}
59224
59225// Describes an instance attribute.
59226type DescribeInstanceAttributeOutput struct {
59227	_ struct{} `type:"structure"`
59228
59229	// The block device mapping of the instance.
59230	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
59231
59232	// If the value is true, you can't terminate the instance through the Amazon
59233	// EC2 console, CLI, or API; otherwise, you can.
59234	DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
59235
59236	// Indicates whether the instance is optimized for Amazon EBS I/O.
59237	EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
59238
59239	// Indicates whether enhanced networking with ENA is enabled.
59240	EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
59241
59242	// The security groups associated with the instance.
59243	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
59244
59245	// The ID of the instance.
59246	InstanceId *string `locationName:"instanceId" type:"string"`
59247
59248	// Indicates whether an instance stops or terminates when you initiate shutdown
59249	// from the instance (using the operating system command for system shutdown).
59250	InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
59251
59252	// The instance type.
59253	InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
59254
59255	// The kernel ID.
59256	KernelId *AttributeValue `locationName:"kernel" type:"structure"`
59257
59258	// A list of product codes.
59259	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
59260
59261	// The RAM disk ID.
59262	RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
59263
59264	// The device name of the root device volume (for example, /dev/sda1).
59265	RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
59266
59267	// Indicates whether source/destination checking is enabled. A value of true
59268	// means that checking is enabled, and false means that checking is disabled.
59269	// This value must be false for a NAT instance to perform NAT.
59270	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
59271
59272	// Indicates whether enhanced networking with the Intel 82599 Virtual Function
59273	// interface is enabled.
59274	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
59275
59276	// The user data.
59277	UserData *AttributeValue `locationName:"userData" type:"structure"`
59278}
59279
59280// String returns the string representation
59281func (s DescribeInstanceAttributeOutput) String() string {
59282	return awsutil.Prettify(s)
59283}
59284
59285// GoString returns the string representation
59286func (s DescribeInstanceAttributeOutput) GoString() string {
59287	return s.String()
59288}
59289
59290// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
59291func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
59292	s.BlockDeviceMappings = v
59293	return s
59294}
59295
59296// SetDisableApiTermination sets the DisableApiTermination field's value.
59297func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
59298	s.DisableApiTermination = v
59299	return s
59300}
59301
59302// SetEbsOptimized sets the EbsOptimized field's value.
59303func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
59304	s.EbsOptimized = v
59305	return s
59306}
59307
59308// SetEnaSupport sets the EnaSupport field's value.
59309func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
59310	s.EnaSupport = v
59311	return s
59312}
59313
59314// SetGroups sets the Groups field's value.
59315func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
59316	s.Groups = v
59317	return s
59318}
59319
59320// SetInstanceId sets the InstanceId field's value.
59321func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
59322	s.InstanceId = &v
59323	return s
59324}
59325
59326// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
59327func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
59328	s.InstanceInitiatedShutdownBehavior = v
59329	return s
59330}
59331
59332// SetInstanceType sets the InstanceType field's value.
59333func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
59334	s.InstanceType = v
59335	return s
59336}
59337
59338// SetKernelId sets the KernelId field's value.
59339func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
59340	s.KernelId = v
59341	return s
59342}
59343
59344// SetProductCodes sets the ProductCodes field's value.
59345func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
59346	s.ProductCodes = v
59347	return s
59348}
59349
59350// SetRamdiskId sets the RamdiskId field's value.
59351func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
59352	s.RamdiskId = v
59353	return s
59354}
59355
59356// SetRootDeviceName sets the RootDeviceName field's value.
59357func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
59358	s.RootDeviceName = v
59359	return s
59360}
59361
59362// SetSourceDestCheck sets the SourceDestCheck field's value.
59363func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
59364	s.SourceDestCheck = v
59365	return s
59366}
59367
59368// SetSriovNetSupport sets the SriovNetSupport field's value.
59369func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
59370	s.SriovNetSupport = v
59371	return s
59372}
59373
59374// SetUserData sets the UserData field's value.
59375func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
59376	s.UserData = v
59377	return s
59378}
59379
59380type DescribeInstanceCreditSpecificationsInput struct {
59381	_ struct{} `type:"structure"`
59382
59383	// Checks whether you have the required permissions for the action, without
59384	// actually making the request, and provides an error response. If you have
59385	// the required permissions, the error response is DryRunOperation. Otherwise,
59386	// it is UnauthorizedOperation.
59387	DryRun *bool `type:"boolean"`
59388
59389	// The filters.
59390	//
59391	//    * instance-id - The ID of the instance.
59392	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59393
59394	// The instance IDs.
59395	//
59396	// Default: Describes all your instances.
59397	//
59398	// Constraints: Maximum 1000 explicitly specified instance IDs.
59399	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
59400
59401	// The maximum number of results to return in a single call. To retrieve the
59402	// remaining results, make another call with the returned NextToken value. This
59403	// value can be between 5 and 1000. You cannot specify this parameter and the
59404	// instance IDs parameter in the same call.
59405	MaxResults *int64 `min:"5" type:"integer"`
59406
59407	// The token to retrieve the next page of results.
59408	NextToken *string `type:"string"`
59409}
59410
59411// String returns the string representation
59412func (s DescribeInstanceCreditSpecificationsInput) String() string {
59413	return awsutil.Prettify(s)
59414}
59415
59416// GoString returns the string representation
59417func (s DescribeInstanceCreditSpecificationsInput) GoString() string {
59418	return s.String()
59419}
59420
59421// Validate inspects the fields of the type to determine if they are valid.
59422func (s *DescribeInstanceCreditSpecificationsInput) Validate() error {
59423	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceCreditSpecificationsInput"}
59424	if s.MaxResults != nil && *s.MaxResults < 5 {
59425		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
59426	}
59427
59428	if invalidParams.Len() > 0 {
59429		return invalidParams
59430	}
59431	return nil
59432}
59433
59434// SetDryRun sets the DryRun field's value.
59435func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput {
59436	s.DryRun = &v
59437	return s
59438}
59439
59440// SetFilters sets the Filters field's value.
59441func (s *DescribeInstanceCreditSpecificationsInput) SetFilters(v []*Filter) *DescribeInstanceCreditSpecificationsInput {
59442	s.Filters = v
59443	return s
59444}
59445
59446// SetInstanceIds sets the InstanceIds field's value.
59447func (s *DescribeInstanceCreditSpecificationsInput) SetInstanceIds(v []*string) *DescribeInstanceCreditSpecificationsInput {
59448	s.InstanceIds = v
59449	return s
59450}
59451
59452// SetMaxResults sets the MaxResults field's value.
59453func (s *DescribeInstanceCreditSpecificationsInput) SetMaxResults(v int64) *DescribeInstanceCreditSpecificationsInput {
59454	s.MaxResults = &v
59455	return s
59456}
59457
59458// SetNextToken sets the NextToken field's value.
59459func (s *DescribeInstanceCreditSpecificationsInput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsInput {
59460	s.NextToken = &v
59461	return s
59462}
59463
59464type DescribeInstanceCreditSpecificationsOutput struct {
59465	_ struct{} `type:"structure"`
59466
59467	// Information about the credit option for CPU usage of an instance.
59468	InstanceCreditSpecifications []*InstanceCreditSpecification `locationName:"instanceCreditSpecificationSet" locationNameList:"item" type:"list"`
59469
59470	// The token to use to retrieve the next page of results. This value is null
59471	// when there are no more results to return.
59472	NextToken *string `locationName:"nextToken" type:"string"`
59473}
59474
59475// String returns the string representation
59476func (s DescribeInstanceCreditSpecificationsOutput) String() string {
59477	return awsutil.Prettify(s)
59478}
59479
59480// GoString returns the string representation
59481func (s DescribeInstanceCreditSpecificationsOutput) GoString() string {
59482	return s.String()
59483}
59484
59485// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
59486func (s *DescribeInstanceCreditSpecificationsOutput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecification) *DescribeInstanceCreditSpecificationsOutput {
59487	s.InstanceCreditSpecifications = v
59488	return s
59489}
59490
59491// SetNextToken sets the NextToken field's value.
59492func (s *DescribeInstanceCreditSpecificationsOutput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsOutput {
59493	s.NextToken = &v
59494	return s
59495}
59496
59497type DescribeInstanceStatusInput struct {
59498	_ struct{} `type:"structure"`
59499
59500	// Checks whether you have the required permissions for the action, without
59501	// actually making the request, and provides an error response. If you have
59502	// the required permissions, the error response is DryRunOperation. Otherwise,
59503	// it is UnauthorizedOperation.
59504	DryRun *bool `locationName:"dryRun" type:"boolean"`
59505
59506	// The filters.
59507	//
59508	//    * availability-zone - The Availability Zone of the instance.
59509	//
59510	//    * event.code - The code for the scheduled event (instance-reboot | system-reboot
59511	//    | system-maintenance | instance-retirement | instance-stop).
59512	//
59513	//    * event.description - A description of the event.
59514	//
59515	//    * event.instance-event-id - The ID of the event whose date and time you
59516	//    are modifying.
59517	//
59518	//    * event.not-after - The latest end time for the scheduled event (for example,
59519	//    2014-09-15T17:15:20.000Z).
59520	//
59521	//    * event.not-before - The earliest start time for the scheduled event (for
59522	//    example, 2014-09-15T17:15:20.000Z).
59523	//
59524	//    * event.not-before-deadline - The deadline for starting the event (for
59525	//    example, 2014-09-15T17:15:20.000Z).
59526	//
59527	//    * instance-state-code - The code for the instance state, as a 16-bit unsigned
59528	//    integer. The high byte is used for internal purposes and should be ignored.
59529	//    The low byte is set based on the state represented. The valid values are
59530	//    0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
59531	//    and 80 (stopped).
59532	//
59533	//    * instance-state-name - The state of the instance (pending | running |
59534	//    shutting-down | terminated | stopping | stopped).
59535	//
59536	//    * instance-status.reachability - Filters on instance status where the
59537	//    name is reachability (passed | failed | initializing | insufficient-data).
59538	//
59539	//    * instance-status.status - The status of the instance (ok | impaired |
59540	//    initializing | insufficient-data | not-applicable).
59541	//
59542	//    * system-status.reachability - Filters on system status where the name
59543	//    is reachability (passed | failed | initializing | insufficient-data).
59544	//
59545	//    * system-status.status - The system status of the instance (ok | impaired
59546	//    | initializing | insufficient-data | not-applicable).
59547	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59548
59549	// When true, includes the health status for all instances. When false, includes
59550	// the health status for running instances only.
59551	//
59552	// Default: false
59553	IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
59554
59555	// The instance IDs.
59556	//
59557	// Default: Describes all your instances.
59558	//
59559	// Constraints: Maximum 100 explicitly specified instance IDs.
59560	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
59561
59562	// The maximum number of results to return in a single call. To retrieve the
59563	// remaining results, make another call with the returned NextToken value. This
59564	// value can be between 5 and 1000. You cannot specify this parameter and the
59565	// instance IDs parameter in the same call.
59566	MaxResults *int64 `type:"integer"`
59567
59568	// The token to retrieve the next page of results.
59569	NextToken *string `type:"string"`
59570}
59571
59572// String returns the string representation
59573func (s DescribeInstanceStatusInput) String() string {
59574	return awsutil.Prettify(s)
59575}
59576
59577// GoString returns the string representation
59578func (s DescribeInstanceStatusInput) GoString() string {
59579	return s.String()
59580}
59581
59582// SetDryRun sets the DryRun field's value.
59583func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
59584	s.DryRun = &v
59585	return s
59586}
59587
59588// SetFilters sets the Filters field's value.
59589func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
59590	s.Filters = v
59591	return s
59592}
59593
59594// SetIncludeAllInstances sets the IncludeAllInstances field's value.
59595func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
59596	s.IncludeAllInstances = &v
59597	return s
59598}
59599
59600// SetInstanceIds sets the InstanceIds field's value.
59601func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
59602	s.InstanceIds = v
59603	return s
59604}
59605
59606// SetMaxResults sets the MaxResults field's value.
59607func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
59608	s.MaxResults = &v
59609	return s
59610}
59611
59612// SetNextToken sets the NextToken field's value.
59613func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
59614	s.NextToken = &v
59615	return s
59616}
59617
59618type DescribeInstanceStatusOutput struct {
59619	_ struct{} `type:"structure"`
59620
59621	// Information about the status of the instances.
59622	InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
59623
59624	// The token to use to retrieve the next page of results. This value is null
59625	// when there are no more results to return.
59626	NextToken *string `locationName:"nextToken" type:"string"`
59627}
59628
59629// String returns the string representation
59630func (s DescribeInstanceStatusOutput) String() string {
59631	return awsutil.Prettify(s)
59632}
59633
59634// GoString returns the string representation
59635func (s DescribeInstanceStatusOutput) GoString() string {
59636	return s.String()
59637}
59638
59639// SetInstanceStatuses sets the InstanceStatuses field's value.
59640func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
59641	s.InstanceStatuses = v
59642	return s
59643}
59644
59645// SetNextToken sets the NextToken field's value.
59646func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
59647	s.NextToken = &v
59648	return s
59649}
59650
59651type DescribeInstanceTypeOfferingsInput struct {
59652	_ struct{} `type:"structure"`
59653
59654	// Checks whether you have the required permissions for the action, without
59655	// actually making the request, and provides an error response. If you have
59656	// the required permissions, the error response is DryRunOperation. Otherwise,
59657	// it is UnauthorizedOperation.
59658	DryRun *bool `type:"boolean"`
59659
59660	// One or more filters. Filter names and values are case-sensitive.
59661	//
59662	//    * location - This depends on the location type. For example, if the location
59663	//    type is region (default), the location is the Region code (for example,
59664	//    us-east-2.)
59665	//
59666	//    * instance-type - The instance type.
59667	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59668
59669	// The location type.
59670	LocationType *string `type:"string" enum:"LocationType"`
59671
59672	// The maximum number of results to return for the request in a single page.
59673	// The remaining results can be seen by sending another request with the next
59674	// token value.
59675	MaxResults *int64 `min:"5" type:"integer"`
59676
59677	// The token to retrieve the next page of results.
59678	NextToken *string `type:"string"`
59679}
59680
59681// String returns the string representation
59682func (s DescribeInstanceTypeOfferingsInput) String() string {
59683	return awsutil.Prettify(s)
59684}
59685
59686// GoString returns the string representation
59687func (s DescribeInstanceTypeOfferingsInput) GoString() string {
59688	return s.String()
59689}
59690
59691// Validate inspects the fields of the type to determine if they are valid.
59692func (s *DescribeInstanceTypeOfferingsInput) Validate() error {
59693	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypeOfferingsInput"}
59694	if s.MaxResults != nil && *s.MaxResults < 5 {
59695		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
59696	}
59697
59698	if invalidParams.Len() > 0 {
59699		return invalidParams
59700	}
59701	return nil
59702}
59703
59704// SetDryRun sets the DryRun field's value.
59705func (s *DescribeInstanceTypeOfferingsInput) SetDryRun(v bool) *DescribeInstanceTypeOfferingsInput {
59706	s.DryRun = &v
59707	return s
59708}
59709
59710// SetFilters sets the Filters field's value.
59711func (s *DescribeInstanceTypeOfferingsInput) SetFilters(v []*Filter) *DescribeInstanceTypeOfferingsInput {
59712	s.Filters = v
59713	return s
59714}
59715
59716// SetLocationType sets the LocationType field's value.
59717func (s *DescribeInstanceTypeOfferingsInput) SetLocationType(v string) *DescribeInstanceTypeOfferingsInput {
59718	s.LocationType = &v
59719	return s
59720}
59721
59722// SetMaxResults sets the MaxResults field's value.
59723func (s *DescribeInstanceTypeOfferingsInput) SetMaxResults(v int64) *DescribeInstanceTypeOfferingsInput {
59724	s.MaxResults = &v
59725	return s
59726}
59727
59728// SetNextToken sets the NextToken field's value.
59729func (s *DescribeInstanceTypeOfferingsInput) SetNextToken(v string) *DescribeInstanceTypeOfferingsInput {
59730	s.NextToken = &v
59731	return s
59732}
59733
59734type DescribeInstanceTypeOfferingsOutput struct {
59735	_ struct{} `type:"structure"`
59736
59737	// The instance types offered.
59738	InstanceTypeOfferings []*InstanceTypeOffering `locationName:"instanceTypeOfferingSet" locationNameList:"item" type:"list"`
59739
59740	// The token to use to retrieve the next page of results. This value is null
59741	// when there are no more results to return.
59742	NextToken *string `locationName:"nextToken" type:"string"`
59743}
59744
59745// String returns the string representation
59746func (s DescribeInstanceTypeOfferingsOutput) String() string {
59747	return awsutil.Prettify(s)
59748}
59749
59750// GoString returns the string representation
59751func (s DescribeInstanceTypeOfferingsOutput) GoString() string {
59752	return s.String()
59753}
59754
59755// SetInstanceTypeOfferings sets the InstanceTypeOfferings field's value.
59756func (s *DescribeInstanceTypeOfferingsOutput) SetInstanceTypeOfferings(v []*InstanceTypeOffering) *DescribeInstanceTypeOfferingsOutput {
59757	s.InstanceTypeOfferings = v
59758	return s
59759}
59760
59761// SetNextToken sets the NextToken field's value.
59762func (s *DescribeInstanceTypeOfferingsOutput) SetNextToken(v string) *DescribeInstanceTypeOfferingsOutput {
59763	s.NextToken = &v
59764	return s
59765}
59766
59767type DescribeInstanceTypesInput struct {
59768	_ struct{} `type:"structure"`
59769
59770	// Checks whether you have the required permissions for the action, without
59771	// actually making the request, and provides an error response. If you have
59772	// the required permissions, the error response is DryRunOperation. Otherwise,
59773	// it is UnauthorizedOperation.
59774	DryRun *bool `type:"boolean"`
59775
59776	// One or more filters. Filter names and values are case-sensitive.
59777	//
59778	//    * auto-recovery-supported - Indicates whether auto recovery is supported.
59779	//    (true | false)
59780	//
59781	//    * bare-metal - Indicates whether it is a bare metal instance type. (true
59782	//    | false)
59783	//
59784	//    * burstable-performance-supported - Indicates whether it is a burstable
59785	//    performance instance type. (true | false)
59786	//
59787	//    * current-generation - Indicates whether this instance type is the latest
59788	//    generation instance type of an instance family. (true | false)
59789	//
59790	//    * ebs-info.ebs-optimized-support - Indicates whether the instance type
59791	//    is EBS-optimized. (true | false)
59792	//
59793	//    * ebs-info.encryption-support - Indicates whether EBS encryption is supported.
59794	//    (true | false)
59795	//
59796	//    * free-tier-eligible - Indicates whether the instance type is eligible
59797	//    to use in the free tier. (true | false)
59798	//
59799	//    * hibernation-supported - Indicates whether On-Demand hibernation is supported.
59800	//    (true | false)
59801	//
59802	//    * hypervisor - The hypervisor used. (nitro | xen)
59803	//
59804	//    * instance-storage-info.disk.count - The number of local disks.
59805	//
59806	//    * instance-storage-info.disk.size-in-gb - The storage size of each instance
59807	//    storage disk, in GB.
59808	//
59809	//    * instance-storage-info.disk.type - The storage technology for the local
59810	//    instance storage disks. (hdd | ssd)
59811	//
59812	//    * instance-storage-info.total-size-in-gb - The total amount of storage
59813	//    available from all local instance storage, in GB.
59814	//
59815	//    * instance-storage-supported - Indicates whether the instance type has
59816	//    local instance storage. (true | false)
59817	//
59818	//    * memory-info.size-in-mib - The memory size.
59819	//
59820	//    * network-info.ena-support - Indicates whether Elastic Network Adapter
59821	//    (ENA) is supported or required. (required | supported | unsupported)
59822	//
59823	//    * network-info.ipv4-addresses-per-interface - The maximum number of private
59824	//    IPv4 addresses per network interface.
59825	//
59826	//    * network-info.ipv6-addresses-per-interface - The maximum number of private
59827	//    IPv6 addresses per network interface.
59828	//
59829	//    * network-info.ipv6-supported - Indicates whether the instance type supports
59830	//    IPv6. (true | false)
59831	//
59832	//    * network-info.maximum-network-interfaces - The maximum number of network
59833	//    interfaces per instance.
59834	//
59835	//    * network-info.network-performance - Describes the network performance.
59836	//
59837	//    * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in
59838	//    GHz.
59839	//
59840	//    * vcpu-info.default-cores - The default number of cores for the instance
59841	//    type.
59842	//
59843	//    * vcpu-info.default-threads-per-core - The default number of threads per
59844	//    core for the instance type.
59845	//
59846	//    * vcpu-info.default-vcpus - The default number of vCPUs for the instance
59847	//    type.
59848	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59849
59850	// The instance types. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
59851	// in the Amazon Elastic Compute Cloud User Guide.
59852	InstanceTypes []*string `locationName:"InstanceType" type:"list"`
59853
59854	// The maximum number of results to return for the request in a single page.
59855	// The remaining results can be seen by sending another request with the next
59856	// token value.
59857	MaxResults *int64 `min:"5" type:"integer"`
59858
59859	// The token to retrieve the next page of results.
59860	NextToken *string `type:"string"`
59861}
59862
59863// String returns the string representation
59864func (s DescribeInstanceTypesInput) String() string {
59865	return awsutil.Prettify(s)
59866}
59867
59868// GoString returns the string representation
59869func (s DescribeInstanceTypesInput) GoString() string {
59870	return s.String()
59871}
59872
59873// Validate inspects the fields of the type to determine if they are valid.
59874func (s *DescribeInstanceTypesInput) Validate() error {
59875	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypesInput"}
59876	if s.MaxResults != nil && *s.MaxResults < 5 {
59877		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
59878	}
59879
59880	if invalidParams.Len() > 0 {
59881		return invalidParams
59882	}
59883	return nil
59884}
59885
59886// SetDryRun sets the DryRun field's value.
59887func (s *DescribeInstanceTypesInput) SetDryRun(v bool) *DescribeInstanceTypesInput {
59888	s.DryRun = &v
59889	return s
59890}
59891
59892// SetFilters sets the Filters field's value.
59893func (s *DescribeInstanceTypesInput) SetFilters(v []*Filter) *DescribeInstanceTypesInput {
59894	s.Filters = v
59895	return s
59896}
59897
59898// SetInstanceTypes sets the InstanceTypes field's value.
59899func (s *DescribeInstanceTypesInput) SetInstanceTypes(v []*string) *DescribeInstanceTypesInput {
59900	s.InstanceTypes = v
59901	return s
59902}
59903
59904// SetMaxResults sets the MaxResults field's value.
59905func (s *DescribeInstanceTypesInput) SetMaxResults(v int64) *DescribeInstanceTypesInput {
59906	s.MaxResults = &v
59907	return s
59908}
59909
59910// SetNextToken sets the NextToken field's value.
59911func (s *DescribeInstanceTypesInput) SetNextToken(v string) *DescribeInstanceTypesInput {
59912	s.NextToken = &v
59913	return s
59914}
59915
59916type DescribeInstanceTypesOutput struct {
59917	_ struct{} `type:"structure"`
59918
59919	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
59920	// in the Amazon Elastic Compute Cloud User Guide.
59921	InstanceTypes []*InstanceTypeInfo `locationName:"instanceTypeSet" locationNameList:"item" type:"list"`
59922
59923	// The token to use to retrieve the next page of results. This value is null
59924	// when there are no more results to return.
59925	NextToken *string `locationName:"nextToken" type:"string"`
59926}
59927
59928// String returns the string representation
59929func (s DescribeInstanceTypesOutput) String() string {
59930	return awsutil.Prettify(s)
59931}
59932
59933// GoString returns the string representation
59934func (s DescribeInstanceTypesOutput) GoString() string {
59935	return s.String()
59936}
59937
59938// SetInstanceTypes sets the InstanceTypes field's value.
59939func (s *DescribeInstanceTypesOutput) SetInstanceTypes(v []*InstanceTypeInfo) *DescribeInstanceTypesOutput {
59940	s.InstanceTypes = v
59941	return s
59942}
59943
59944// SetNextToken sets the NextToken field's value.
59945func (s *DescribeInstanceTypesOutput) SetNextToken(v string) *DescribeInstanceTypesOutput {
59946	s.NextToken = &v
59947	return s
59948}
59949
59950type DescribeInstancesInput struct {
59951	_ struct{} `type:"structure"`
59952
59953	// Checks whether you have the required permissions for the action, without
59954	// actually making the request, and provides an error response. If you have
59955	// the required permissions, the error response is DryRunOperation. Otherwise,
59956	// it is UnauthorizedOperation.
59957	DryRun *bool `locationName:"dryRun" type:"boolean"`
59958
59959	// The filters.
59960	//
59961	//    * affinity - The affinity setting for an instance running on a Dedicated
59962	//    Host (default | host).
59963	//
59964	//    * architecture - The instance architecture (i386 | x86_64 | arm64).
59965	//
59966	//    * availability-zone - The Availability Zone of the instance.
59967	//
59968	//    * block-device-mapping.attach-time - The attach time for an EBS volume
59969	//    mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
59970	//
59971	//    * block-device-mapping.delete-on-termination - A Boolean that indicates
59972	//    whether the EBS volume is deleted on instance termination.
59973	//
59974	//    * block-device-mapping.device-name - The device name specified in the
59975	//    block device mapping (for example, /dev/sdh or xvdh).
59976	//
59977	//    * block-device-mapping.status - The status for the EBS volume (attaching
59978	//    | attached | detaching | detached).
59979	//
59980	//    * block-device-mapping.volume-id - The volume ID of the EBS volume.
59981	//
59982	//    * client-token - The idempotency token you provided when you launched
59983	//    the instance.
59984	//
59985	//    * dns-name - The public DNS name of the instance.
59986	//
59987	//    * group-id - The ID of the security group for the instance. EC2-Classic
59988	//    only.
59989	//
59990	//    * group-name - The name of the security group for the instance. EC2-Classic
59991	//    only.
59992	//
59993	//    * hibernation-options.configured - A Boolean that indicates whether the
59994	//    instance is enabled for hibernation. A value of true means that the instance
59995	//    is enabled for hibernation.
59996	//
59997	//    * host-id - The ID of the Dedicated Host on which the instance is running,
59998	//    if applicable.
59999	//
60000	//    * hypervisor - The hypervisor type of the instance (ovm | xen).
60001	//
60002	//    * iam-instance-profile.arn - The instance profile associated with the
60003	//    instance. Specified as an ARN.
60004	//
60005	//    * image-id - The ID of the image used to launch the instance.
60006	//
60007	//    * instance-id - The ID of the instance.
60008	//
60009	//    * instance-lifecycle - Indicates whether this is a Spot Instance or a
60010	//    Scheduled Instance (spot | scheduled).
60011	//
60012	//    * instance-state-code - The state of the instance, as a 16-bit unsigned
60013	//    integer. The high byte is used for internal purposes and should be ignored.
60014	//    The low byte is set based on the state represented. The valid values are:
60015	//    0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
60016	//    and 80 (stopped).
60017	//
60018	//    * instance-state-name - The state of the instance (pending | running |
60019	//    shutting-down | terminated | stopping | stopped).
60020	//
60021	//    * instance-type - The type of instance (for example, t2.micro).
60022	//
60023	//    * instance.group-id - The ID of the security group for the instance.
60024	//
60025	//    * instance.group-name - The name of the security group for the instance.
60026	//
60027	//    * ip-address - The public IPv4 address of the instance.
60028	//
60029	//    * kernel-id - The kernel ID.
60030	//
60031	//    * key-name - The name of the key pair used when the instance was launched.
60032	//
60033	//    * launch-index - When launching multiple instances, this is the index
60034	//    for the instance in the launch group (for example, 0, 1, 2, and so on).
60035	//
60036	//    * launch-time - The time when the instance was launched.
60037	//
60038	//    * metadata-options.http-tokens - The metadata request authorization state
60039	//    (optional | required)
60040	//
60041	//    * metadata-options.http-put-response-hop-limit - The http metadata request
60042	//    put response hop limit (integer, possible values 1 to 64)
60043	//
60044	//    * metadata-options.http-endpoint - Enable or disable metadata access on
60045	//    http endpoint (enabled | disabled)
60046	//
60047	//    * monitoring-state - Indicates whether detailed monitoring is enabled
60048	//    (disabled | enabled).
60049	//
60050	//    * network-interface.addresses.private-ip-address - The private IPv4 address
60051	//    associated with the network interface.
60052	//
60053	//    * network-interface.addresses.primary - Specifies whether the IPv4 address
60054	//    of the network interface is the primary private IPv4 address.
60055	//
60056	//    * network-interface.addresses.association.public-ip - The ID of the association
60057	//    of an Elastic IP address (IPv4) with a network interface.
60058	//
60059	//    * network-interface.addresses.association.ip-owner-id - The owner ID of
60060	//    the private IPv4 address associated with the network interface.
60061	//
60062	//    * network-interface.association.public-ip - The address of the Elastic
60063	//    IP address (IPv4) bound to the network interface.
60064	//
60065	//    * network-interface.association.ip-owner-id - The owner of the Elastic
60066	//    IP address (IPv4) associated with the network interface.
60067	//
60068	//    * network-interface.association.allocation-id - The allocation ID returned
60069	//    when you allocated the Elastic IP address (IPv4) for your network interface.
60070	//
60071	//    * network-interface.association.association-id - The association ID returned
60072	//    when the network interface was associated with an IPv4 address.
60073	//
60074	//    * network-interface.attachment.attachment-id - The ID of the interface
60075	//    attachment.
60076	//
60077	//    * network-interface.attachment.instance-id - The ID of the instance to
60078	//    which the network interface is attached.
60079	//
60080	//    * network-interface.attachment.instance-owner-id - The owner ID of the
60081	//    instance to which the network interface is attached.
60082	//
60083	//    * network-interface.attachment.device-index - The device index to which
60084	//    the network interface is attached.
60085	//
60086	//    * network-interface.attachment.status - The status of the attachment (attaching
60087	//    | attached | detaching | detached).
60088	//
60089	//    * network-interface.attachment.attach-time - The time that the network
60090	//    interface was attached to an instance.
60091	//
60092	//    * network-interface.attachment.delete-on-termination - Specifies whether
60093	//    the attachment is deleted when an instance is terminated.
60094	//
60095	//    * network-interface.availability-zone - The Availability Zone for the
60096	//    network interface.
60097	//
60098	//    * network-interface.description - The description of the network interface.
60099	//
60100	//    * network-interface.group-id - The ID of a security group associated with
60101	//    the network interface.
60102	//
60103	//    * network-interface.group-name - The name of a security group associated
60104	//    with the network interface.
60105	//
60106	//    * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
60107	//    with the network interface.
60108	//
60109	//    * network-interface.mac-address - The MAC address of the network interface.
60110	//
60111	//    * network-interface.network-interface-id - The ID of the network interface.
60112	//
60113	//    * network-interface.owner-id - The ID of the owner of the network interface.
60114	//
60115	//    * network-interface.private-dns-name - The private DNS name of the network
60116	//    interface.
60117	//
60118	//    * network-interface.requester-id - The requester ID for the network interface.
60119	//
60120	//    * network-interface.requester-managed - Indicates whether the network
60121	//    interface is being managed by AWS.
60122	//
60123	//    * network-interface.status - The status of the network interface (available)
60124	//    | in-use).
60125	//
60126	//    * network-interface.source-dest-check - Whether the network interface
60127	//    performs source/destination checking. A value of true means that checking
60128	//    is enabled, and false means that checking is disabled. The value must
60129	//    be false for the network interface to perform network address translation
60130	//    (NAT) in your VPC.
60131	//
60132	//    * network-interface.subnet-id - The ID of the subnet for the network interface.
60133	//
60134	//    * network-interface.vpc-id - The ID of the VPC for the network interface.
60135	//
60136	//    * owner-id - The AWS account ID of the instance owner.
60137	//
60138	//    * placement-group-name - The name of the placement group for the instance.
60139	//
60140	//    * placement-partition-number - The partition in which the instance is
60141	//    located.
60142	//
60143	//    * platform - The platform. To list only Windows instances, use windows.
60144	//
60145	//    * private-dns-name - The private IPv4 DNS name of the instance.
60146	//
60147	//    * private-ip-address - The private IPv4 address of the instance.
60148	//
60149	//    * product-code - The product code associated with the AMI used to launch
60150	//    the instance.
60151	//
60152	//    * product-code.type - The type of product code (devpay | marketplace).
60153	//
60154	//    * ramdisk-id - The RAM disk ID.
60155	//
60156	//    * reason - The reason for the current state of the instance (for example,
60157	//    shows "User Initiated [date]" when you stop or terminate the instance).
60158	//    Similar to the state-reason-code filter.
60159	//
60160	//    * requester-id - The ID of the entity that launched the instance on your
60161	//    behalf (for example, AWS Management Console, Auto Scaling, and so on).
60162	//
60163	//    * reservation-id - The ID of the instance's reservation. A reservation
60164	//    ID is created any time you launch an instance. A reservation ID has a
60165	//    one-to-one relationship with an instance launch request, but can be associated
60166	//    with more than one instance if you launch multiple instances using the
60167	//    same launch request. For example, if you launch one instance, you get
60168	//    one reservation ID. If you launch ten instances using the same launch
60169	//    request, you also get one reservation ID.
60170	//
60171	//    * root-device-name - The device name of the root device volume (for example,
60172	//    /dev/sda1).
60173	//
60174	//    * root-device-type - The type of the root device volume (ebs | instance-store).
60175	//
60176	//    * source-dest-check - Indicates whether the instance performs source/destination
60177	//    checking. A value of true means that checking is enabled, and false means
60178	//    that checking is disabled. The value must be false for the instance to
60179	//    perform network address translation (NAT) in your VPC.
60180	//
60181	//    * spot-instance-request-id - The ID of the Spot Instance request.
60182	//
60183	//    * state-reason-code - The reason code for the state change.
60184	//
60185	//    * state-reason-message - A message that describes the state change.
60186	//
60187	//    * subnet-id - The ID of the subnet for the instance.
60188	//
60189	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
60190	//    Use the tag key in the filter name and the tag value as the filter value.
60191	//    For example, to find all resources that have a tag with the key Owner
60192	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
60193	//    the filter value.
60194	//
60195	//    * tag-key - The key of a tag assigned to the resource. Use this filter
60196	//    to find all resources that have a tag with a specific key, regardless
60197	//    of the tag value.
60198	//
60199	//    * tenancy - The tenancy of an instance (dedicated | default | host).
60200	//
60201	//    * virtualization-type - The virtualization type of the instance (paravirtual
60202	//    | hvm).
60203	//
60204	//    * vpc-id - The ID of the VPC that the instance is running in.
60205	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60206
60207	// The instance IDs.
60208	//
60209	// Default: Describes all your instances.
60210	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
60211
60212	// The maximum number of results to return in a single call. To retrieve the
60213	// remaining results, make another call with the returned NextToken value. This
60214	// value can be between 5 and 1000. You cannot specify this parameter and the
60215	// instance IDs parameter in the same call.
60216	MaxResults *int64 `locationName:"maxResults" type:"integer"`
60217
60218	// The token to request the next page of results.
60219	NextToken *string `locationName:"nextToken" type:"string"`
60220}
60221
60222// String returns the string representation
60223func (s DescribeInstancesInput) String() string {
60224	return awsutil.Prettify(s)
60225}
60226
60227// GoString returns the string representation
60228func (s DescribeInstancesInput) GoString() string {
60229	return s.String()
60230}
60231
60232// SetDryRun sets the DryRun field's value.
60233func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
60234	s.DryRun = &v
60235	return s
60236}
60237
60238// SetFilters sets the Filters field's value.
60239func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
60240	s.Filters = v
60241	return s
60242}
60243
60244// SetInstanceIds sets the InstanceIds field's value.
60245func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
60246	s.InstanceIds = v
60247	return s
60248}
60249
60250// SetMaxResults sets the MaxResults field's value.
60251func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
60252	s.MaxResults = &v
60253	return s
60254}
60255
60256// SetNextToken sets the NextToken field's value.
60257func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
60258	s.NextToken = &v
60259	return s
60260}
60261
60262type DescribeInstancesOutput struct {
60263	_ struct{} `type:"structure"`
60264
60265	// The token to use to retrieve the next page of results. This value is null
60266	// when there are no more results to return.
60267	NextToken *string `locationName:"nextToken" type:"string"`
60268
60269	// Information about the reservations.
60270	Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
60271}
60272
60273// String returns the string representation
60274func (s DescribeInstancesOutput) String() string {
60275	return awsutil.Prettify(s)
60276}
60277
60278// GoString returns the string representation
60279func (s DescribeInstancesOutput) GoString() string {
60280	return s.String()
60281}
60282
60283// SetNextToken sets the NextToken field's value.
60284func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
60285	s.NextToken = &v
60286	return s
60287}
60288
60289// SetReservations sets the Reservations field's value.
60290func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
60291	s.Reservations = v
60292	return s
60293}
60294
60295type DescribeInternetGatewaysInput struct {
60296	_ struct{} `type:"structure"`
60297
60298	// Checks whether you have the required permissions for the action, without
60299	// actually making the request, and provides an error response. If you have
60300	// the required permissions, the error response is DryRunOperation. Otherwise,
60301	// it is UnauthorizedOperation.
60302	DryRun *bool `locationName:"dryRun" type:"boolean"`
60303
60304	// One or more filters.
60305	//
60306	//    * attachment.state - The current state of the attachment between the gateway
60307	//    and the VPC (available). Present only if a VPC is attached.
60308	//
60309	//    * attachment.vpc-id - The ID of an attached VPC.
60310	//
60311	//    * internet-gateway-id - The ID of the Internet gateway.
60312	//
60313	//    * owner-id - The ID of the AWS account that owns the internet gateway.
60314	//
60315	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
60316	//    Use the tag key in the filter name and the tag value as the filter value.
60317	//    For example, to find all resources that have a tag with the key Owner
60318	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
60319	//    the filter value.
60320	//
60321	//    * tag-key - The key of a tag assigned to the resource. Use this filter
60322	//    to find all resources assigned a tag with a specific key, regardless of
60323	//    the tag value.
60324	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60325
60326	// One or more internet gateway IDs.
60327	//
60328	// Default: Describes all your internet gateways.
60329	InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
60330
60331	// The maximum number of results to return with a single call. To retrieve the
60332	// remaining results, make another call with the returned nextToken value.
60333	MaxResults *int64 `min:"5" type:"integer"`
60334
60335	// The token for the next page of results.
60336	NextToken *string `type:"string"`
60337}
60338
60339// String returns the string representation
60340func (s DescribeInternetGatewaysInput) String() string {
60341	return awsutil.Prettify(s)
60342}
60343
60344// GoString returns the string representation
60345func (s DescribeInternetGatewaysInput) GoString() string {
60346	return s.String()
60347}
60348
60349// Validate inspects the fields of the type to determine if they are valid.
60350func (s *DescribeInternetGatewaysInput) Validate() error {
60351	invalidParams := request.ErrInvalidParams{Context: "DescribeInternetGatewaysInput"}
60352	if s.MaxResults != nil && *s.MaxResults < 5 {
60353		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
60354	}
60355
60356	if invalidParams.Len() > 0 {
60357		return invalidParams
60358	}
60359	return nil
60360}
60361
60362// SetDryRun sets the DryRun field's value.
60363func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
60364	s.DryRun = &v
60365	return s
60366}
60367
60368// SetFilters sets the Filters field's value.
60369func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
60370	s.Filters = v
60371	return s
60372}
60373
60374// SetInternetGatewayIds sets the InternetGatewayIds field's value.
60375func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
60376	s.InternetGatewayIds = v
60377	return s
60378}
60379
60380// SetMaxResults sets the MaxResults field's value.
60381func (s *DescribeInternetGatewaysInput) SetMaxResults(v int64) *DescribeInternetGatewaysInput {
60382	s.MaxResults = &v
60383	return s
60384}
60385
60386// SetNextToken sets the NextToken field's value.
60387func (s *DescribeInternetGatewaysInput) SetNextToken(v string) *DescribeInternetGatewaysInput {
60388	s.NextToken = &v
60389	return s
60390}
60391
60392type DescribeInternetGatewaysOutput struct {
60393	_ struct{} `type:"structure"`
60394
60395	// Information about one or more internet gateways.
60396	InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
60397
60398	// The token to use to retrieve the next page of results. This value is null
60399	// when there are no more results to return.
60400	NextToken *string `locationName:"nextToken" type:"string"`
60401}
60402
60403// String returns the string representation
60404func (s DescribeInternetGatewaysOutput) String() string {
60405	return awsutil.Prettify(s)
60406}
60407
60408// GoString returns the string representation
60409func (s DescribeInternetGatewaysOutput) GoString() string {
60410	return s.String()
60411}
60412
60413// SetInternetGateways sets the InternetGateways field's value.
60414func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
60415	s.InternetGateways = v
60416	return s
60417}
60418
60419// SetNextToken sets the NextToken field's value.
60420func (s *DescribeInternetGatewaysOutput) SetNextToken(v string) *DescribeInternetGatewaysOutput {
60421	s.NextToken = &v
60422	return s
60423}
60424
60425type DescribeIpv6PoolsInput struct {
60426	_ struct{} `type:"structure"`
60427
60428	// Checks whether you have the required permissions for the action, without
60429	// actually making the request, and provides an error response. If you have
60430	// the required permissions, the error response is DryRunOperation. Otherwise,
60431	// it is UnauthorizedOperation.
60432	DryRun *bool `type:"boolean"`
60433
60434	// One or more filters.
60435	//
60436	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
60437	//    Use the tag key in the filter name and the tag value as the filter value.
60438	//    For example, to find all resources that have a tag with the key Owner
60439	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
60440	//    the filter value.
60441	//
60442	//    * tag-key - The key of a tag assigned to the resource. Use this filter
60443	//    to find all resources assigned a tag with a specific key, regardless of
60444	//    the tag value.
60445	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60446
60447	// The maximum number of results to return with a single call. To retrieve the
60448	// remaining results, make another call with the returned nextToken value.
60449	MaxResults *int64 `min:"1" type:"integer"`
60450
60451	// The token for the next page of results.
60452	NextToken *string `type:"string"`
60453
60454	// The IDs of the IPv6 address pools.
60455	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
60456}
60457
60458// String returns the string representation
60459func (s DescribeIpv6PoolsInput) String() string {
60460	return awsutil.Prettify(s)
60461}
60462
60463// GoString returns the string representation
60464func (s DescribeIpv6PoolsInput) GoString() string {
60465	return s.String()
60466}
60467
60468// Validate inspects the fields of the type to determine if they are valid.
60469func (s *DescribeIpv6PoolsInput) Validate() error {
60470	invalidParams := request.ErrInvalidParams{Context: "DescribeIpv6PoolsInput"}
60471	if s.MaxResults != nil && *s.MaxResults < 1 {
60472		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
60473	}
60474
60475	if invalidParams.Len() > 0 {
60476		return invalidParams
60477	}
60478	return nil
60479}
60480
60481// SetDryRun sets the DryRun field's value.
60482func (s *DescribeIpv6PoolsInput) SetDryRun(v bool) *DescribeIpv6PoolsInput {
60483	s.DryRun = &v
60484	return s
60485}
60486
60487// SetFilters sets the Filters field's value.
60488func (s *DescribeIpv6PoolsInput) SetFilters(v []*Filter) *DescribeIpv6PoolsInput {
60489	s.Filters = v
60490	return s
60491}
60492
60493// SetMaxResults sets the MaxResults field's value.
60494func (s *DescribeIpv6PoolsInput) SetMaxResults(v int64) *DescribeIpv6PoolsInput {
60495	s.MaxResults = &v
60496	return s
60497}
60498
60499// SetNextToken sets the NextToken field's value.
60500func (s *DescribeIpv6PoolsInput) SetNextToken(v string) *DescribeIpv6PoolsInput {
60501	s.NextToken = &v
60502	return s
60503}
60504
60505// SetPoolIds sets the PoolIds field's value.
60506func (s *DescribeIpv6PoolsInput) SetPoolIds(v []*string) *DescribeIpv6PoolsInput {
60507	s.PoolIds = v
60508	return s
60509}
60510
60511type DescribeIpv6PoolsOutput struct {
60512	_ struct{} `type:"structure"`
60513
60514	// Information about the IPv6 address pools.
60515	Ipv6Pools []*Ipv6Pool `locationName:"ipv6PoolSet" locationNameList:"item" type:"list"`
60516
60517	// The token to use to retrieve the next page of results. This value is null
60518	// when there are no more results to return.
60519	NextToken *string `locationName:"nextToken" type:"string"`
60520}
60521
60522// String returns the string representation
60523func (s DescribeIpv6PoolsOutput) String() string {
60524	return awsutil.Prettify(s)
60525}
60526
60527// GoString returns the string representation
60528func (s DescribeIpv6PoolsOutput) GoString() string {
60529	return s.String()
60530}
60531
60532// SetIpv6Pools sets the Ipv6Pools field's value.
60533func (s *DescribeIpv6PoolsOutput) SetIpv6Pools(v []*Ipv6Pool) *DescribeIpv6PoolsOutput {
60534	s.Ipv6Pools = v
60535	return s
60536}
60537
60538// SetNextToken sets the NextToken field's value.
60539func (s *DescribeIpv6PoolsOutput) SetNextToken(v string) *DescribeIpv6PoolsOutput {
60540	s.NextToken = &v
60541	return s
60542}
60543
60544type DescribeKeyPairsInput struct {
60545	_ struct{} `type:"structure"`
60546
60547	// Checks whether you have the required permissions for the action, without
60548	// actually making the request, and provides an error response. If you have
60549	// the required permissions, the error response is DryRunOperation. Otherwise,
60550	// it is UnauthorizedOperation.
60551	DryRun *bool `locationName:"dryRun" type:"boolean"`
60552
60553	// The filters.
60554	//
60555	//    * fingerprint - The fingerprint of the key pair.
60556	//
60557	//    * key-name - The name of the key pair.
60558	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60559
60560	// The key pair names.
60561	//
60562	// Default: Describes all your key pairs.
60563	KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
60564
60565	// The IDs of the key pairs.
60566	KeyPairIds []*string `locationName:"KeyPairId" locationNameList:"KeyPairId" type:"list"`
60567}
60568
60569// String returns the string representation
60570func (s DescribeKeyPairsInput) String() string {
60571	return awsutil.Prettify(s)
60572}
60573
60574// GoString returns the string representation
60575func (s DescribeKeyPairsInput) GoString() string {
60576	return s.String()
60577}
60578
60579// SetDryRun sets the DryRun field's value.
60580func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
60581	s.DryRun = &v
60582	return s
60583}
60584
60585// SetFilters sets the Filters field's value.
60586func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
60587	s.Filters = v
60588	return s
60589}
60590
60591// SetKeyNames sets the KeyNames field's value.
60592func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
60593	s.KeyNames = v
60594	return s
60595}
60596
60597// SetKeyPairIds sets the KeyPairIds field's value.
60598func (s *DescribeKeyPairsInput) SetKeyPairIds(v []*string) *DescribeKeyPairsInput {
60599	s.KeyPairIds = v
60600	return s
60601}
60602
60603type DescribeKeyPairsOutput struct {
60604	_ struct{} `type:"structure"`
60605
60606	// Information about the key pairs.
60607	KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
60608}
60609
60610// String returns the string representation
60611func (s DescribeKeyPairsOutput) String() string {
60612	return awsutil.Prettify(s)
60613}
60614
60615// GoString returns the string representation
60616func (s DescribeKeyPairsOutput) GoString() string {
60617	return s.String()
60618}
60619
60620// SetKeyPairs sets the KeyPairs field's value.
60621func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
60622	s.KeyPairs = v
60623	return s
60624}
60625
60626type DescribeLaunchTemplateVersionsInput struct {
60627	_ struct{} `type:"structure"`
60628
60629	// Checks whether you have the required permissions for the action, without
60630	// actually making the request, and provides an error response. If you have
60631	// the required permissions, the error response is DryRunOperation. Otherwise,
60632	// it is UnauthorizedOperation.
60633	DryRun *bool `type:"boolean"`
60634
60635	// One or more filters.
60636	//
60637	//    * create-time - The time the launch template version was created.
60638	//
60639	//    * ebs-optimized - A boolean that indicates whether the instance is optimized
60640	//    for Amazon EBS I/O.
60641	//
60642	//    * iam-instance-profile - The ARN of the IAM instance profile.
60643	//
60644	//    * image-id - The ID of the AMI.
60645	//
60646	//    * instance-type - The instance type.
60647	//
60648	//    * is-default-version - A boolean that indicates whether the launch template
60649	//    version is the default version.
60650	//
60651	//    * kernel-id - The kernel ID.
60652	//
60653	//    * ram-disk-id - The RAM disk ID.
60654	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60655
60656	// The ID of the launch template. You must specify either the launch template
60657	// ID or launch template name in the request.
60658	LaunchTemplateId *string `type:"string"`
60659
60660	// The name of the launch template. You must specify either the launch template
60661	// ID or launch template name in the request.
60662	LaunchTemplateName *string `min:"3" type:"string"`
60663
60664	// The maximum number of results to return in a single call. To retrieve the
60665	// remaining results, make another call with the returned NextToken value. This
60666	// value can be between 1 and 200.
60667	MaxResults *int64 `type:"integer"`
60668
60669	// The version number up to which to describe launch template versions.
60670	MaxVersion *string `type:"string"`
60671
60672	// The version number after which to describe launch template versions.
60673	MinVersion *string `type:"string"`
60674
60675	// The token to request the next page of results.
60676	NextToken *string `type:"string"`
60677
60678	// One or more versions of the launch template.
60679	Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
60680}
60681
60682// String returns the string representation
60683func (s DescribeLaunchTemplateVersionsInput) String() string {
60684	return awsutil.Prettify(s)
60685}
60686
60687// GoString returns the string representation
60688func (s DescribeLaunchTemplateVersionsInput) GoString() string {
60689	return s.String()
60690}
60691
60692// Validate inspects the fields of the type to determine if they are valid.
60693func (s *DescribeLaunchTemplateVersionsInput) Validate() error {
60694	invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplateVersionsInput"}
60695	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
60696		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
60697	}
60698
60699	if invalidParams.Len() > 0 {
60700		return invalidParams
60701	}
60702	return nil
60703}
60704
60705// SetDryRun sets the DryRun field's value.
60706func (s *DescribeLaunchTemplateVersionsInput) SetDryRun(v bool) *DescribeLaunchTemplateVersionsInput {
60707	s.DryRun = &v
60708	return s
60709}
60710
60711// SetFilters sets the Filters field's value.
60712func (s *DescribeLaunchTemplateVersionsInput) SetFilters(v []*Filter) *DescribeLaunchTemplateVersionsInput {
60713	s.Filters = v
60714	return s
60715}
60716
60717// SetLaunchTemplateId sets the LaunchTemplateId field's value.
60718func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DescribeLaunchTemplateVersionsInput {
60719	s.LaunchTemplateId = &v
60720	return s
60721}
60722
60723// SetLaunchTemplateName sets the LaunchTemplateName field's value.
60724func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DescribeLaunchTemplateVersionsInput {
60725	s.LaunchTemplateName = &v
60726	return s
60727}
60728
60729// SetMaxResults sets the MaxResults field's value.
60730func (s *DescribeLaunchTemplateVersionsInput) SetMaxResults(v int64) *DescribeLaunchTemplateVersionsInput {
60731	s.MaxResults = &v
60732	return s
60733}
60734
60735// SetMaxVersion sets the MaxVersion field's value.
60736func (s *DescribeLaunchTemplateVersionsInput) SetMaxVersion(v string) *DescribeLaunchTemplateVersionsInput {
60737	s.MaxVersion = &v
60738	return s
60739}
60740
60741// SetMinVersion sets the MinVersion field's value.
60742func (s *DescribeLaunchTemplateVersionsInput) SetMinVersion(v string) *DescribeLaunchTemplateVersionsInput {
60743	s.MinVersion = &v
60744	return s
60745}
60746
60747// SetNextToken sets the NextToken field's value.
60748func (s *DescribeLaunchTemplateVersionsInput) SetNextToken(v string) *DescribeLaunchTemplateVersionsInput {
60749	s.NextToken = &v
60750	return s
60751}
60752
60753// SetVersions sets the Versions field's value.
60754func (s *DescribeLaunchTemplateVersionsInput) SetVersions(v []*string) *DescribeLaunchTemplateVersionsInput {
60755	s.Versions = v
60756	return s
60757}
60758
60759type DescribeLaunchTemplateVersionsOutput struct {
60760	_ struct{} `type:"structure"`
60761
60762	// Information about the launch template versions.
60763	LaunchTemplateVersions []*LaunchTemplateVersion `locationName:"launchTemplateVersionSet" locationNameList:"item" type:"list"`
60764
60765	// The token to use to retrieve the next page of results. This value is null
60766	// when there are no more results to return.
60767	NextToken *string `locationName:"nextToken" type:"string"`
60768}
60769
60770// String returns the string representation
60771func (s DescribeLaunchTemplateVersionsOutput) String() string {
60772	return awsutil.Prettify(s)
60773}
60774
60775// GoString returns the string representation
60776func (s DescribeLaunchTemplateVersionsOutput) GoString() string {
60777	return s.String()
60778}
60779
60780// SetLaunchTemplateVersions sets the LaunchTemplateVersions field's value.
60781func (s *DescribeLaunchTemplateVersionsOutput) SetLaunchTemplateVersions(v []*LaunchTemplateVersion) *DescribeLaunchTemplateVersionsOutput {
60782	s.LaunchTemplateVersions = v
60783	return s
60784}
60785
60786// SetNextToken sets the NextToken field's value.
60787func (s *DescribeLaunchTemplateVersionsOutput) SetNextToken(v string) *DescribeLaunchTemplateVersionsOutput {
60788	s.NextToken = &v
60789	return s
60790}
60791
60792type DescribeLaunchTemplatesInput struct {
60793	_ struct{} `type:"structure"`
60794
60795	// Checks whether you have the required permissions for the action, without
60796	// actually making the request, and provides an error response. If you have
60797	// the required permissions, the error response is DryRunOperation. Otherwise,
60798	// it is UnauthorizedOperation.
60799	DryRun *bool `type:"boolean"`
60800
60801	// One or more filters.
60802	//
60803	//    * create-time - The time the launch template was created.
60804	//
60805	//    * launch-template-name - The name of the launch template.
60806	//
60807	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
60808	//    Use the tag key in the filter name and the tag value as the filter value.
60809	//    For example, to find all resources that have a tag with the key Owner
60810	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
60811	//    the filter value.
60812	//
60813	//    * tag-key - The key of a tag assigned to the resource. Use this filter
60814	//    to find all resources assigned a tag with a specific key, regardless of
60815	//    the tag value.
60816	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60817
60818	// One or more launch template IDs.
60819	LaunchTemplateIds []*string `locationName:"LaunchTemplateId" locationNameList:"item" type:"list"`
60820
60821	// One or more launch template names.
60822	LaunchTemplateNames []*string `locationName:"LaunchTemplateName" locationNameList:"item" type:"list"`
60823
60824	// The maximum number of results to return in a single call. To retrieve the
60825	// remaining results, make another call with the returned NextToken value. This
60826	// value can be between 1 and 200.
60827	MaxResults *int64 `min:"1" type:"integer"`
60828
60829	// The token to request the next page of results.
60830	NextToken *string `type:"string"`
60831}
60832
60833// String returns the string representation
60834func (s DescribeLaunchTemplatesInput) String() string {
60835	return awsutil.Prettify(s)
60836}
60837
60838// GoString returns the string representation
60839func (s DescribeLaunchTemplatesInput) GoString() string {
60840	return s.String()
60841}
60842
60843// Validate inspects the fields of the type to determine if they are valid.
60844func (s *DescribeLaunchTemplatesInput) Validate() error {
60845	invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplatesInput"}
60846	if s.MaxResults != nil && *s.MaxResults < 1 {
60847		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
60848	}
60849
60850	if invalidParams.Len() > 0 {
60851		return invalidParams
60852	}
60853	return nil
60854}
60855
60856// SetDryRun sets the DryRun field's value.
60857func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput {
60858	s.DryRun = &v
60859	return s
60860}
60861
60862// SetFilters sets the Filters field's value.
60863func (s *DescribeLaunchTemplatesInput) SetFilters(v []*Filter) *DescribeLaunchTemplatesInput {
60864	s.Filters = v
60865	return s
60866}
60867
60868// SetLaunchTemplateIds sets the LaunchTemplateIds field's value.
60869func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateIds(v []*string) *DescribeLaunchTemplatesInput {
60870	s.LaunchTemplateIds = v
60871	return s
60872}
60873
60874// SetLaunchTemplateNames sets the LaunchTemplateNames field's value.
60875func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateNames(v []*string) *DescribeLaunchTemplatesInput {
60876	s.LaunchTemplateNames = v
60877	return s
60878}
60879
60880// SetMaxResults sets the MaxResults field's value.
60881func (s *DescribeLaunchTemplatesInput) SetMaxResults(v int64) *DescribeLaunchTemplatesInput {
60882	s.MaxResults = &v
60883	return s
60884}
60885
60886// SetNextToken sets the NextToken field's value.
60887func (s *DescribeLaunchTemplatesInput) SetNextToken(v string) *DescribeLaunchTemplatesInput {
60888	s.NextToken = &v
60889	return s
60890}
60891
60892type DescribeLaunchTemplatesOutput struct {
60893	_ struct{} `type:"structure"`
60894
60895	// Information about the launch templates.
60896	LaunchTemplates []*LaunchTemplate `locationName:"launchTemplates" locationNameList:"item" type:"list"`
60897
60898	// The token to use to retrieve the next page of results. This value is null
60899	// when there are no more results to return.
60900	NextToken *string `locationName:"nextToken" type:"string"`
60901}
60902
60903// String returns the string representation
60904func (s DescribeLaunchTemplatesOutput) String() string {
60905	return awsutil.Prettify(s)
60906}
60907
60908// GoString returns the string representation
60909func (s DescribeLaunchTemplatesOutput) GoString() string {
60910	return s.String()
60911}
60912
60913// SetLaunchTemplates sets the LaunchTemplates field's value.
60914func (s *DescribeLaunchTemplatesOutput) SetLaunchTemplates(v []*LaunchTemplate) *DescribeLaunchTemplatesOutput {
60915	s.LaunchTemplates = v
60916	return s
60917}
60918
60919// SetNextToken sets the NextToken field's value.
60920func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTemplatesOutput {
60921	s.NextToken = &v
60922	return s
60923}
60924
60925type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput struct {
60926	_ struct{} `type:"structure"`
60927
60928	// Checks whether you have the required permissions for the action, without
60929	// actually making the request, and provides an error response. If you have
60930	// the required permissions, the error response is DryRunOperation. Otherwise,
60931	// it is UnauthorizedOperation.
60932	DryRun *bool `type:"boolean"`
60933
60934	// One or more filters.
60935	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60936
60937	// The IDs of the associations.
60938	LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds []*string `locationName:"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId" locationNameList:"item" type:"list"`
60939
60940	// The maximum number of results to return with a single call. To retrieve the
60941	// remaining results, make another call with the returned nextToken value.
60942	MaxResults *int64 `min:"5" type:"integer"`
60943
60944	// The token for the next page of results.
60945	NextToken *string `type:"string"`
60946}
60947
60948// String returns the string representation
60949func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) String() string {
60950	return awsutil.Prettify(s)
60951}
60952
60953// GoString returns the string representation
60954func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) GoString() string {
60955	return s.String()
60956}
60957
60958// Validate inspects the fields of the type to determine if they are valid.
60959func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) Validate() error {
60960	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput"}
60961	if s.MaxResults != nil && *s.MaxResults < 5 {
60962		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
60963	}
60964
60965	if invalidParams.Len() > 0 {
60966		return invalidParams
60967	}
60968	return nil
60969}
60970
60971// SetDryRun sets the DryRun field's value.
60972func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
60973	s.DryRun = &v
60974	return s
60975}
60976
60977// SetFilters sets the Filters field's value.
60978func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
60979	s.Filters = v
60980	return s
60981}
60982
60983// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds field's value.
60984func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
60985	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds = v
60986	return s
60987}
60988
60989// SetMaxResults sets the MaxResults field's value.
60990func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
60991	s.MaxResults = &v
60992	return s
60993}
60994
60995// SetNextToken sets the NextToken field's value.
60996func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
60997	s.NextToken = &v
60998	return s
60999}
61000
61001type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput struct {
61002	_ struct{} `type:"structure"`
61003
61004	// Information about the associations.
61005	LocalGatewayRouteTableVirtualInterfaceGroupAssociations []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationSet" locationNameList:"item" type:"list"`
61006
61007	// The token to use to retrieve the next page of results. This value is null
61008	// when there are no more results to return.
61009	NextToken *string `locationName:"nextToken" type:"string"`
61010}
61011
61012// String returns the string representation
61013func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) String() string {
61014	return awsutil.Prettify(s)
61015}
61016
61017// GoString returns the string representation
61018func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) GoString() string {
61019	return s.String()
61020}
61021
61022// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociations field's value.
61023func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations(v []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
61024	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociations = v
61025	return s
61026}
61027
61028// SetNextToken sets the NextToken field's value.
61029func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
61030	s.NextToken = &v
61031	return s
61032}
61033
61034type DescribeLocalGatewayRouteTableVpcAssociationsInput struct {
61035	_ struct{} `type:"structure"`
61036
61037	// Checks whether you have the required permissions for the action, without
61038	// actually making the request, and provides an error response. If you have
61039	// the required permissions, the error response is DryRunOperation. Otherwise,
61040	// it is UnauthorizedOperation.
61041	DryRun *bool `type:"boolean"`
61042
61043	// One or more filters.
61044	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61045
61046	// The IDs of the associations.
61047	LocalGatewayRouteTableVpcAssociationIds []*string `locationName:"LocalGatewayRouteTableVpcAssociationId" locationNameList:"item" type:"list"`
61048
61049	// The maximum number of results to return with a single call. To retrieve the
61050	// remaining results, make another call with the returned nextToken value.
61051	MaxResults *int64 `min:"5" type:"integer"`
61052
61053	// The token for the next page of results.
61054	NextToken *string `type:"string"`
61055}
61056
61057// String returns the string representation
61058func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) String() string {
61059	return awsutil.Prettify(s)
61060}
61061
61062// GoString returns the string representation
61063func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) GoString() string {
61064	return s.String()
61065}
61066
61067// Validate inspects the fields of the type to determine if they are valid.
61068func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) Validate() error {
61069	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVpcAssociationsInput"}
61070	if s.MaxResults != nil && *s.MaxResults < 5 {
61071		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
61072	}
61073
61074	if invalidParams.Len() > 0 {
61075		return invalidParams
61076	}
61077	return nil
61078}
61079
61080// SetDryRun sets the DryRun field's value.
61081func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
61082	s.DryRun = &v
61083	return s
61084}
61085
61086// SetFilters sets the Filters field's value.
61087func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
61088	s.Filters = v
61089	return s
61090}
61091
61092// SetLocalGatewayRouteTableVpcAssociationIds sets the LocalGatewayRouteTableVpcAssociationIds field's value.
61093func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetLocalGatewayRouteTableVpcAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
61094	s.LocalGatewayRouteTableVpcAssociationIds = v
61095	return s
61096}
61097
61098// SetMaxResults sets the MaxResults field's value.
61099func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
61100	s.MaxResults = &v
61101	return s
61102}
61103
61104// SetNextToken sets the NextToken field's value.
61105func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
61106	s.NextToken = &v
61107	return s
61108}
61109
61110type DescribeLocalGatewayRouteTableVpcAssociationsOutput struct {
61111	_ struct{} `type:"structure"`
61112
61113	// Information about the associations.
61114	LocalGatewayRouteTableVpcAssociations []*LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociationSet" locationNameList:"item" type:"list"`
61115
61116	// The token to use to retrieve the next page of results. This value is null
61117	// when there are no more results to return.
61118	NextToken *string `locationName:"nextToken" type:"string"`
61119}
61120
61121// String returns the string representation
61122func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) String() string {
61123	return awsutil.Prettify(s)
61124}
61125
61126// GoString returns the string representation
61127func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) GoString() string {
61128	return s.String()
61129}
61130
61131// SetLocalGatewayRouteTableVpcAssociations sets the LocalGatewayRouteTableVpcAssociations field's value.
61132func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetLocalGatewayRouteTableVpcAssociations(v []*LocalGatewayRouteTableVpcAssociation) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
61133	s.LocalGatewayRouteTableVpcAssociations = v
61134	return s
61135}
61136
61137// SetNextToken sets the NextToken field's value.
61138func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
61139	s.NextToken = &v
61140	return s
61141}
61142
61143type DescribeLocalGatewayRouteTablesInput struct {
61144	_ struct{} `type:"structure"`
61145
61146	// Checks whether you have the required permissions for the action, without
61147	// actually making the request, and provides an error response. If you have
61148	// the required permissions, the error response is DryRunOperation. Otherwise,
61149	// it is UnauthorizedOperation.
61150	DryRun *bool `type:"boolean"`
61151
61152	// One or more filters.
61153	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61154
61155	// The IDs of the local gateway route tables.
61156	LocalGatewayRouteTableIds []*string `locationName:"LocalGatewayRouteTableId" locationNameList:"item" type:"list"`
61157
61158	// The maximum number of results to return with a single call. To retrieve the
61159	// remaining results, make another call with the returned nextToken value.
61160	MaxResults *int64 `min:"5" type:"integer"`
61161
61162	// The token for the next page of results.
61163	NextToken *string `type:"string"`
61164}
61165
61166// String returns the string representation
61167func (s DescribeLocalGatewayRouteTablesInput) String() string {
61168	return awsutil.Prettify(s)
61169}
61170
61171// GoString returns the string representation
61172func (s DescribeLocalGatewayRouteTablesInput) GoString() string {
61173	return s.String()
61174}
61175
61176// Validate inspects the fields of the type to determine if they are valid.
61177func (s *DescribeLocalGatewayRouteTablesInput) Validate() error {
61178	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTablesInput"}
61179	if s.MaxResults != nil && *s.MaxResults < 5 {
61180		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
61181	}
61182
61183	if invalidParams.Len() > 0 {
61184		return invalidParams
61185	}
61186	return nil
61187}
61188
61189// SetDryRun sets the DryRun field's value.
61190func (s *DescribeLocalGatewayRouteTablesInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTablesInput {
61191	s.DryRun = &v
61192	return s
61193}
61194
61195// SetFilters sets the Filters field's value.
61196func (s *DescribeLocalGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTablesInput {
61197	s.Filters = v
61198	return s
61199}
61200
61201// SetLocalGatewayRouteTableIds sets the LocalGatewayRouteTableIds field's value.
61202func (s *DescribeLocalGatewayRouteTablesInput) SetLocalGatewayRouteTableIds(v []*string) *DescribeLocalGatewayRouteTablesInput {
61203	s.LocalGatewayRouteTableIds = v
61204	return s
61205}
61206
61207// SetMaxResults sets the MaxResults field's value.
61208func (s *DescribeLocalGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTablesInput {
61209	s.MaxResults = &v
61210	return s
61211}
61212
61213// SetNextToken sets the NextToken field's value.
61214func (s *DescribeLocalGatewayRouteTablesInput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesInput {
61215	s.NextToken = &v
61216	return s
61217}
61218
61219type DescribeLocalGatewayRouteTablesOutput struct {
61220	_ struct{} `type:"structure"`
61221
61222	// Information about the local gateway route tables.
61223	LocalGatewayRouteTables []*LocalGatewayRouteTable `locationName:"localGatewayRouteTableSet" locationNameList:"item" type:"list"`
61224
61225	// The token to use to retrieve the next page of results. This value is null
61226	// when there are no more results to return.
61227	NextToken *string `locationName:"nextToken" type:"string"`
61228}
61229
61230// String returns the string representation
61231func (s DescribeLocalGatewayRouteTablesOutput) String() string {
61232	return awsutil.Prettify(s)
61233}
61234
61235// GoString returns the string representation
61236func (s DescribeLocalGatewayRouteTablesOutput) GoString() string {
61237	return s.String()
61238}
61239
61240// SetLocalGatewayRouteTables sets the LocalGatewayRouteTables field's value.
61241func (s *DescribeLocalGatewayRouteTablesOutput) SetLocalGatewayRouteTables(v []*LocalGatewayRouteTable) *DescribeLocalGatewayRouteTablesOutput {
61242	s.LocalGatewayRouteTables = v
61243	return s
61244}
61245
61246// SetNextToken sets the NextToken field's value.
61247func (s *DescribeLocalGatewayRouteTablesOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesOutput {
61248	s.NextToken = &v
61249	return s
61250}
61251
61252type DescribeLocalGatewayVirtualInterfaceGroupsInput struct {
61253	_ struct{} `type:"structure"`
61254
61255	// Checks whether you have the required permissions for the action, without
61256	// actually making the request, and provides an error response. If you have
61257	// the required permissions, the error response is DryRunOperation. Otherwise,
61258	// it is UnauthorizedOperation.
61259	DryRun *bool `type:"boolean"`
61260
61261	// One or more filters.
61262	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61263
61264	// The IDs of the virtual interface groups.
61265	LocalGatewayVirtualInterfaceGroupIds []*string `locationName:"LocalGatewayVirtualInterfaceGroupId" locationNameList:"item" type:"list"`
61266
61267	// The maximum number of results to return with a single call. To retrieve the
61268	// remaining results, make another call with the returned nextToken value.
61269	MaxResults *int64 `min:"5" type:"integer"`
61270
61271	// The token for the next page of results.
61272	NextToken *string `type:"string"`
61273}
61274
61275// String returns the string representation
61276func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) String() string {
61277	return awsutil.Prettify(s)
61278}
61279
61280// GoString returns the string representation
61281func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) GoString() string {
61282	return s.String()
61283}
61284
61285// Validate inspects the fields of the type to determine if they are valid.
61286func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) Validate() error {
61287	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfaceGroupsInput"}
61288	if s.MaxResults != nil && *s.MaxResults < 5 {
61289		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
61290	}
61291
61292	if invalidParams.Len() > 0 {
61293		return invalidParams
61294	}
61295	return nil
61296}
61297
61298// SetDryRun sets the DryRun field's value.
61299func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
61300	s.DryRun = &v
61301	return s
61302}
61303
61304// SetFilters sets the Filters field's value.
61305func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
61306	s.Filters = v
61307	return s
61308}
61309
61310// SetLocalGatewayVirtualInterfaceGroupIds sets the LocalGatewayVirtualInterfaceGroupIds field's value.
61311func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetLocalGatewayVirtualInterfaceGroupIds(v []*string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
61312	s.LocalGatewayVirtualInterfaceGroupIds = v
61313	return s
61314}
61315
61316// SetMaxResults sets the MaxResults field's value.
61317func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
61318	s.MaxResults = &v
61319	return s
61320}
61321
61322// SetNextToken sets the NextToken field's value.
61323func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
61324	s.NextToken = &v
61325	return s
61326}
61327
61328type DescribeLocalGatewayVirtualInterfaceGroupsOutput struct {
61329	_ struct{} `type:"structure"`
61330
61331	// The virtual interface groups.
61332	LocalGatewayVirtualInterfaceGroups []*LocalGatewayVirtualInterfaceGroup `locationName:"localGatewayVirtualInterfaceGroupSet" locationNameList:"item" type:"list"`
61333
61334	// The token to use to retrieve the next page of results. This value is null
61335	// when there are no more results to return.
61336	NextToken *string `locationName:"nextToken" type:"string"`
61337}
61338
61339// String returns the string representation
61340func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) String() string {
61341	return awsutil.Prettify(s)
61342}
61343
61344// GoString returns the string representation
61345func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) GoString() string {
61346	return s.String()
61347}
61348
61349// SetLocalGatewayVirtualInterfaceGroups sets the LocalGatewayVirtualInterfaceGroups field's value.
61350func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetLocalGatewayVirtualInterfaceGroups(v []*LocalGatewayVirtualInterfaceGroup) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
61351	s.LocalGatewayVirtualInterfaceGroups = v
61352	return s
61353}
61354
61355// SetNextToken sets the NextToken field's value.
61356func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
61357	s.NextToken = &v
61358	return s
61359}
61360
61361type DescribeLocalGatewayVirtualInterfacesInput struct {
61362	_ struct{} `type:"structure"`
61363
61364	// Checks whether you have the required permissions for the action, without
61365	// actually making the request, and provides an error response. If you have
61366	// the required permissions, the error response is DryRunOperation. Otherwise,
61367	// it is UnauthorizedOperation.
61368	DryRun *bool `type:"boolean"`
61369
61370	// One or more filters.
61371	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61372
61373	// The IDs of the virtual interfaces.
61374	LocalGatewayVirtualInterfaceIds []*string `locationName:"LocalGatewayVirtualInterfaceId" locationNameList:"item" type:"list"`
61375
61376	// The maximum number of results to return with a single call. To retrieve the
61377	// remaining results, make another call with the returned nextToken value.
61378	MaxResults *int64 `min:"5" type:"integer"`
61379
61380	// The token for the next page of results.
61381	NextToken *string `type:"string"`
61382}
61383
61384// String returns the string representation
61385func (s DescribeLocalGatewayVirtualInterfacesInput) String() string {
61386	return awsutil.Prettify(s)
61387}
61388
61389// GoString returns the string representation
61390func (s DescribeLocalGatewayVirtualInterfacesInput) GoString() string {
61391	return s.String()
61392}
61393
61394// Validate inspects the fields of the type to determine if they are valid.
61395func (s *DescribeLocalGatewayVirtualInterfacesInput) Validate() error {
61396	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfacesInput"}
61397	if s.MaxResults != nil && *s.MaxResults < 5 {
61398		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
61399	}
61400
61401	if invalidParams.Len() > 0 {
61402		return invalidParams
61403	}
61404	return nil
61405}
61406
61407// SetDryRun sets the DryRun field's value.
61408func (s *DescribeLocalGatewayVirtualInterfacesInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfacesInput {
61409	s.DryRun = &v
61410	return s
61411}
61412
61413// SetFilters sets the Filters field's value.
61414func (s *DescribeLocalGatewayVirtualInterfacesInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfacesInput {
61415	s.Filters = v
61416	return s
61417}
61418
61419// SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
61420func (s *DescribeLocalGatewayVirtualInterfacesInput) SetLocalGatewayVirtualInterfaceIds(v []*string) *DescribeLocalGatewayVirtualInterfacesInput {
61421	s.LocalGatewayVirtualInterfaceIds = v
61422	return s
61423}
61424
61425// SetMaxResults sets the MaxResults field's value.
61426func (s *DescribeLocalGatewayVirtualInterfacesInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfacesInput {
61427	s.MaxResults = &v
61428	return s
61429}
61430
61431// SetNextToken sets the NextToken field's value.
61432func (s *DescribeLocalGatewayVirtualInterfacesInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesInput {
61433	s.NextToken = &v
61434	return s
61435}
61436
61437type DescribeLocalGatewayVirtualInterfacesOutput struct {
61438	_ struct{} `type:"structure"`
61439
61440	// Information about the virtual interfaces.
61441	LocalGatewayVirtualInterfaces []*LocalGatewayVirtualInterface `locationName:"localGatewayVirtualInterfaceSet" locationNameList:"item" type:"list"`
61442
61443	// The token to use to retrieve the next page of results. This value is null
61444	// when there are no more results to return.
61445	NextToken *string `locationName:"nextToken" type:"string"`
61446}
61447
61448// String returns the string representation
61449func (s DescribeLocalGatewayVirtualInterfacesOutput) String() string {
61450	return awsutil.Prettify(s)
61451}
61452
61453// GoString returns the string representation
61454func (s DescribeLocalGatewayVirtualInterfacesOutput) GoString() string {
61455	return s.String()
61456}
61457
61458// SetLocalGatewayVirtualInterfaces sets the LocalGatewayVirtualInterfaces field's value.
61459func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetLocalGatewayVirtualInterfaces(v []*LocalGatewayVirtualInterface) *DescribeLocalGatewayVirtualInterfacesOutput {
61460	s.LocalGatewayVirtualInterfaces = v
61461	return s
61462}
61463
61464// SetNextToken sets the NextToken field's value.
61465func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesOutput {
61466	s.NextToken = &v
61467	return s
61468}
61469
61470type DescribeLocalGatewaysInput struct {
61471	_ struct{} `type:"structure"`
61472
61473	// Checks whether you have the required permissions for the action, without
61474	// actually making the request, and provides an error response. If you have
61475	// the required permissions, the error response is DryRunOperation. Otherwise,
61476	// it is UnauthorizedOperation.
61477	DryRun *bool `type:"boolean"`
61478
61479	// One or more filters.
61480	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61481
61482	// The IDs of the local gateways.
61483	LocalGatewayIds []*string `locationName:"LocalGatewayId" locationNameList:"item" type:"list"`
61484
61485	// The maximum number of results to return with a single call. To retrieve the
61486	// remaining results, make another call with the returned nextToken value.
61487	MaxResults *int64 `min:"5" type:"integer"`
61488
61489	// The token for the next page of results.
61490	NextToken *string `type:"string"`
61491}
61492
61493// String returns the string representation
61494func (s DescribeLocalGatewaysInput) String() string {
61495	return awsutil.Prettify(s)
61496}
61497
61498// GoString returns the string representation
61499func (s DescribeLocalGatewaysInput) GoString() string {
61500	return s.String()
61501}
61502
61503// Validate inspects the fields of the type to determine if they are valid.
61504func (s *DescribeLocalGatewaysInput) Validate() error {
61505	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewaysInput"}
61506	if s.MaxResults != nil && *s.MaxResults < 5 {
61507		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
61508	}
61509
61510	if invalidParams.Len() > 0 {
61511		return invalidParams
61512	}
61513	return nil
61514}
61515
61516// SetDryRun sets the DryRun field's value.
61517func (s *DescribeLocalGatewaysInput) SetDryRun(v bool) *DescribeLocalGatewaysInput {
61518	s.DryRun = &v
61519	return s
61520}
61521
61522// SetFilters sets the Filters field's value.
61523func (s *DescribeLocalGatewaysInput) SetFilters(v []*Filter) *DescribeLocalGatewaysInput {
61524	s.Filters = v
61525	return s
61526}
61527
61528// SetLocalGatewayIds sets the LocalGatewayIds field's value.
61529func (s *DescribeLocalGatewaysInput) SetLocalGatewayIds(v []*string) *DescribeLocalGatewaysInput {
61530	s.LocalGatewayIds = v
61531	return s
61532}
61533
61534// SetMaxResults sets the MaxResults field's value.
61535func (s *DescribeLocalGatewaysInput) SetMaxResults(v int64) *DescribeLocalGatewaysInput {
61536	s.MaxResults = &v
61537	return s
61538}
61539
61540// SetNextToken sets the NextToken field's value.
61541func (s *DescribeLocalGatewaysInput) SetNextToken(v string) *DescribeLocalGatewaysInput {
61542	s.NextToken = &v
61543	return s
61544}
61545
61546type DescribeLocalGatewaysOutput struct {
61547	_ struct{} `type:"structure"`
61548
61549	// Information about the local gateways.
61550	LocalGateways []*LocalGateway `locationName:"localGatewaySet" locationNameList:"item" type:"list"`
61551
61552	// The token to use to retrieve the next page of results. This value is null
61553	// when there are no more results to return.
61554	NextToken *string `locationName:"nextToken" type:"string"`
61555}
61556
61557// String returns the string representation
61558func (s DescribeLocalGatewaysOutput) String() string {
61559	return awsutil.Prettify(s)
61560}
61561
61562// GoString returns the string representation
61563func (s DescribeLocalGatewaysOutput) GoString() string {
61564	return s.String()
61565}
61566
61567// SetLocalGateways sets the LocalGateways field's value.
61568func (s *DescribeLocalGatewaysOutput) SetLocalGateways(v []*LocalGateway) *DescribeLocalGatewaysOutput {
61569	s.LocalGateways = v
61570	return s
61571}
61572
61573// SetNextToken sets the NextToken field's value.
61574func (s *DescribeLocalGatewaysOutput) SetNextToken(v string) *DescribeLocalGatewaysOutput {
61575	s.NextToken = &v
61576	return s
61577}
61578
61579type DescribeMovingAddressesInput struct {
61580	_ struct{} `type:"structure"`
61581
61582	// Checks whether you have the required permissions for the action, without
61583	// actually making the request, and provides an error response. If you have
61584	// the required permissions, the error response is DryRunOperation. Otherwise,
61585	// it is UnauthorizedOperation.
61586	DryRun *bool `locationName:"dryRun" type:"boolean"`
61587
61588	// One or more filters.
61589	//
61590	//    * moving-status - The status of the Elastic IP address (MovingToVpc |
61591	//    RestoringToClassic).
61592	Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
61593
61594	// The maximum number of results to return for the request in a single page.
61595	// The remaining results of the initial request can be seen by sending another
61596	// request with the returned NextToken value. This value can be between 5 and
61597	// 1000; if MaxResults is given a value outside of this range, an error is returned.
61598	//
61599	// Default: If no value is provided, the default is 1000.
61600	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
61601
61602	// The token for the next page of results.
61603	NextToken *string `locationName:"nextToken" type:"string"`
61604
61605	// One or more Elastic IP addresses.
61606	PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
61607}
61608
61609// String returns the string representation
61610func (s DescribeMovingAddressesInput) String() string {
61611	return awsutil.Prettify(s)
61612}
61613
61614// GoString returns the string representation
61615func (s DescribeMovingAddressesInput) GoString() string {
61616	return s.String()
61617}
61618
61619// Validate inspects the fields of the type to determine if they are valid.
61620func (s *DescribeMovingAddressesInput) Validate() error {
61621	invalidParams := request.ErrInvalidParams{Context: "DescribeMovingAddressesInput"}
61622	if s.MaxResults != nil && *s.MaxResults < 5 {
61623		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
61624	}
61625
61626	if invalidParams.Len() > 0 {
61627		return invalidParams
61628	}
61629	return nil
61630}
61631
61632// SetDryRun sets the DryRun field's value.
61633func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
61634	s.DryRun = &v
61635	return s
61636}
61637
61638// SetFilters sets the Filters field's value.
61639func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
61640	s.Filters = v
61641	return s
61642}
61643
61644// SetMaxResults sets the MaxResults field's value.
61645func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
61646	s.MaxResults = &v
61647	return s
61648}
61649
61650// SetNextToken sets the NextToken field's value.
61651func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
61652	s.NextToken = &v
61653	return s
61654}
61655
61656// SetPublicIps sets the PublicIps field's value.
61657func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
61658	s.PublicIps = v
61659	return s
61660}
61661
61662type DescribeMovingAddressesOutput struct {
61663	_ struct{} `type:"structure"`
61664
61665	// The status for each Elastic IP address.
61666	MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
61667
61668	// The token to use to retrieve the next page of results. This value is null
61669	// when there are no more results to return.
61670	NextToken *string `locationName:"nextToken" type:"string"`
61671}
61672
61673// String returns the string representation
61674func (s DescribeMovingAddressesOutput) String() string {
61675	return awsutil.Prettify(s)
61676}
61677
61678// GoString returns the string representation
61679func (s DescribeMovingAddressesOutput) GoString() string {
61680	return s.String()
61681}
61682
61683// SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
61684func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
61685	s.MovingAddressStatuses = v
61686	return s
61687}
61688
61689// SetNextToken sets the NextToken field's value.
61690func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
61691	s.NextToken = &v
61692	return s
61693}
61694
61695type DescribeNatGatewaysInput struct {
61696	_ struct{} `type:"structure"`
61697
61698	// One or more filters.
61699	//
61700	//    * nat-gateway-id - The ID of the NAT gateway.
61701	//
61702	//    * state - The state of the NAT gateway (pending | failed | available |
61703	//    deleting | deleted).
61704	//
61705	//    * subnet-id - The ID of the subnet in which the NAT gateway resides.
61706	//
61707	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
61708	//    Use the tag key in the filter name and the tag value as the filter value.
61709	//    For example, to find all resources that have a tag with the key Owner
61710	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
61711	//    the filter value.
61712	//
61713	//    * tag-key - The key of a tag assigned to the resource. Use this filter
61714	//    to find all resources assigned a tag with a specific key, regardless of
61715	//    the tag value.
61716	//
61717	//    * vpc-id - The ID of the VPC in which the NAT gateway resides.
61718	Filter []*Filter `locationNameList:"Filter" type:"list"`
61719
61720	// The maximum number of results to return with a single call. To retrieve the
61721	// remaining results, make another call with the returned nextToken value.
61722	MaxResults *int64 `min:"5" type:"integer"`
61723
61724	// One or more NAT gateway IDs.
61725	NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
61726
61727	// The token for the next page of results.
61728	NextToken *string `type:"string"`
61729}
61730
61731// String returns the string representation
61732func (s DescribeNatGatewaysInput) String() string {
61733	return awsutil.Prettify(s)
61734}
61735
61736// GoString returns the string representation
61737func (s DescribeNatGatewaysInput) GoString() string {
61738	return s.String()
61739}
61740
61741// Validate inspects the fields of the type to determine if they are valid.
61742func (s *DescribeNatGatewaysInput) Validate() error {
61743	invalidParams := request.ErrInvalidParams{Context: "DescribeNatGatewaysInput"}
61744	if s.MaxResults != nil && *s.MaxResults < 5 {
61745		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
61746	}
61747
61748	if invalidParams.Len() > 0 {
61749		return invalidParams
61750	}
61751	return nil
61752}
61753
61754// SetFilter sets the Filter field's value.
61755func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
61756	s.Filter = v
61757	return s
61758}
61759
61760// SetMaxResults sets the MaxResults field's value.
61761func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
61762	s.MaxResults = &v
61763	return s
61764}
61765
61766// SetNatGatewayIds sets the NatGatewayIds field's value.
61767func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
61768	s.NatGatewayIds = v
61769	return s
61770}
61771
61772// SetNextToken sets the NextToken field's value.
61773func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
61774	s.NextToken = &v
61775	return s
61776}
61777
61778type DescribeNatGatewaysOutput struct {
61779	_ struct{} `type:"structure"`
61780
61781	// Information about the NAT gateways.
61782	NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
61783
61784	// The token to use to retrieve the next page of results. This value is null
61785	// when there are no more results to return.
61786	NextToken *string `locationName:"nextToken" type:"string"`
61787}
61788
61789// String returns the string representation
61790func (s DescribeNatGatewaysOutput) String() string {
61791	return awsutil.Prettify(s)
61792}
61793
61794// GoString returns the string representation
61795func (s DescribeNatGatewaysOutput) GoString() string {
61796	return s.String()
61797}
61798
61799// SetNatGateways sets the NatGateways field's value.
61800func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
61801	s.NatGateways = v
61802	return s
61803}
61804
61805// SetNextToken sets the NextToken field's value.
61806func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
61807	s.NextToken = &v
61808	return s
61809}
61810
61811type DescribeNetworkAclsInput struct {
61812	_ struct{} `type:"structure"`
61813
61814	// Checks whether you have the required permissions for the action, without
61815	// actually making the request, and provides an error response. If you have
61816	// the required permissions, the error response is DryRunOperation. Otherwise,
61817	// it is UnauthorizedOperation.
61818	DryRun *bool `locationName:"dryRun" type:"boolean"`
61819
61820	// One or more filters.
61821	//
61822	//    * association.association-id - The ID of an association ID for the ACL.
61823	//
61824	//    * association.network-acl-id - The ID of the network ACL involved in the
61825	//    association.
61826	//
61827	//    * association.subnet-id - The ID of the subnet involved in the association.
61828	//
61829	//    * default - Indicates whether the ACL is the default network ACL for the
61830	//    VPC.
61831	//
61832	//    * entry.cidr - The IPv4 CIDR range specified in the entry.
61833	//
61834	//    * entry.icmp.code - The ICMP code specified in the entry, if any.
61835	//
61836	//    * entry.icmp.type - The ICMP type specified in the entry, if any.
61837	//
61838	//    * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
61839	//
61840	//    * entry.port-range.from - The start of the port range specified in the
61841	//    entry.
61842	//
61843	//    * entry.port-range.to - The end of the port range specified in the entry.
61844	//
61845	//    * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
61846	//    or a protocol number).
61847	//
61848	//    * entry.rule-action - Allows or denies the matching traffic (allow | deny).
61849	//
61850	//    * entry.rule-number - The number of an entry (in other words, rule) in
61851	//    the set of ACL entries.
61852	//
61853	//    * network-acl-id - The ID of the network ACL.
61854	//
61855	//    * owner-id - The ID of the AWS account that owns the network ACL.
61856	//
61857	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
61858	//    Use the tag key in the filter name and the tag value as the filter value.
61859	//    For example, to find all resources that have a tag with the key Owner
61860	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
61861	//    the filter value.
61862	//
61863	//    * tag-key - The key of a tag assigned to the resource. Use this filter
61864	//    to find all resources assigned a tag with a specific key, regardless of
61865	//    the tag value.
61866	//
61867	//    * vpc-id - The ID of the VPC for the network ACL.
61868	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61869
61870	// The maximum number of results to return with a single call. To retrieve the
61871	// remaining results, make another call with the returned nextToken value.
61872	MaxResults *int64 `min:"5" type:"integer"`
61873
61874	// One or more network ACL IDs.
61875	//
61876	// Default: Describes all your network ACLs.
61877	NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
61878
61879	// The token for the next page of results.
61880	NextToken *string `type:"string"`
61881}
61882
61883// String returns the string representation
61884func (s DescribeNetworkAclsInput) String() string {
61885	return awsutil.Prettify(s)
61886}
61887
61888// GoString returns the string representation
61889func (s DescribeNetworkAclsInput) GoString() string {
61890	return s.String()
61891}
61892
61893// Validate inspects the fields of the type to determine if they are valid.
61894func (s *DescribeNetworkAclsInput) Validate() error {
61895	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkAclsInput"}
61896	if s.MaxResults != nil && *s.MaxResults < 5 {
61897		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
61898	}
61899
61900	if invalidParams.Len() > 0 {
61901		return invalidParams
61902	}
61903	return nil
61904}
61905
61906// SetDryRun sets the DryRun field's value.
61907func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
61908	s.DryRun = &v
61909	return s
61910}
61911
61912// SetFilters sets the Filters field's value.
61913func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
61914	s.Filters = v
61915	return s
61916}
61917
61918// SetMaxResults sets the MaxResults field's value.
61919func (s *DescribeNetworkAclsInput) SetMaxResults(v int64) *DescribeNetworkAclsInput {
61920	s.MaxResults = &v
61921	return s
61922}
61923
61924// SetNetworkAclIds sets the NetworkAclIds field's value.
61925func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
61926	s.NetworkAclIds = v
61927	return s
61928}
61929
61930// SetNextToken sets the NextToken field's value.
61931func (s *DescribeNetworkAclsInput) SetNextToken(v string) *DescribeNetworkAclsInput {
61932	s.NextToken = &v
61933	return s
61934}
61935
61936type DescribeNetworkAclsOutput struct {
61937	_ struct{} `type:"structure"`
61938
61939	// Information about one or more network ACLs.
61940	NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
61941
61942	// The token to use to retrieve the next page of results. This value is null
61943	// when there are no more results to return.
61944	NextToken *string `locationName:"nextToken" type:"string"`
61945}
61946
61947// String returns the string representation
61948func (s DescribeNetworkAclsOutput) String() string {
61949	return awsutil.Prettify(s)
61950}
61951
61952// GoString returns the string representation
61953func (s DescribeNetworkAclsOutput) GoString() string {
61954	return s.String()
61955}
61956
61957// SetNetworkAcls sets the NetworkAcls field's value.
61958func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
61959	s.NetworkAcls = v
61960	return s
61961}
61962
61963// SetNextToken sets the NextToken field's value.
61964func (s *DescribeNetworkAclsOutput) SetNextToken(v string) *DescribeNetworkAclsOutput {
61965	s.NextToken = &v
61966	return s
61967}
61968
61969// Contains the parameters for DescribeNetworkInterfaceAttribute.
61970type DescribeNetworkInterfaceAttributeInput struct {
61971	_ struct{} `type:"structure"`
61972
61973	// The attribute of the network interface. This parameter is required.
61974	Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
61975
61976	// Checks whether you have the required permissions for the action, without
61977	// actually making the request, and provides an error response. If you have
61978	// the required permissions, the error response is DryRunOperation. Otherwise,
61979	// it is UnauthorizedOperation.
61980	DryRun *bool `locationName:"dryRun" type:"boolean"`
61981
61982	// The ID of the network interface.
61983	//
61984	// NetworkInterfaceId is a required field
61985	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
61986}
61987
61988// String returns the string representation
61989func (s DescribeNetworkInterfaceAttributeInput) String() string {
61990	return awsutil.Prettify(s)
61991}
61992
61993// GoString returns the string representation
61994func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
61995	return s.String()
61996}
61997
61998// Validate inspects the fields of the type to determine if they are valid.
61999func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
62000	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
62001	if s.NetworkInterfaceId == nil {
62002		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
62003	}
62004
62005	if invalidParams.Len() > 0 {
62006		return invalidParams
62007	}
62008	return nil
62009}
62010
62011// SetAttribute sets the Attribute field's value.
62012func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
62013	s.Attribute = &v
62014	return s
62015}
62016
62017// SetDryRun sets the DryRun field's value.
62018func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
62019	s.DryRun = &v
62020	return s
62021}
62022
62023// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
62024func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
62025	s.NetworkInterfaceId = &v
62026	return s
62027}
62028
62029// Contains the output of DescribeNetworkInterfaceAttribute.
62030type DescribeNetworkInterfaceAttributeOutput struct {
62031	_ struct{} `type:"structure"`
62032
62033	// The attachment (if any) of the network interface.
62034	Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
62035
62036	// The description of the network interface.
62037	Description *AttributeValue `locationName:"description" type:"structure"`
62038
62039	// The security groups associated with the network interface.
62040	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
62041
62042	// The ID of the network interface.
62043	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
62044
62045	// Indicates whether source/destination checking is enabled.
62046	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
62047}
62048
62049// String returns the string representation
62050func (s DescribeNetworkInterfaceAttributeOutput) String() string {
62051	return awsutil.Prettify(s)
62052}
62053
62054// GoString returns the string representation
62055func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
62056	return s.String()
62057}
62058
62059// SetAttachment sets the Attachment field's value.
62060func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
62061	s.Attachment = v
62062	return s
62063}
62064
62065// SetDescription sets the Description field's value.
62066func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
62067	s.Description = v
62068	return s
62069}
62070
62071// SetGroups sets the Groups field's value.
62072func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
62073	s.Groups = v
62074	return s
62075}
62076
62077// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
62078func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
62079	s.NetworkInterfaceId = &v
62080	return s
62081}
62082
62083// SetSourceDestCheck sets the SourceDestCheck field's value.
62084func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
62085	s.SourceDestCheck = v
62086	return s
62087}
62088
62089// Contains the parameters for DescribeNetworkInterfacePermissions.
62090type DescribeNetworkInterfacePermissionsInput struct {
62091	_ struct{} `type:"structure"`
62092
62093	// One or more filters.
62094	//
62095	//    * network-interface-permission.network-interface-permission-id - The ID
62096	//    of the permission.
62097	//
62098	//    * network-interface-permission.network-interface-id - The ID of the network
62099	//    interface.
62100	//
62101	//    * network-interface-permission.aws-account-id - The AWS account ID.
62102	//
62103	//    * network-interface-permission.aws-service - The AWS service.
62104	//
62105	//    * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
62106	//    | EIP-ASSOCIATE).
62107	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62108
62109	// The maximum number of results to return in a single call. To retrieve the
62110	// remaining results, make another call with the returned NextToken value. If
62111	// this parameter is not specified, up to 50 results are returned by default.
62112	MaxResults *int64 `min:"5" type:"integer"`
62113
62114	// One or more network interface permission IDs.
62115	NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
62116
62117	// The token to request the next page of results.
62118	NextToken *string `type:"string"`
62119}
62120
62121// String returns the string representation
62122func (s DescribeNetworkInterfacePermissionsInput) String() string {
62123	return awsutil.Prettify(s)
62124}
62125
62126// GoString returns the string representation
62127func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
62128	return s.String()
62129}
62130
62131// Validate inspects the fields of the type to determine if they are valid.
62132func (s *DescribeNetworkInterfacePermissionsInput) Validate() error {
62133	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacePermissionsInput"}
62134	if s.MaxResults != nil && *s.MaxResults < 5 {
62135		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
62136	}
62137
62138	if invalidParams.Len() > 0 {
62139		return invalidParams
62140	}
62141	return nil
62142}
62143
62144// SetFilters sets the Filters field's value.
62145func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
62146	s.Filters = v
62147	return s
62148}
62149
62150// SetMaxResults sets the MaxResults field's value.
62151func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
62152	s.MaxResults = &v
62153	return s
62154}
62155
62156// SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
62157func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
62158	s.NetworkInterfacePermissionIds = v
62159	return s
62160}
62161
62162// SetNextToken sets the NextToken field's value.
62163func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
62164	s.NextToken = &v
62165	return s
62166}
62167
62168// Contains the output for DescribeNetworkInterfacePermissions.
62169type DescribeNetworkInterfacePermissionsOutput struct {
62170	_ struct{} `type:"structure"`
62171
62172	// The network interface permissions.
62173	NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
62174
62175	// The token to use to retrieve the next page of results.
62176	NextToken *string `locationName:"nextToken" type:"string"`
62177}
62178
62179// String returns the string representation
62180func (s DescribeNetworkInterfacePermissionsOutput) String() string {
62181	return awsutil.Prettify(s)
62182}
62183
62184// GoString returns the string representation
62185func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
62186	return s.String()
62187}
62188
62189// SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
62190func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
62191	s.NetworkInterfacePermissions = v
62192	return s
62193}
62194
62195// SetNextToken sets the NextToken field's value.
62196func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
62197	s.NextToken = &v
62198	return s
62199}
62200
62201// Contains the parameters for DescribeNetworkInterfaces.
62202type DescribeNetworkInterfacesInput struct {
62203	_ struct{} `type:"structure"`
62204
62205	// Checks whether you have the required permissions for the action, without
62206	// actually making the request, and provides an error response. If you have
62207	// the required permissions, the error response is DryRunOperation. Otherwise,
62208	// it is UnauthorizedOperation.
62209	DryRun *bool `locationName:"dryRun" type:"boolean"`
62210
62211	// One or more filters.
62212	//
62213	//    * addresses.private-ip-address - The private IPv4 addresses associated
62214	//    with the network interface.
62215	//
62216	//    * addresses.primary - Whether the private IPv4 address is the primary
62217	//    IP address associated with the network interface.
62218	//
62219	//    * addresses.association.public-ip - The association ID returned when the
62220	//    network interface was associated with the Elastic IP address (IPv4).
62221	//
62222	//    * addresses.association.owner-id - The owner ID of the addresses associated
62223	//    with the network interface.
62224	//
62225	//    * association.association-id - The association ID returned when the network
62226	//    interface was associated with an IPv4 address.
62227	//
62228	//    * association.allocation-id - The allocation ID returned when you allocated
62229	//    the Elastic IP address (IPv4) for your network interface.
62230	//
62231	//    * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
62232	//    associated with the network interface.
62233	//
62234	//    * association.public-ip - The address of the Elastic IP address (IPv4)
62235	//    bound to the network interface.
62236	//
62237	//    * association.public-dns-name - The public DNS name for the network interface
62238	//    (IPv4).
62239	//
62240	//    * attachment.attachment-id - The ID of the interface attachment.
62241	//
62242	//    * attachment.attach-time - The time that the network interface was attached
62243	//    to an instance.
62244	//
62245	//    * attachment.delete-on-termination - Indicates whether the attachment
62246	//    is deleted when an instance is terminated.
62247	//
62248	//    * attachment.device-index - The device index to which the network interface
62249	//    is attached.
62250	//
62251	//    * attachment.instance-id - The ID of the instance to which the network
62252	//    interface is attached.
62253	//
62254	//    * attachment.instance-owner-id - The owner ID of the instance to which
62255	//    the network interface is attached.
62256	//
62257	//    * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
62258	//    interface is attached.
62259	//
62260	//    * attachment.status - The status of the attachment (attaching | attached
62261	//    | detaching | detached).
62262	//
62263	//    * availability-zone - The Availability Zone of the network interface.
62264	//
62265	//    * description - The description of the network interface.
62266	//
62267	//    * group-id - The ID of a security group associated with the network interface.
62268	//
62269	//    * group-name - The name of a security group associated with the network
62270	//    interface.
62271	//
62272	//    * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
62273	//    interface.
62274	//
62275	//    * mac-address - The MAC address of the network interface.
62276	//
62277	//    * network-interface-id - The ID of the network interface.
62278	//
62279	//    * owner-id - The AWS account ID of the network interface owner.
62280	//
62281	//    * private-ip-address - The private IPv4 address or addresses of the network
62282	//    interface.
62283	//
62284	//    * private-dns-name - The private DNS name of the network interface (IPv4).
62285	//
62286	//    * requester-id - The ID of the entity that launched the instance on your
62287	//    behalf (for example, AWS Management Console, Auto Scaling, and so on).
62288	//
62289	//    * requester-managed - Indicates whether the network interface is being
62290	//    managed by an AWS service (for example, AWS Management Console, Auto Scaling,
62291	//    and so on).
62292	//
62293	//    * source-dest-check - Indicates whether the network interface performs
62294	//    source/destination checking. A value of true means checking is enabled,
62295	//    and false means checking is disabled. The value must be false for the
62296	//    network interface to perform network address translation (NAT) in your
62297	//    VPC.
62298	//
62299	//    * status - The status of the network interface. If the network interface
62300	//    is not attached to an instance, the status is available; if a network
62301	//    interface is attached to an instance the status is in-use.
62302	//
62303	//    * subnet-id - The ID of the subnet for the network interface.
62304	//
62305	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
62306	//    Use the tag key in the filter name and the tag value as the filter value.
62307	//    For example, to find all resources that have a tag with the key Owner
62308	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
62309	//    the filter value.
62310	//
62311	//    * tag-key - The key of a tag assigned to the resource. Use this filter
62312	//    to find all resources assigned a tag with a specific key, regardless of
62313	//    the tag value.
62314	//
62315	//    * vpc-id - The ID of the VPC for the network interface.
62316	Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
62317
62318	// The maximum number of items to return for this request. The request returns
62319	// a token that you can specify in a subsequent call to get the next set of
62320	// results. You cannot specify this parameter and the network interface IDs
62321	// parameter in the same request.
62322	MaxResults *int64 `min:"5" type:"integer"`
62323
62324	// One or more network interface IDs.
62325	//
62326	// Default: Describes all your network interfaces.
62327	NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
62328
62329	// The token to retrieve the next page of results.
62330	NextToken *string `type:"string"`
62331}
62332
62333// String returns the string representation
62334func (s DescribeNetworkInterfacesInput) String() string {
62335	return awsutil.Prettify(s)
62336}
62337
62338// GoString returns the string representation
62339func (s DescribeNetworkInterfacesInput) GoString() string {
62340	return s.String()
62341}
62342
62343// Validate inspects the fields of the type to determine if they are valid.
62344func (s *DescribeNetworkInterfacesInput) Validate() error {
62345	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacesInput"}
62346	if s.MaxResults != nil && *s.MaxResults < 5 {
62347		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
62348	}
62349
62350	if invalidParams.Len() > 0 {
62351		return invalidParams
62352	}
62353	return nil
62354}
62355
62356// SetDryRun sets the DryRun field's value.
62357func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
62358	s.DryRun = &v
62359	return s
62360}
62361
62362// SetFilters sets the Filters field's value.
62363func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
62364	s.Filters = v
62365	return s
62366}
62367
62368// SetMaxResults sets the MaxResults field's value.
62369func (s *DescribeNetworkInterfacesInput) SetMaxResults(v int64) *DescribeNetworkInterfacesInput {
62370	s.MaxResults = &v
62371	return s
62372}
62373
62374// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
62375func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
62376	s.NetworkInterfaceIds = v
62377	return s
62378}
62379
62380// SetNextToken sets the NextToken field's value.
62381func (s *DescribeNetworkInterfacesInput) SetNextToken(v string) *DescribeNetworkInterfacesInput {
62382	s.NextToken = &v
62383	return s
62384}
62385
62386// Contains the output of DescribeNetworkInterfaces.
62387type DescribeNetworkInterfacesOutput struct {
62388	_ struct{} `type:"structure"`
62389
62390	// Information about one or more network interfaces.
62391	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
62392
62393	// The token to use to retrieve the next page of results. This value is null
62394	// when there are no more results to return.
62395	NextToken *string `locationName:"nextToken" type:"string"`
62396}
62397
62398// String returns the string representation
62399func (s DescribeNetworkInterfacesOutput) String() string {
62400	return awsutil.Prettify(s)
62401}
62402
62403// GoString returns the string representation
62404func (s DescribeNetworkInterfacesOutput) GoString() string {
62405	return s.String()
62406}
62407
62408// SetNetworkInterfaces sets the NetworkInterfaces field's value.
62409func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
62410	s.NetworkInterfaces = v
62411	return s
62412}
62413
62414// SetNextToken sets the NextToken field's value.
62415func (s *DescribeNetworkInterfacesOutput) SetNextToken(v string) *DescribeNetworkInterfacesOutput {
62416	s.NextToken = &v
62417	return s
62418}
62419
62420type DescribePlacementGroupsInput struct {
62421	_ struct{} `type:"structure"`
62422
62423	// Checks whether you have the required permissions for the action, without
62424	// actually making the request, and provides an error response. If you have
62425	// the required permissions, the error response is DryRunOperation. Otherwise,
62426	// it is UnauthorizedOperation.
62427	DryRun *bool `locationName:"dryRun" type:"boolean"`
62428
62429	// The filters.
62430	//
62431	//    * group-name - The name of the placement group.
62432	//
62433	//    * state - The state of the placement group (pending | available | deleting
62434	//    | deleted).
62435	//
62436	//    * strategy - The strategy of the placement group (cluster | spread | partition).
62437	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62438
62439	// The IDs of the placement groups.
62440	GroupIds []*string `locationName:"GroupId" locationNameList:"GroupId" type:"list"`
62441
62442	// The names of the placement groups.
62443	//
62444	// Default: Describes all your placement groups, or only those otherwise specified.
62445	GroupNames []*string `locationName:"groupName" type:"list"`
62446}
62447
62448// String returns the string representation
62449func (s DescribePlacementGroupsInput) String() string {
62450	return awsutil.Prettify(s)
62451}
62452
62453// GoString returns the string representation
62454func (s DescribePlacementGroupsInput) GoString() string {
62455	return s.String()
62456}
62457
62458// SetDryRun sets the DryRun field's value.
62459func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
62460	s.DryRun = &v
62461	return s
62462}
62463
62464// SetFilters sets the Filters field's value.
62465func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
62466	s.Filters = v
62467	return s
62468}
62469
62470// SetGroupIds sets the GroupIds field's value.
62471func (s *DescribePlacementGroupsInput) SetGroupIds(v []*string) *DescribePlacementGroupsInput {
62472	s.GroupIds = v
62473	return s
62474}
62475
62476// SetGroupNames sets the GroupNames field's value.
62477func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
62478	s.GroupNames = v
62479	return s
62480}
62481
62482type DescribePlacementGroupsOutput struct {
62483	_ struct{} `type:"structure"`
62484
62485	// Information about the placement groups.
62486	PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
62487}
62488
62489// String returns the string representation
62490func (s DescribePlacementGroupsOutput) String() string {
62491	return awsutil.Prettify(s)
62492}
62493
62494// GoString returns the string representation
62495func (s DescribePlacementGroupsOutput) GoString() string {
62496	return s.String()
62497}
62498
62499// SetPlacementGroups sets the PlacementGroups field's value.
62500func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
62501	s.PlacementGroups = v
62502	return s
62503}
62504
62505type DescribePrefixListsInput struct {
62506	_ struct{} `type:"structure"`
62507
62508	// Checks whether you have the required permissions for the action, without
62509	// actually making the request, and provides an error response. If you have
62510	// the required permissions, the error response is DryRunOperation. Otherwise,
62511	// it is UnauthorizedOperation.
62512	DryRun *bool `type:"boolean"`
62513
62514	// One or more filters.
62515	//
62516	//    * prefix-list-id: The ID of a prefix list.
62517	//
62518	//    * prefix-list-name: The name of a prefix list.
62519	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62520
62521	// The maximum number of results to return with a single call. To retrieve the
62522	// remaining results, make another call with the returned nextToken value.
62523	MaxResults *int64 `type:"integer"`
62524
62525	// The token for the next page of results.
62526	NextToken *string `type:"string"`
62527
62528	// One or more prefix list IDs.
62529	PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
62530}
62531
62532// String returns the string representation
62533func (s DescribePrefixListsInput) String() string {
62534	return awsutil.Prettify(s)
62535}
62536
62537// GoString returns the string representation
62538func (s DescribePrefixListsInput) GoString() string {
62539	return s.String()
62540}
62541
62542// SetDryRun sets the DryRun field's value.
62543func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
62544	s.DryRun = &v
62545	return s
62546}
62547
62548// SetFilters sets the Filters field's value.
62549func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
62550	s.Filters = v
62551	return s
62552}
62553
62554// SetMaxResults sets the MaxResults field's value.
62555func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
62556	s.MaxResults = &v
62557	return s
62558}
62559
62560// SetNextToken sets the NextToken field's value.
62561func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
62562	s.NextToken = &v
62563	return s
62564}
62565
62566// SetPrefixListIds sets the PrefixListIds field's value.
62567func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
62568	s.PrefixListIds = v
62569	return s
62570}
62571
62572type DescribePrefixListsOutput struct {
62573	_ struct{} `type:"structure"`
62574
62575	// The token to use to retrieve the next page of results. This value is null
62576	// when there are no more results to return.
62577	NextToken *string `locationName:"nextToken" type:"string"`
62578
62579	// All available prefix lists.
62580	PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
62581}
62582
62583// String returns the string representation
62584func (s DescribePrefixListsOutput) String() string {
62585	return awsutil.Prettify(s)
62586}
62587
62588// GoString returns the string representation
62589func (s DescribePrefixListsOutput) GoString() string {
62590	return s.String()
62591}
62592
62593// SetNextToken sets the NextToken field's value.
62594func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
62595	s.NextToken = &v
62596	return s
62597}
62598
62599// SetPrefixLists sets the PrefixLists field's value.
62600func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
62601	s.PrefixLists = v
62602	return s
62603}
62604
62605type DescribePrincipalIdFormatInput struct {
62606	_ struct{} `type:"structure"`
62607
62608	// Checks whether you have the required permissions for the action, without
62609	// actually making the request, and provides an error response. If you have
62610	// the required permissions, the error response is DryRunOperation. Otherwise,
62611	// it is UnauthorizedOperation.
62612	DryRun *bool `type:"boolean"`
62613
62614	// The maximum number of results to return in a single call. To retrieve the
62615	// remaining results, make another call with the returned NextToken value.
62616	MaxResults *int64 `min:"1" type:"integer"`
62617
62618	// The token to request the next page of results.
62619	NextToken *string `type:"string"`
62620
62621	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
62622	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
62623	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
62624	// | network-interface | network-interface-attachment | prefix-list | reservation
62625	// | route-table | route-table-association | security-group | snapshot | subnet
62626	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
62627	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
62628	Resources []*string `locationName:"Resource" locationNameList:"item" type:"list"`
62629}
62630
62631// String returns the string representation
62632func (s DescribePrincipalIdFormatInput) String() string {
62633	return awsutil.Prettify(s)
62634}
62635
62636// GoString returns the string representation
62637func (s DescribePrincipalIdFormatInput) GoString() string {
62638	return s.String()
62639}
62640
62641// Validate inspects the fields of the type to determine if they are valid.
62642func (s *DescribePrincipalIdFormatInput) Validate() error {
62643	invalidParams := request.ErrInvalidParams{Context: "DescribePrincipalIdFormatInput"}
62644	if s.MaxResults != nil && *s.MaxResults < 1 {
62645		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
62646	}
62647
62648	if invalidParams.Len() > 0 {
62649		return invalidParams
62650	}
62651	return nil
62652}
62653
62654// SetDryRun sets the DryRun field's value.
62655func (s *DescribePrincipalIdFormatInput) SetDryRun(v bool) *DescribePrincipalIdFormatInput {
62656	s.DryRun = &v
62657	return s
62658}
62659
62660// SetMaxResults sets the MaxResults field's value.
62661func (s *DescribePrincipalIdFormatInput) SetMaxResults(v int64) *DescribePrincipalIdFormatInput {
62662	s.MaxResults = &v
62663	return s
62664}
62665
62666// SetNextToken sets the NextToken field's value.
62667func (s *DescribePrincipalIdFormatInput) SetNextToken(v string) *DescribePrincipalIdFormatInput {
62668	s.NextToken = &v
62669	return s
62670}
62671
62672// SetResources sets the Resources field's value.
62673func (s *DescribePrincipalIdFormatInput) SetResources(v []*string) *DescribePrincipalIdFormatInput {
62674	s.Resources = v
62675	return s
62676}
62677
62678type DescribePrincipalIdFormatOutput struct {
62679	_ struct{} `type:"structure"`
62680
62681	// The token to use to retrieve the next page of results. This value is null
62682	// when there are no more results to return.
62683	NextToken *string `locationName:"nextToken" type:"string"`
62684
62685	// Information about the ID format settings for the ARN.
62686	Principals []*PrincipalIdFormat `locationName:"principalSet" locationNameList:"item" type:"list"`
62687}
62688
62689// String returns the string representation
62690func (s DescribePrincipalIdFormatOutput) String() string {
62691	return awsutil.Prettify(s)
62692}
62693
62694// GoString returns the string representation
62695func (s DescribePrincipalIdFormatOutput) GoString() string {
62696	return s.String()
62697}
62698
62699// SetNextToken sets the NextToken field's value.
62700func (s *DescribePrincipalIdFormatOutput) SetNextToken(v string) *DescribePrincipalIdFormatOutput {
62701	s.NextToken = &v
62702	return s
62703}
62704
62705// SetPrincipals sets the Principals field's value.
62706func (s *DescribePrincipalIdFormatOutput) SetPrincipals(v []*PrincipalIdFormat) *DescribePrincipalIdFormatOutput {
62707	s.Principals = v
62708	return s
62709}
62710
62711type DescribePublicIpv4PoolsInput struct {
62712	_ struct{} `type:"structure"`
62713
62714	// One or more filters.
62715	//
62716	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
62717	//    Use the tag key in the filter name and the tag value as the filter value.
62718	//    For example, to find all resources that have a tag with the key Owner
62719	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
62720	//    the filter value.
62721	//
62722	//    * tag-key - The key of a tag assigned to the resource. Use this filter
62723	//    to find all resources assigned a tag with a specific key, regardless of
62724	//    the tag value.
62725	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62726
62727	// The maximum number of results to return with a single call. To retrieve the
62728	// remaining results, make another call with the returned nextToken value.
62729	MaxResults *int64 `min:"1" type:"integer"`
62730
62731	// The token for the next page of results.
62732	NextToken *string `type:"string"`
62733
62734	// The IDs of the address pools.
62735	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
62736}
62737
62738// String returns the string representation
62739func (s DescribePublicIpv4PoolsInput) String() string {
62740	return awsutil.Prettify(s)
62741}
62742
62743// GoString returns the string representation
62744func (s DescribePublicIpv4PoolsInput) GoString() string {
62745	return s.String()
62746}
62747
62748// Validate inspects the fields of the type to determine if they are valid.
62749func (s *DescribePublicIpv4PoolsInput) Validate() error {
62750	invalidParams := request.ErrInvalidParams{Context: "DescribePublicIpv4PoolsInput"}
62751	if s.MaxResults != nil && *s.MaxResults < 1 {
62752		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
62753	}
62754
62755	if invalidParams.Len() > 0 {
62756		return invalidParams
62757	}
62758	return nil
62759}
62760
62761// SetFilters sets the Filters field's value.
62762func (s *DescribePublicIpv4PoolsInput) SetFilters(v []*Filter) *DescribePublicIpv4PoolsInput {
62763	s.Filters = v
62764	return s
62765}
62766
62767// SetMaxResults sets the MaxResults field's value.
62768func (s *DescribePublicIpv4PoolsInput) SetMaxResults(v int64) *DescribePublicIpv4PoolsInput {
62769	s.MaxResults = &v
62770	return s
62771}
62772
62773// SetNextToken sets the NextToken field's value.
62774func (s *DescribePublicIpv4PoolsInput) SetNextToken(v string) *DescribePublicIpv4PoolsInput {
62775	s.NextToken = &v
62776	return s
62777}
62778
62779// SetPoolIds sets the PoolIds field's value.
62780func (s *DescribePublicIpv4PoolsInput) SetPoolIds(v []*string) *DescribePublicIpv4PoolsInput {
62781	s.PoolIds = v
62782	return s
62783}
62784
62785type DescribePublicIpv4PoolsOutput struct {
62786	_ struct{} `type:"structure"`
62787
62788	// The token to use to retrieve the next page of results. This value is null
62789	// when there are no more results to return.
62790	NextToken *string `locationName:"nextToken" type:"string"`
62791
62792	// Information about the address pools.
62793	PublicIpv4Pools []*PublicIpv4Pool `locationName:"publicIpv4PoolSet" locationNameList:"item" type:"list"`
62794}
62795
62796// String returns the string representation
62797func (s DescribePublicIpv4PoolsOutput) String() string {
62798	return awsutil.Prettify(s)
62799}
62800
62801// GoString returns the string representation
62802func (s DescribePublicIpv4PoolsOutput) GoString() string {
62803	return s.String()
62804}
62805
62806// SetNextToken sets the NextToken field's value.
62807func (s *DescribePublicIpv4PoolsOutput) SetNextToken(v string) *DescribePublicIpv4PoolsOutput {
62808	s.NextToken = &v
62809	return s
62810}
62811
62812// SetPublicIpv4Pools sets the PublicIpv4Pools field's value.
62813func (s *DescribePublicIpv4PoolsOutput) SetPublicIpv4Pools(v []*PublicIpv4Pool) *DescribePublicIpv4PoolsOutput {
62814	s.PublicIpv4Pools = v
62815	return s
62816}
62817
62818type DescribeRegionsInput struct {
62819	_ struct{} `type:"structure"`
62820
62821	// Indicates whether to display all Regions, including Regions that are disabled
62822	// for your account.
62823	AllRegions *bool `type:"boolean"`
62824
62825	// Checks whether you have the required permissions for the action, without
62826	// actually making the request, and provides an error response. If you have
62827	// the required permissions, the error response is DryRunOperation. Otherwise,
62828	// it is UnauthorizedOperation.
62829	DryRun *bool `locationName:"dryRun" type:"boolean"`
62830
62831	// The filters.
62832	//
62833	//    * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).
62834	//
62835	//    * opt-in-status - The opt-in status of the Region (opt-in-not-required
62836	//    | opted-in | not-opted-in).
62837	//
62838	//    * region-name - The name of the Region (for example, us-east-1).
62839	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62840
62841	// The names of the Regions. You can specify any Regions, whether they are enabled
62842	// and disabled for your account.
62843	RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
62844}
62845
62846// String returns the string representation
62847func (s DescribeRegionsInput) String() string {
62848	return awsutil.Prettify(s)
62849}
62850
62851// GoString returns the string representation
62852func (s DescribeRegionsInput) GoString() string {
62853	return s.String()
62854}
62855
62856// SetAllRegions sets the AllRegions field's value.
62857func (s *DescribeRegionsInput) SetAllRegions(v bool) *DescribeRegionsInput {
62858	s.AllRegions = &v
62859	return s
62860}
62861
62862// SetDryRun sets the DryRun field's value.
62863func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
62864	s.DryRun = &v
62865	return s
62866}
62867
62868// SetFilters sets the Filters field's value.
62869func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
62870	s.Filters = v
62871	return s
62872}
62873
62874// SetRegionNames sets the RegionNames field's value.
62875func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
62876	s.RegionNames = v
62877	return s
62878}
62879
62880type DescribeRegionsOutput struct {
62881	_ struct{} `type:"structure"`
62882
62883	// Information about the Regions.
62884	Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
62885}
62886
62887// String returns the string representation
62888func (s DescribeRegionsOutput) String() string {
62889	return awsutil.Prettify(s)
62890}
62891
62892// GoString returns the string representation
62893func (s DescribeRegionsOutput) GoString() string {
62894	return s.String()
62895}
62896
62897// SetRegions sets the Regions field's value.
62898func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
62899	s.Regions = v
62900	return s
62901}
62902
62903// Contains the parameters for DescribeReservedInstances.
62904type DescribeReservedInstancesInput struct {
62905	_ struct{} `type:"structure"`
62906
62907	// Checks whether you have the required permissions for the action, without
62908	// actually making the request, and provides an error response. If you have
62909	// the required permissions, the error response is DryRunOperation. Otherwise,
62910	// it is UnauthorizedOperation.
62911	DryRun *bool `locationName:"dryRun" type:"boolean"`
62912
62913	// One or more filters.
62914	//
62915	//    * availability-zone - The Availability Zone where the Reserved Instance
62916	//    can be used.
62917	//
62918	//    * duration - The duration of the Reserved Instance (one year or three
62919	//    years), in seconds (31536000 | 94608000).
62920	//
62921	//    * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
62922	//
62923	//    * fixed-price - The purchase price of the Reserved Instance (for example,
62924	//    9800.0).
62925	//
62926	//    * instance-type - The instance type that is covered by the reservation.
62927	//
62928	//    * scope - The scope of the Reserved Instance (Region or Availability Zone).
62929	//
62930	//    * product-description - The Reserved Instance product platform description.
62931	//    Instances that include (Amazon VPC) in the product platform description
62932	//    will only be displayed to EC2-Classic account holders and are for use
62933	//    with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
62934	//    Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
62935	//    (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
62936	//    Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
62937	//    SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
62938	//    SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
62939	//
62940	//    * reserved-instances-id - The ID of the Reserved Instance.
62941	//
62942	//    * start - The time at which the Reserved Instance purchase request was
62943	//    placed (for example, 2014-08-07T11:54:42.000Z).
62944	//
62945	//    * state - The state of the Reserved Instance (payment-pending | active
62946	//    | payment-failed | retired).
62947	//
62948	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
62949	//    Use the tag key in the filter name and the tag value as the filter value.
62950	//    For example, to find all resources that have a tag with the key Owner
62951	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
62952	//    the filter value.
62953	//
62954	//    * tag-key - The key of a tag assigned to the resource. Use this filter
62955	//    to find all resources assigned a tag with a specific key, regardless of
62956	//    the tag value.
62957	//
62958	//    * usage-price - The usage price of the Reserved Instance, per hour (for
62959	//    example, 0.84).
62960	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62961
62962	// Describes whether the Reserved Instance is Standard or Convertible.
62963	OfferingClass *string `type:"string" enum:"OfferingClassType"`
62964
62965	// The Reserved Instance offering type. If you are using tools that predate
62966	// the 2011-11-01 API version, you only have access to the Medium Utilization
62967	// Reserved Instance offering type.
62968	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
62969
62970	// One or more Reserved Instance IDs.
62971	//
62972	// Default: Describes all your Reserved Instances, or only those otherwise specified.
62973	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
62974}
62975
62976// String returns the string representation
62977func (s DescribeReservedInstancesInput) String() string {
62978	return awsutil.Prettify(s)
62979}
62980
62981// GoString returns the string representation
62982func (s DescribeReservedInstancesInput) GoString() string {
62983	return s.String()
62984}
62985
62986// SetDryRun sets the DryRun field's value.
62987func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
62988	s.DryRun = &v
62989	return s
62990}
62991
62992// SetFilters sets the Filters field's value.
62993func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
62994	s.Filters = v
62995	return s
62996}
62997
62998// SetOfferingClass sets the OfferingClass field's value.
62999func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
63000	s.OfferingClass = &v
63001	return s
63002}
63003
63004// SetOfferingType sets the OfferingType field's value.
63005func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
63006	s.OfferingType = &v
63007	return s
63008}
63009
63010// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
63011func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
63012	s.ReservedInstancesIds = v
63013	return s
63014}
63015
63016// Contains the parameters for DescribeReservedInstancesListings.
63017type DescribeReservedInstancesListingsInput struct {
63018	_ struct{} `type:"structure"`
63019
63020	// One or more filters.
63021	//
63022	//    * reserved-instances-id - The ID of the Reserved Instances.
63023	//
63024	//    * reserved-instances-listing-id - The ID of the Reserved Instances listing.
63025	//
63026	//    * status - The status of the Reserved Instance listing (pending | active
63027	//    | cancelled | closed).
63028	//
63029	//    * status-message - The reason for the status.
63030	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63031
63032	// One or more Reserved Instance IDs.
63033	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
63034
63035	// One or more Reserved Instance listing IDs.
63036	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
63037}
63038
63039// String returns the string representation
63040func (s DescribeReservedInstancesListingsInput) String() string {
63041	return awsutil.Prettify(s)
63042}
63043
63044// GoString returns the string representation
63045func (s DescribeReservedInstancesListingsInput) GoString() string {
63046	return s.String()
63047}
63048
63049// SetFilters sets the Filters field's value.
63050func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
63051	s.Filters = v
63052	return s
63053}
63054
63055// SetReservedInstancesId sets the ReservedInstancesId field's value.
63056func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
63057	s.ReservedInstancesId = &v
63058	return s
63059}
63060
63061// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
63062func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
63063	s.ReservedInstancesListingId = &v
63064	return s
63065}
63066
63067// Contains the output of DescribeReservedInstancesListings.
63068type DescribeReservedInstancesListingsOutput struct {
63069	_ struct{} `type:"structure"`
63070
63071	// Information about the Reserved Instance listing.
63072	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
63073}
63074
63075// String returns the string representation
63076func (s DescribeReservedInstancesListingsOutput) String() string {
63077	return awsutil.Prettify(s)
63078}
63079
63080// GoString returns the string representation
63081func (s DescribeReservedInstancesListingsOutput) GoString() string {
63082	return s.String()
63083}
63084
63085// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
63086func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
63087	s.ReservedInstancesListings = v
63088	return s
63089}
63090
63091// Contains the parameters for DescribeReservedInstancesModifications.
63092type DescribeReservedInstancesModificationsInput struct {
63093	_ struct{} `type:"structure"`
63094
63095	// One or more filters.
63096	//
63097	//    * client-token - The idempotency token for the modification request.
63098	//
63099	//    * create-date - The time when the modification request was created.
63100	//
63101	//    * effective-date - The time when the modification becomes effective.
63102	//
63103	//    * modification-result.reserved-instances-id - The ID for the Reserved
63104	//    Instances created as part of the modification request. This ID is only
63105	//    available when the status of the modification is fulfilled.
63106	//
63107	//    * modification-result.target-configuration.availability-zone - The Availability
63108	//    Zone for the new Reserved Instances.
63109	//
63110	//    * modification-result.target-configuration.instance-count - The number
63111	//    of new Reserved Instances.
63112	//
63113	//    * modification-result.target-configuration.instance-type - The instance
63114	//    type of the new Reserved Instances.
63115	//
63116	//    * modification-result.target-configuration.platform - The network platform
63117	//    of the new Reserved Instances (EC2-Classic | EC2-VPC).
63118	//
63119	//    * reserved-instances-id - The ID of the Reserved Instances modified.
63120	//
63121	//    * reserved-instances-modification-id - The ID of the modification request.
63122	//
63123	//    * status - The status of the Reserved Instances modification request (processing
63124	//    | fulfilled | failed).
63125	//
63126	//    * status-message - The reason for the status.
63127	//
63128	//    * update-date - The time when the modification request was last updated.
63129	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63130
63131	// The token to retrieve the next page of results.
63132	NextToken *string `locationName:"nextToken" type:"string"`
63133
63134	// IDs for the submitted modification request.
63135	ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
63136}
63137
63138// String returns the string representation
63139func (s DescribeReservedInstancesModificationsInput) String() string {
63140	return awsutil.Prettify(s)
63141}
63142
63143// GoString returns the string representation
63144func (s DescribeReservedInstancesModificationsInput) GoString() string {
63145	return s.String()
63146}
63147
63148// SetFilters sets the Filters field's value.
63149func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
63150	s.Filters = v
63151	return s
63152}
63153
63154// SetNextToken sets the NextToken field's value.
63155func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
63156	s.NextToken = &v
63157	return s
63158}
63159
63160// SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
63161func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
63162	s.ReservedInstancesModificationIds = v
63163	return s
63164}
63165
63166// Contains the output of DescribeReservedInstancesModifications.
63167type DescribeReservedInstancesModificationsOutput struct {
63168	_ struct{} `type:"structure"`
63169
63170	// The token to use to retrieve the next page of results. This value is null
63171	// when there are no more results to return.
63172	NextToken *string `locationName:"nextToken" type:"string"`
63173
63174	// The Reserved Instance modification information.
63175	ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
63176}
63177
63178// String returns the string representation
63179func (s DescribeReservedInstancesModificationsOutput) String() string {
63180	return awsutil.Prettify(s)
63181}
63182
63183// GoString returns the string representation
63184func (s DescribeReservedInstancesModificationsOutput) GoString() string {
63185	return s.String()
63186}
63187
63188// SetNextToken sets the NextToken field's value.
63189func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
63190	s.NextToken = &v
63191	return s
63192}
63193
63194// SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
63195func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
63196	s.ReservedInstancesModifications = v
63197	return s
63198}
63199
63200// Contains the parameters for DescribeReservedInstancesOfferings.
63201type DescribeReservedInstancesOfferingsInput struct {
63202	_ struct{} `type:"structure"`
63203
63204	// The Availability Zone in which the Reserved Instance can be used.
63205	AvailabilityZone *string `type:"string"`
63206
63207	// Checks whether you have the required permissions for the action, without
63208	// actually making the request, and provides an error response. If you have
63209	// the required permissions, the error response is DryRunOperation. Otherwise,
63210	// it is UnauthorizedOperation.
63211	DryRun *bool `locationName:"dryRun" type:"boolean"`
63212
63213	// One or more filters.
63214	//
63215	//    * availability-zone - The Availability Zone where the Reserved Instance
63216	//    can be used.
63217	//
63218	//    * duration - The duration of the Reserved Instance (for example, one year
63219	//    or three years), in seconds (31536000 | 94608000).
63220	//
63221	//    * fixed-price - The purchase price of the Reserved Instance (for example,
63222	//    9800.0).
63223	//
63224	//    * instance-type - The instance type that is covered by the reservation.
63225	//
63226	//    * marketplace - Set to true to show only Reserved Instance Marketplace
63227	//    offerings. When this filter is not used, which is the default behavior,
63228	//    all offerings from both AWS and the Reserved Instance Marketplace are
63229	//    listed.
63230	//
63231	//    * product-description - The Reserved Instance product platform description.
63232	//    Instances that include (Amazon VPC) in the product platform description
63233	//    will only be displayed to EC2-Classic account holders and are for use
63234	//    with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
63235	//    SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
63236	//    Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
63237	//    Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
63238	//    with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
63239	//    with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
63240	//    VPC))
63241	//
63242	//    * reserved-instances-offering-id - The Reserved Instances offering ID.
63243	//
63244	//    * scope - The scope of the Reserved Instance (Availability Zone or Region).
63245	//
63246	//    * usage-price - The usage price of the Reserved Instance, per hour (for
63247	//    example, 0.84).
63248	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63249
63250	// Include Reserved Instance Marketplace offerings in the response.
63251	IncludeMarketplace *bool `type:"boolean"`
63252
63253	// The tenancy of the instances covered by the reservation. A Reserved Instance
63254	// with a tenancy of dedicated is applied to instances that run in a VPC on
63255	// single-tenant hardware (i.e., Dedicated Instances).
63256	//
63257	// Important: The host value cannot be used with this parameter. Use the default
63258	// or dedicated values only.
63259	//
63260	// Default: default
63261	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
63262
63263	// The instance type that the reservation will cover (for example, m1.small).
63264	// For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
63265	// in the Amazon Elastic Compute Cloud User Guide.
63266	InstanceType *string `type:"string" enum:"InstanceType"`
63267
63268	// The maximum duration (in seconds) to filter when searching for offerings.
63269	//
63270	// Default: 94608000 (3 years)
63271	MaxDuration *int64 `type:"long"`
63272
63273	// The maximum number of instances to filter when searching for offerings.
63274	//
63275	// Default: 20
63276	MaxInstanceCount *int64 `type:"integer"`
63277
63278	// The maximum number of results to return for the request in a single page.
63279	// The remaining results of the initial request can be seen by sending another
63280	// request with the returned NextToken value. The maximum is 100.
63281	//
63282	// Default: 100
63283	MaxResults *int64 `locationName:"maxResults" type:"integer"`
63284
63285	// The minimum duration (in seconds) to filter when searching for offerings.
63286	//
63287	// Default: 2592000 (1 month)
63288	MinDuration *int64 `type:"long"`
63289
63290	// The token to retrieve the next page of results.
63291	NextToken *string `locationName:"nextToken" type:"string"`
63292
63293	// The offering class of the Reserved Instance. Can be standard or convertible.
63294	OfferingClass *string `type:"string" enum:"OfferingClassType"`
63295
63296	// The Reserved Instance offering type. If you are using tools that predate
63297	// the 2011-11-01 API version, you only have access to the Medium Utilization
63298	// Reserved Instance offering type.
63299	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
63300
63301	// The Reserved Instance product platform description. Instances that include
63302	// (Amazon VPC) in the description are for use with Amazon VPC.
63303	ProductDescription *string `type:"string" enum:"RIProductDescription"`
63304
63305	// One or more Reserved Instances offering IDs.
63306	ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
63307}
63308
63309// String returns the string representation
63310func (s DescribeReservedInstancesOfferingsInput) String() string {
63311	return awsutil.Prettify(s)
63312}
63313
63314// GoString returns the string representation
63315func (s DescribeReservedInstancesOfferingsInput) GoString() string {
63316	return s.String()
63317}
63318
63319// SetAvailabilityZone sets the AvailabilityZone field's value.
63320func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
63321	s.AvailabilityZone = &v
63322	return s
63323}
63324
63325// SetDryRun sets the DryRun field's value.
63326func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
63327	s.DryRun = &v
63328	return s
63329}
63330
63331// SetFilters sets the Filters field's value.
63332func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
63333	s.Filters = v
63334	return s
63335}
63336
63337// SetIncludeMarketplace sets the IncludeMarketplace field's value.
63338func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
63339	s.IncludeMarketplace = &v
63340	return s
63341}
63342
63343// SetInstanceTenancy sets the InstanceTenancy field's value.
63344func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
63345	s.InstanceTenancy = &v
63346	return s
63347}
63348
63349// SetInstanceType sets the InstanceType field's value.
63350func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
63351	s.InstanceType = &v
63352	return s
63353}
63354
63355// SetMaxDuration sets the MaxDuration field's value.
63356func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
63357	s.MaxDuration = &v
63358	return s
63359}
63360
63361// SetMaxInstanceCount sets the MaxInstanceCount field's value.
63362func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
63363	s.MaxInstanceCount = &v
63364	return s
63365}
63366
63367// SetMaxResults sets the MaxResults field's value.
63368func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
63369	s.MaxResults = &v
63370	return s
63371}
63372
63373// SetMinDuration sets the MinDuration field's value.
63374func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
63375	s.MinDuration = &v
63376	return s
63377}
63378
63379// SetNextToken sets the NextToken field's value.
63380func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
63381	s.NextToken = &v
63382	return s
63383}
63384
63385// SetOfferingClass sets the OfferingClass field's value.
63386func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
63387	s.OfferingClass = &v
63388	return s
63389}
63390
63391// SetOfferingType sets the OfferingType field's value.
63392func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
63393	s.OfferingType = &v
63394	return s
63395}
63396
63397// SetProductDescription sets the ProductDescription field's value.
63398func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
63399	s.ProductDescription = &v
63400	return s
63401}
63402
63403// SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
63404func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
63405	s.ReservedInstancesOfferingIds = v
63406	return s
63407}
63408
63409// Contains the output of DescribeReservedInstancesOfferings.
63410type DescribeReservedInstancesOfferingsOutput struct {
63411	_ struct{} `type:"structure"`
63412
63413	// The token to use to retrieve the next page of results. This value is null
63414	// when there are no more results to return.
63415	NextToken *string `locationName:"nextToken" type:"string"`
63416
63417	// A list of Reserved Instances offerings.
63418	ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
63419}
63420
63421// String returns the string representation
63422func (s DescribeReservedInstancesOfferingsOutput) String() string {
63423	return awsutil.Prettify(s)
63424}
63425
63426// GoString returns the string representation
63427func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
63428	return s.String()
63429}
63430
63431// SetNextToken sets the NextToken field's value.
63432func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
63433	s.NextToken = &v
63434	return s
63435}
63436
63437// SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
63438func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
63439	s.ReservedInstancesOfferings = v
63440	return s
63441}
63442
63443// Contains the output for DescribeReservedInstances.
63444type DescribeReservedInstancesOutput struct {
63445	_ struct{} `type:"structure"`
63446
63447	// A list of Reserved Instances.
63448	ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
63449}
63450
63451// String returns the string representation
63452func (s DescribeReservedInstancesOutput) String() string {
63453	return awsutil.Prettify(s)
63454}
63455
63456// GoString returns the string representation
63457func (s DescribeReservedInstancesOutput) GoString() string {
63458	return s.String()
63459}
63460
63461// SetReservedInstances sets the ReservedInstances field's value.
63462func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
63463	s.ReservedInstances = v
63464	return s
63465}
63466
63467type DescribeRouteTablesInput struct {
63468	_ struct{} `type:"structure"`
63469
63470	// Checks whether you have the required permissions for the action, without
63471	// actually making the request, and provides an error response. If you have
63472	// the required permissions, the error response is DryRunOperation. Otherwise,
63473	// it is UnauthorizedOperation.
63474	DryRun *bool `locationName:"dryRun" type:"boolean"`
63475
63476	// One or more filters.
63477	//
63478	//    * association.route-table-association-id - The ID of an association ID
63479	//    for the route table.
63480	//
63481	//    * association.route-table-id - The ID of the route table involved in the
63482	//    association.
63483	//
63484	//    * association.subnet-id - The ID of the subnet involved in the association.
63485	//
63486	//    * association.main - Indicates whether the route table is the main route
63487	//    table for the VPC (true | false). Route tables that do not have an association
63488	//    ID are not returned in the response.
63489	//
63490	//    * owner-id - The ID of the AWS account that owns the route table.
63491	//
63492	//    * route-table-id - The ID of the route table.
63493	//
63494	//    * route.destination-cidr-block - The IPv4 CIDR range specified in a route
63495	//    in the table.
63496	//
63497	//    * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
63498	//    a route in the route table.
63499	//
63500	//    * route.destination-prefix-list-id - The ID (prefix) of the AWS service
63501	//    specified in a route in the table.
63502	//
63503	//    * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
63504	//    gateway specified in a route in the route table.
63505	//
63506	//    * route.gateway-id - The ID of a gateway specified in a route in the table.
63507	//
63508	//    * route.instance-id - The ID of an instance specified in a route in the
63509	//    table.
63510	//
63511	//    * route.nat-gateway-id - The ID of a NAT gateway.
63512	//
63513	//    * route.transit-gateway-id - The ID of a transit gateway.
63514	//
63515	//    * route.origin - Describes how the route was created. CreateRouteTable
63516	//    indicates that the route was automatically created when the route table
63517	//    was created; CreateRoute indicates that the route was manually added to
63518	//    the route table; EnableVgwRoutePropagation indicates that the route was
63519	//    propagated by route propagation.
63520	//
63521	//    * route.state - The state of a route in the route table (active | blackhole).
63522	//    The blackhole state indicates that the route's target isn't available
63523	//    (for example, the specified gateway isn't attached to the VPC, the specified
63524	//    NAT instance has been terminated, and so on).
63525	//
63526	//    * route.vpc-peering-connection-id - The ID of a VPC peering connection
63527	//    specified in a route in the table.
63528	//
63529	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
63530	//    Use the tag key in the filter name and the tag value as the filter value.
63531	//    For example, to find all resources that have a tag with the key Owner
63532	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
63533	//    the filter value.
63534	//
63535	//    * tag-key - The key of a tag assigned to the resource. Use this filter
63536	//    to find all resources assigned a tag with a specific key, regardless of
63537	//    the tag value.
63538	//
63539	//    * transit-gateway-id - The ID of a transit gateway.
63540	//
63541	//    * vpc-id - The ID of the VPC for the route table.
63542	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63543
63544	// The maximum number of results to return with a single call. To retrieve the
63545	// remaining results, make another call with the returned nextToken value.
63546	MaxResults *int64 `min:"5" type:"integer"`
63547
63548	// The token for the next page of results.
63549	NextToken *string `type:"string"`
63550
63551	// One or more route table IDs.
63552	//
63553	// Default: Describes all your route tables.
63554	RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
63555}
63556
63557// String returns the string representation
63558func (s DescribeRouteTablesInput) String() string {
63559	return awsutil.Prettify(s)
63560}
63561
63562// GoString returns the string representation
63563func (s DescribeRouteTablesInput) GoString() string {
63564	return s.String()
63565}
63566
63567// Validate inspects the fields of the type to determine if they are valid.
63568func (s *DescribeRouteTablesInput) Validate() error {
63569	invalidParams := request.ErrInvalidParams{Context: "DescribeRouteTablesInput"}
63570	if s.MaxResults != nil && *s.MaxResults < 5 {
63571		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
63572	}
63573
63574	if invalidParams.Len() > 0 {
63575		return invalidParams
63576	}
63577	return nil
63578}
63579
63580// SetDryRun sets the DryRun field's value.
63581func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
63582	s.DryRun = &v
63583	return s
63584}
63585
63586// SetFilters sets the Filters field's value.
63587func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
63588	s.Filters = v
63589	return s
63590}
63591
63592// SetMaxResults sets the MaxResults field's value.
63593func (s *DescribeRouteTablesInput) SetMaxResults(v int64) *DescribeRouteTablesInput {
63594	s.MaxResults = &v
63595	return s
63596}
63597
63598// SetNextToken sets the NextToken field's value.
63599func (s *DescribeRouteTablesInput) SetNextToken(v string) *DescribeRouteTablesInput {
63600	s.NextToken = &v
63601	return s
63602}
63603
63604// SetRouteTableIds sets the RouteTableIds field's value.
63605func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
63606	s.RouteTableIds = v
63607	return s
63608}
63609
63610// Contains the output of DescribeRouteTables.
63611type DescribeRouteTablesOutput struct {
63612	_ struct{} `type:"structure"`
63613
63614	// The token to use to retrieve the next page of results. This value is null
63615	// when there are no more results to return.
63616	NextToken *string `locationName:"nextToken" type:"string"`
63617
63618	// Information about one or more route tables.
63619	RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
63620}
63621
63622// String returns the string representation
63623func (s DescribeRouteTablesOutput) String() string {
63624	return awsutil.Prettify(s)
63625}
63626
63627// GoString returns the string representation
63628func (s DescribeRouteTablesOutput) GoString() string {
63629	return s.String()
63630}
63631
63632// SetNextToken sets the NextToken field's value.
63633func (s *DescribeRouteTablesOutput) SetNextToken(v string) *DescribeRouteTablesOutput {
63634	s.NextToken = &v
63635	return s
63636}
63637
63638// SetRouteTables sets the RouteTables field's value.
63639func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
63640	s.RouteTables = v
63641	return s
63642}
63643
63644// Contains the parameters for DescribeScheduledInstanceAvailability.
63645type DescribeScheduledInstanceAvailabilityInput struct {
63646	_ struct{} `type:"structure"`
63647
63648	// Checks whether you have the required permissions for the action, without
63649	// actually making the request, and provides an error response. If you have
63650	// the required permissions, the error response is DryRunOperation. Otherwise,
63651	// it is UnauthorizedOperation.
63652	DryRun *bool `type:"boolean"`
63653
63654	// The filters.
63655	//
63656	//    * availability-zone - The Availability Zone (for example, us-west-2a).
63657	//
63658	//    * instance-type - The instance type (for example, c4.large).
63659	//
63660	//    * network-platform - The network platform (EC2-Classic or EC2-VPC).
63661	//
63662	//    * platform - The platform (Linux/UNIX or Windows).
63663	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63664
63665	// The time period for the first schedule to start.
63666	//
63667	// FirstSlotStartTimeRange is a required field
63668	FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
63669
63670	// The maximum number of results to return in a single call. This value can
63671	// be between 5 and 300. The default value is 300. To retrieve the remaining
63672	// results, make another call with the returned NextToken value.
63673	MaxResults *int64 `min:"5" type:"integer"`
63674
63675	// The maximum available duration, in hours. This value must be greater than
63676	// MinSlotDurationInHours and less than 1,720.
63677	MaxSlotDurationInHours *int64 `type:"integer"`
63678
63679	// The minimum available duration, in hours. The minimum required duration is
63680	// 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
63681	// the minimum weekly schedule is 24 hours, and the minimum monthly schedule
63682	// is 100 hours.
63683	MinSlotDurationInHours *int64 `type:"integer"`
63684
63685	// The token for the next set of results.
63686	NextToken *string `type:"string"`
63687
63688	// The schedule recurrence.
63689	//
63690	// Recurrence is a required field
63691	Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
63692}
63693
63694// String returns the string representation
63695func (s DescribeScheduledInstanceAvailabilityInput) String() string {
63696	return awsutil.Prettify(s)
63697}
63698
63699// GoString returns the string representation
63700func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
63701	return s.String()
63702}
63703
63704// Validate inspects the fields of the type to determine if they are valid.
63705func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
63706	invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
63707	if s.FirstSlotStartTimeRange == nil {
63708		invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
63709	}
63710	if s.MaxResults != nil && *s.MaxResults < 5 {
63711		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
63712	}
63713	if s.Recurrence == nil {
63714		invalidParams.Add(request.NewErrParamRequired("Recurrence"))
63715	}
63716	if s.FirstSlotStartTimeRange != nil {
63717		if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
63718			invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
63719		}
63720	}
63721
63722	if invalidParams.Len() > 0 {
63723		return invalidParams
63724	}
63725	return nil
63726}
63727
63728// SetDryRun sets the DryRun field's value.
63729func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
63730	s.DryRun = &v
63731	return s
63732}
63733
63734// SetFilters sets the Filters field's value.
63735func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
63736	s.Filters = v
63737	return s
63738}
63739
63740// SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
63741func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
63742	s.FirstSlotStartTimeRange = v
63743	return s
63744}
63745
63746// SetMaxResults sets the MaxResults field's value.
63747func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
63748	s.MaxResults = &v
63749	return s
63750}
63751
63752// SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
63753func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
63754	s.MaxSlotDurationInHours = &v
63755	return s
63756}
63757
63758// SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
63759func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
63760	s.MinSlotDurationInHours = &v
63761	return s
63762}
63763
63764// SetNextToken sets the NextToken field's value.
63765func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
63766	s.NextToken = &v
63767	return s
63768}
63769
63770// SetRecurrence sets the Recurrence field's value.
63771func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
63772	s.Recurrence = v
63773	return s
63774}
63775
63776// Contains the output of DescribeScheduledInstanceAvailability.
63777type DescribeScheduledInstanceAvailabilityOutput struct {
63778	_ struct{} `type:"structure"`
63779
63780	// The token required to retrieve the next set of results. This value is null
63781	// when there are no more results to return.
63782	NextToken *string `locationName:"nextToken" type:"string"`
63783
63784	// Information about the available Scheduled Instances.
63785	ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
63786}
63787
63788// String returns the string representation
63789func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
63790	return awsutil.Prettify(s)
63791}
63792
63793// GoString returns the string representation
63794func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
63795	return s.String()
63796}
63797
63798// SetNextToken sets the NextToken field's value.
63799func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
63800	s.NextToken = &v
63801	return s
63802}
63803
63804// SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
63805func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
63806	s.ScheduledInstanceAvailabilitySet = v
63807	return s
63808}
63809
63810// Contains the parameters for DescribeScheduledInstances.
63811type DescribeScheduledInstancesInput struct {
63812	_ struct{} `type:"structure"`
63813
63814	// Checks whether you have the required permissions for the action, without
63815	// actually making the request, and provides an error response. If you have
63816	// the required permissions, the error response is DryRunOperation. Otherwise,
63817	// it is UnauthorizedOperation.
63818	DryRun *bool `type:"boolean"`
63819
63820	// The filters.
63821	//
63822	//    * availability-zone - The Availability Zone (for example, us-west-2a).
63823	//
63824	//    * instance-type - The instance type (for example, c4.large).
63825	//
63826	//    * network-platform - The network platform (EC2-Classic or EC2-VPC).
63827	//
63828	//    * platform - The platform (Linux/UNIX or Windows).
63829	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63830
63831	// The maximum number of results to return in a single call. This value can
63832	// be between 5 and 300. The default value is 100. To retrieve the remaining
63833	// results, make another call with the returned NextToken value.
63834	MaxResults *int64 `type:"integer"`
63835
63836	// The token for the next set of results.
63837	NextToken *string `type:"string"`
63838
63839	// The Scheduled Instance IDs.
63840	ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
63841
63842	// The time period for the first schedule to start.
63843	SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
63844}
63845
63846// String returns the string representation
63847func (s DescribeScheduledInstancesInput) String() string {
63848	return awsutil.Prettify(s)
63849}
63850
63851// GoString returns the string representation
63852func (s DescribeScheduledInstancesInput) GoString() string {
63853	return s.String()
63854}
63855
63856// SetDryRun sets the DryRun field's value.
63857func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
63858	s.DryRun = &v
63859	return s
63860}
63861
63862// SetFilters sets the Filters field's value.
63863func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
63864	s.Filters = v
63865	return s
63866}
63867
63868// SetMaxResults sets the MaxResults field's value.
63869func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
63870	s.MaxResults = &v
63871	return s
63872}
63873
63874// SetNextToken sets the NextToken field's value.
63875func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
63876	s.NextToken = &v
63877	return s
63878}
63879
63880// SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
63881func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
63882	s.ScheduledInstanceIds = v
63883	return s
63884}
63885
63886// SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
63887func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
63888	s.SlotStartTimeRange = v
63889	return s
63890}
63891
63892// Contains the output of DescribeScheduledInstances.
63893type DescribeScheduledInstancesOutput struct {
63894	_ struct{} `type:"structure"`
63895
63896	// The token required to retrieve the next set of results. This value is null
63897	// when there are no more results to return.
63898	NextToken *string `locationName:"nextToken" type:"string"`
63899
63900	// Information about the Scheduled Instances.
63901	ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
63902}
63903
63904// String returns the string representation
63905func (s DescribeScheduledInstancesOutput) String() string {
63906	return awsutil.Prettify(s)
63907}
63908
63909// GoString returns the string representation
63910func (s DescribeScheduledInstancesOutput) GoString() string {
63911	return s.String()
63912}
63913
63914// SetNextToken sets the NextToken field's value.
63915func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
63916	s.NextToken = &v
63917	return s
63918}
63919
63920// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
63921func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
63922	s.ScheduledInstanceSet = v
63923	return s
63924}
63925
63926type DescribeSecurityGroupReferencesInput struct {
63927	_ struct{} `type:"structure"`
63928
63929	// Checks whether you have the required permissions for the action, without
63930	// actually making the request, and provides an error response. If you have
63931	// the required permissions, the error response is DryRunOperation. Otherwise,
63932	// it is UnauthorizedOperation.
63933	DryRun *bool `type:"boolean"`
63934
63935	// The IDs of the security groups in your account.
63936	//
63937	// GroupId is a required field
63938	GroupId []*string `locationNameList:"item" type:"list" required:"true"`
63939}
63940
63941// String returns the string representation
63942func (s DescribeSecurityGroupReferencesInput) String() string {
63943	return awsutil.Prettify(s)
63944}
63945
63946// GoString returns the string representation
63947func (s DescribeSecurityGroupReferencesInput) GoString() string {
63948	return s.String()
63949}
63950
63951// Validate inspects the fields of the type to determine if they are valid.
63952func (s *DescribeSecurityGroupReferencesInput) Validate() error {
63953	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
63954	if s.GroupId == nil {
63955		invalidParams.Add(request.NewErrParamRequired("GroupId"))
63956	}
63957
63958	if invalidParams.Len() > 0 {
63959		return invalidParams
63960	}
63961	return nil
63962}
63963
63964// SetDryRun sets the DryRun field's value.
63965func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
63966	s.DryRun = &v
63967	return s
63968}
63969
63970// SetGroupId sets the GroupId field's value.
63971func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
63972	s.GroupId = v
63973	return s
63974}
63975
63976type DescribeSecurityGroupReferencesOutput struct {
63977	_ struct{} `type:"structure"`
63978
63979	// Information about the VPCs with the referencing security groups.
63980	SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
63981}
63982
63983// String returns the string representation
63984func (s DescribeSecurityGroupReferencesOutput) String() string {
63985	return awsutil.Prettify(s)
63986}
63987
63988// GoString returns the string representation
63989func (s DescribeSecurityGroupReferencesOutput) GoString() string {
63990	return s.String()
63991}
63992
63993// SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
63994func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
63995	s.SecurityGroupReferenceSet = v
63996	return s
63997}
63998
63999type DescribeSecurityGroupsInput struct {
64000	_ struct{} `type:"structure"`
64001
64002	// Checks whether you have the required permissions for the action, without
64003	// actually making the request, and provides an error response. If you have
64004	// the required permissions, the error response is DryRunOperation. Otherwise,
64005	// it is UnauthorizedOperation.
64006	DryRun *bool `locationName:"dryRun" type:"boolean"`
64007
64008	// The filters. If using multiple filters for rules, the results include security
64009	// groups for which any combination of rules - not necessarily a single rule
64010	// - match all filters.
64011	//
64012	//    * description - The description of the security group.
64013	//
64014	//    * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security
64015	//    group rule.
64016	//
64017	//    * egress.ip-permission.from-port - For an outbound rule, the start of
64018	//    port range for the TCP and UDP protocols, or an ICMP type number.
64019	//
64020	//    * egress.ip-permission.group-id - The ID of a security group that has
64021	//    been referenced in an outbound security group rule.
64022	//
64023	//    * egress.ip-permission.group-name - The name of a security group that
64024	//    has been referenced in an outbound security group rule.
64025	//
64026	//    * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound
64027	//    security group rule.
64028	//
64029	//    * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
64030	//    to which a security group rule allows outbound access.
64031	//
64032	//    * egress.ip-permission.protocol - The IP protocol for an outbound security
64033	//    group rule (tcp | udp | icmp or a protocol number).
64034	//
64035	//    * egress.ip-permission.to-port - For an outbound rule, the end of port
64036	//    range for the TCP and UDP protocols, or an ICMP code.
64037	//
64038	//    * egress.ip-permission.user-id - The ID of an AWS account that has been
64039	//    referenced in an outbound security group rule.
64040	//
64041	//    * group-id - The ID of the security group.
64042	//
64043	//    * group-name - The name of the security group.
64044	//
64045	//    * ip-permission.cidr - An IPv4 CIDR block for an inbound security group
64046	//    rule.
64047	//
64048	//    * ip-permission.from-port - For an inbound rule, the start of port range
64049	//    for the TCP and UDP protocols, or an ICMP type number.
64050	//
64051	//    * ip-permission.group-id - The ID of a security group that has been referenced
64052	//    in an inbound security group rule.
64053	//
64054	//    * ip-permission.group-name - The name of a security group that has been
64055	//    referenced in an inbound security group rule.
64056	//
64057	//    * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
64058	//    group rule.
64059	//
64060	//    * ip-permission.prefix-list-id - The ID (prefix) of the AWS service from
64061	//    which a security group rule allows inbound access.
64062	//
64063	//    * ip-permission.protocol - The IP protocol for an inbound security group
64064	//    rule (tcp | udp | icmp or a protocol number).
64065	//
64066	//    * ip-permission.to-port - For an inbound rule, the end of port range for
64067	//    the TCP and UDP protocols, or an ICMP code.
64068	//
64069	//    * ip-permission.user-id - The ID of an AWS account that has been referenced
64070	//    in an inbound security group rule.
64071	//
64072	//    * owner-id - The AWS account ID of the owner of the security group.
64073	//
64074	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
64075	//    Use the tag key in the filter name and the tag value as the filter value.
64076	//    For example, to find all resources that have a tag with the key Owner
64077	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
64078	//    the filter value.
64079	//
64080	//    * tag-key - The key of a tag assigned to the resource. Use this filter
64081	//    to find all resources assigned a tag with a specific key, regardless of
64082	//    the tag value.
64083	//
64084	//    * vpc-id - The ID of the VPC specified when the security group was created.
64085	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64086
64087	// The IDs of the security groups. Required for security groups in a nondefault
64088	// VPC.
64089	//
64090	// Default: Describes all your security groups.
64091	GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
64092
64093	// [EC2-Classic and default VPC only] The names of the security groups. You
64094	// can specify either the security group name or the security group ID. For
64095	// security groups in a nondefault VPC, use the group-name filter to describe
64096	// security groups by name.
64097	//
64098	// Default: Describes all your security groups.
64099	GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
64100
64101	// The maximum number of results to return in a single call. To retrieve the
64102	// remaining results, make another request with the returned NextToken value.
64103	// This value can be between 5 and 1000. If this parameter is not specified,
64104	// then all results are returned.
64105	MaxResults *int64 `min:"5" type:"integer"`
64106
64107	// The token to request the next page of results.
64108	NextToken *string `type:"string"`
64109}
64110
64111// String returns the string representation
64112func (s DescribeSecurityGroupsInput) String() string {
64113	return awsutil.Prettify(s)
64114}
64115
64116// GoString returns the string representation
64117func (s DescribeSecurityGroupsInput) GoString() string {
64118	return s.String()
64119}
64120
64121// Validate inspects the fields of the type to determine if they are valid.
64122func (s *DescribeSecurityGroupsInput) Validate() error {
64123	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupsInput"}
64124	if s.MaxResults != nil && *s.MaxResults < 5 {
64125		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64126	}
64127
64128	if invalidParams.Len() > 0 {
64129		return invalidParams
64130	}
64131	return nil
64132}
64133
64134// SetDryRun sets the DryRun field's value.
64135func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
64136	s.DryRun = &v
64137	return s
64138}
64139
64140// SetFilters sets the Filters field's value.
64141func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
64142	s.Filters = v
64143	return s
64144}
64145
64146// SetGroupIds sets the GroupIds field's value.
64147func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
64148	s.GroupIds = v
64149	return s
64150}
64151
64152// SetGroupNames sets the GroupNames field's value.
64153func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
64154	s.GroupNames = v
64155	return s
64156}
64157
64158// SetMaxResults sets the MaxResults field's value.
64159func (s *DescribeSecurityGroupsInput) SetMaxResults(v int64) *DescribeSecurityGroupsInput {
64160	s.MaxResults = &v
64161	return s
64162}
64163
64164// SetNextToken sets the NextToken field's value.
64165func (s *DescribeSecurityGroupsInput) SetNextToken(v string) *DescribeSecurityGroupsInput {
64166	s.NextToken = &v
64167	return s
64168}
64169
64170type DescribeSecurityGroupsOutput struct {
64171	_ struct{} `type:"structure"`
64172
64173	// The token to use to retrieve the next page of results. This value is null
64174	// when there are no more results to return.
64175	NextToken *string `locationName:"nextToken" type:"string"`
64176
64177	// Information about the security groups.
64178	SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
64179}
64180
64181// String returns the string representation
64182func (s DescribeSecurityGroupsOutput) String() string {
64183	return awsutil.Prettify(s)
64184}
64185
64186// GoString returns the string representation
64187func (s DescribeSecurityGroupsOutput) GoString() string {
64188	return s.String()
64189}
64190
64191// SetNextToken sets the NextToken field's value.
64192func (s *DescribeSecurityGroupsOutput) SetNextToken(v string) *DescribeSecurityGroupsOutput {
64193	s.NextToken = &v
64194	return s
64195}
64196
64197// SetSecurityGroups sets the SecurityGroups field's value.
64198func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
64199	s.SecurityGroups = v
64200	return s
64201}
64202
64203type DescribeSnapshotAttributeInput struct {
64204	_ struct{} `type:"structure"`
64205
64206	// The snapshot attribute you would like to view.
64207	//
64208	// Attribute is a required field
64209	Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
64210
64211	// Checks whether you have the required permissions for the action, without
64212	// actually making the request, and provides an error response. If you have
64213	// the required permissions, the error response is DryRunOperation. Otherwise,
64214	// it is UnauthorizedOperation.
64215	DryRun *bool `locationName:"dryRun" type:"boolean"`
64216
64217	// The ID of the EBS snapshot.
64218	//
64219	// SnapshotId is a required field
64220	SnapshotId *string `type:"string" required:"true"`
64221}
64222
64223// String returns the string representation
64224func (s DescribeSnapshotAttributeInput) String() string {
64225	return awsutil.Prettify(s)
64226}
64227
64228// GoString returns the string representation
64229func (s DescribeSnapshotAttributeInput) GoString() string {
64230	return s.String()
64231}
64232
64233// Validate inspects the fields of the type to determine if they are valid.
64234func (s *DescribeSnapshotAttributeInput) Validate() error {
64235	invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
64236	if s.Attribute == nil {
64237		invalidParams.Add(request.NewErrParamRequired("Attribute"))
64238	}
64239	if s.SnapshotId == nil {
64240		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
64241	}
64242
64243	if invalidParams.Len() > 0 {
64244		return invalidParams
64245	}
64246	return nil
64247}
64248
64249// SetAttribute sets the Attribute field's value.
64250func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
64251	s.Attribute = &v
64252	return s
64253}
64254
64255// SetDryRun sets the DryRun field's value.
64256func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
64257	s.DryRun = &v
64258	return s
64259}
64260
64261// SetSnapshotId sets the SnapshotId field's value.
64262func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
64263	s.SnapshotId = &v
64264	return s
64265}
64266
64267type DescribeSnapshotAttributeOutput struct {
64268	_ struct{} `type:"structure"`
64269
64270	// The users and groups that have the permissions for creating volumes from
64271	// the snapshot.
64272	CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
64273
64274	// The product codes.
64275	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
64276
64277	// The ID of the EBS snapshot.
64278	SnapshotId *string `locationName:"snapshotId" type:"string"`
64279}
64280
64281// String returns the string representation
64282func (s DescribeSnapshotAttributeOutput) String() string {
64283	return awsutil.Prettify(s)
64284}
64285
64286// GoString returns the string representation
64287func (s DescribeSnapshotAttributeOutput) GoString() string {
64288	return s.String()
64289}
64290
64291// SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
64292func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
64293	s.CreateVolumePermissions = v
64294	return s
64295}
64296
64297// SetProductCodes sets the ProductCodes field's value.
64298func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
64299	s.ProductCodes = v
64300	return s
64301}
64302
64303// SetSnapshotId sets the SnapshotId field's value.
64304func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
64305	s.SnapshotId = &v
64306	return s
64307}
64308
64309type DescribeSnapshotsInput struct {
64310	_ struct{} `type:"structure"`
64311
64312	// Checks whether you have the required permissions for the action, without
64313	// actually making the request, and provides an error response. If you have
64314	// the required permissions, the error response is DryRunOperation. Otherwise,
64315	// it is UnauthorizedOperation.
64316	DryRun *bool `locationName:"dryRun" type:"boolean"`
64317
64318	// The filters.
64319	//
64320	//    * description - A description of the snapshot.
64321	//
64322	//    * encrypted - Indicates whether the snapshot is encrypted (true | false)
64323	//
64324	//    * owner-alias - Value from an Amazon-maintained list (amazon | self |
64325	//    all | aws-marketplace | microsoft) of snapshot owners. Not to be confused
64326	//    with the user-configured AWS account alias, which is set from the IAM
64327	//    console.
64328	//
64329	//    * owner-id - The ID of the AWS account that owns the snapshot.
64330	//
64331	//    * progress - The progress of the snapshot, as a percentage (for example,
64332	//    80%).
64333	//
64334	//    * snapshot-id - The snapshot ID.
64335	//
64336	//    * start-time - The time stamp when the snapshot was initiated.
64337	//
64338	//    * status - The status of the snapshot (pending | completed | error).
64339	//
64340	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
64341	//    Use the tag key in the filter name and the tag value as the filter value.
64342	//    For example, to find all resources that have a tag with the key Owner
64343	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
64344	//    the filter value.
64345	//
64346	//    * tag-key - The key of a tag assigned to the resource. Use this filter
64347	//    to find all resources assigned a tag with a specific key, regardless of
64348	//    the tag value.
64349	//
64350	//    * volume-id - The ID of the volume the snapshot is for.
64351	//
64352	//    * volume-size - The size of the volume, in GiB.
64353	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64354
64355	// The maximum number of snapshot results returned by DescribeSnapshots in paginated
64356	// output. When this parameter is used, DescribeSnapshots only returns MaxResults
64357	// results in a single page along with a NextToken response element. The remaining
64358	// results of the initial request can be seen by sending another DescribeSnapshots
64359	// request with the returned NextToken value. This value can be between 5 and
64360	// 1000; if MaxResults is given a value larger than 1000, only 1000 results
64361	// are returned. If this parameter is not used, then DescribeSnapshots returns
64362	// all results. You cannot specify this parameter and the snapshot IDs parameter
64363	// in the same request.
64364	MaxResults *int64 `type:"integer"`
64365
64366	// The NextToken value returned from a previous paginated DescribeSnapshots
64367	// request where MaxResults was used and the results exceeded the value of that
64368	// parameter. Pagination continues from the end of the previous results that
64369	// returned the NextToken value. This value is null when there are no more results
64370	// to return.
64371	NextToken *string `type:"string"`
64372
64373	// Describes the snapshots owned by these owners.
64374	OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
64375
64376	// The IDs of the AWS accounts that can create volumes from the snapshot.
64377	RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
64378
64379	// The snapshot IDs.
64380	//
64381	// Default: Describes the snapshots for which you have create volume permissions.
64382	SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
64383}
64384
64385// String returns the string representation
64386func (s DescribeSnapshotsInput) String() string {
64387	return awsutil.Prettify(s)
64388}
64389
64390// GoString returns the string representation
64391func (s DescribeSnapshotsInput) GoString() string {
64392	return s.String()
64393}
64394
64395// SetDryRun sets the DryRun field's value.
64396func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
64397	s.DryRun = &v
64398	return s
64399}
64400
64401// SetFilters sets the Filters field's value.
64402func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
64403	s.Filters = v
64404	return s
64405}
64406
64407// SetMaxResults sets the MaxResults field's value.
64408func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
64409	s.MaxResults = &v
64410	return s
64411}
64412
64413// SetNextToken sets the NextToken field's value.
64414func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
64415	s.NextToken = &v
64416	return s
64417}
64418
64419// SetOwnerIds sets the OwnerIds field's value.
64420func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
64421	s.OwnerIds = v
64422	return s
64423}
64424
64425// SetRestorableByUserIds sets the RestorableByUserIds field's value.
64426func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
64427	s.RestorableByUserIds = v
64428	return s
64429}
64430
64431// SetSnapshotIds sets the SnapshotIds field's value.
64432func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
64433	s.SnapshotIds = v
64434	return s
64435}
64436
64437type DescribeSnapshotsOutput struct {
64438	_ struct{} `type:"structure"`
64439
64440	// The NextToken value to include in a future DescribeSnapshots request. When
64441	// the results of a DescribeSnapshots request exceed MaxResults, this value
64442	// can be used to retrieve the next page of results. This value is null when
64443	// there are no more results to return.
64444	NextToken *string `locationName:"nextToken" type:"string"`
64445
64446	// Information about the snapshots.
64447	Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
64448}
64449
64450// String returns the string representation
64451func (s DescribeSnapshotsOutput) String() string {
64452	return awsutil.Prettify(s)
64453}
64454
64455// GoString returns the string representation
64456func (s DescribeSnapshotsOutput) GoString() string {
64457	return s.String()
64458}
64459
64460// SetNextToken sets the NextToken field's value.
64461func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
64462	s.NextToken = &v
64463	return s
64464}
64465
64466// SetSnapshots sets the Snapshots field's value.
64467func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
64468	s.Snapshots = v
64469	return s
64470}
64471
64472// Contains the parameters for DescribeSpotDatafeedSubscription.
64473type DescribeSpotDatafeedSubscriptionInput struct {
64474	_ struct{} `type:"structure"`
64475
64476	// Checks whether you have the required permissions for the action, without
64477	// actually making the request, and provides an error response. If you have
64478	// the required permissions, the error response is DryRunOperation. Otherwise,
64479	// it is UnauthorizedOperation.
64480	DryRun *bool `locationName:"dryRun" type:"boolean"`
64481}
64482
64483// String returns the string representation
64484func (s DescribeSpotDatafeedSubscriptionInput) String() string {
64485	return awsutil.Prettify(s)
64486}
64487
64488// GoString returns the string representation
64489func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
64490	return s.String()
64491}
64492
64493// SetDryRun sets the DryRun field's value.
64494func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
64495	s.DryRun = &v
64496	return s
64497}
64498
64499// Contains the output of DescribeSpotDatafeedSubscription.
64500type DescribeSpotDatafeedSubscriptionOutput struct {
64501	_ struct{} `type:"structure"`
64502
64503	// The Spot Instance data feed subscription.
64504	SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
64505}
64506
64507// String returns the string representation
64508func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
64509	return awsutil.Prettify(s)
64510}
64511
64512// GoString returns the string representation
64513func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
64514	return s.String()
64515}
64516
64517// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
64518func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
64519	s.SpotDatafeedSubscription = v
64520	return s
64521}
64522
64523// Contains the parameters for DescribeSpotFleetInstances.
64524type DescribeSpotFleetInstancesInput struct {
64525	_ struct{} `type:"structure"`
64526
64527	// Checks whether you have the required permissions for the action, without
64528	// actually making the request, and provides an error response. If you have
64529	// the required permissions, the error response is DryRunOperation. Otherwise,
64530	// it is UnauthorizedOperation.
64531	DryRun *bool `locationName:"dryRun" type:"boolean"`
64532
64533	// The maximum number of results to return in a single call. Specify a value
64534	// between 1 and 1000. The default value is 1000. To retrieve the remaining
64535	// results, make another call with the returned NextToken value.
64536	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
64537
64538	// The token for the next set of results.
64539	NextToken *string `locationName:"nextToken" type:"string"`
64540
64541	// The ID of the Spot Fleet request.
64542	//
64543	// SpotFleetRequestId is a required field
64544	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
64545}
64546
64547// String returns the string representation
64548func (s DescribeSpotFleetInstancesInput) String() string {
64549	return awsutil.Prettify(s)
64550}
64551
64552// GoString returns the string representation
64553func (s DescribeSpotFleetInstancesInput) GoString() string {
64554	return s.String()
64555}
64556
64557// Validate inspects the fields of the type to determine if they are valid.
64558func (s *DescribeSpotFleetInstancesInput) Validate() error {
64559	invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
64560	if s.MaxResults != nil && *s.MaxResults < 1 {
64561		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
64562	}
64563	if s.SpotFleetRequestId == nil {
64564		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
64565	}
64566
64567	if invalidParams.Len() > 0 {
64568		return invalidParams
64569	}
64570	return nil
64571}
64572
64573// SetDryRun sets the DryRun field's value.
64574func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
64575	s.DryRun = &v
64576	return s
64577}
64578
64579// SetMaxResults sets the MaxResults field's value.
64580func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
64581	s.MaxResults = &v
64582	return s
64583}
64584
64585// SetNextToken sets the NextToken field's value.
64586func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
64587	s.NextToken = &v
64588	return s
64589}
64590
64591// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
64592func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
64593	s.SpotFleetRequestId = &v
64594	return s
64595}
64596
64597// Contains the output of DescribeSpotFleetInstances.
64598type DescribeSpotFleetInstancesOutput struct {
64599	_ struct{} `type:"structure"`
64600
64601	// The running instances. This list is refreshed periodically and might be out
64602	// of date.
64603	ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
64604
64605	// The token required to retrieve the next set of results. This value is null
64606	// when there are no more results to return.
64607	NextToken *string `locationName:"nextToken" type:"string"`
64608
64609	// The ID of the Spot Fleet request.
64610	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
64611}
64612
64613// String returns the string representation
64614func (s DescribeSpotFleetInstancesOutput) String() string {
64615	return awsutil.Prettify(s)
64616}
64617
64618// GoString returns the string representation
64619func (s DescribeSpotFleetInstancesOutput) GoString() string {
64620	return s.String()
64621}
64622
64623// SetActiveInstances sets the ActiveInstances field's value.
64624func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
64625	s.ActiveInstances = v
64626	return s
64627}
64628
64629// SetNextToken sets the NextToken field's value.
64630func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
64631	s.NextToken = &v
64632	return s
64633}
64634
64635// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
64636func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
64637	s.SpotFleetRequestId = &v
64638	return s
64639}
64640
64641// Contains the parameters for DescribeSpotFleetRequestHistory.
64642type DescribeSpotFleetRequestHistoryInput struct {
64643	_ struct{} `type:"structure"`
64644
64645	// Checks whether you have the required permissions for the action, without
64646	// actually making the request, and provides an error response. If you have
64647	// the required permissions, the error response is DryRunOperation. Otherwise,
64648	// it is UnauthorizedOperation.
64649	DryRun *bool `locationName:"dryRun" type:"boolean"`
64650
64651	// The type of events to describe. By default, all events are described.
64652	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
64653
64654	// The maximum number of results to return in a single call. Specify a value
64655	// between 1 and 1000. The default value is 1000. To retrieve the remaining
64656	// results, make another call with the returned NextToken value.
64657	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
64658
64659	// The token for the next set of results.
64660	NextToken *string `locationName:"nextToken" type:"string"`
64661
64662	// The ID of the Spot Fleet request.
64663	//
64664	// SpotFleetRequestId is a required field
64665	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
64666
64667	// The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
64668	//
64669	// StartTime is a required field
64670	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
64671}
64672
64673// String returns the string representation
64674func (s DescribeSpotFleetRequestHistoryInput) String() string {
64675	return awsutil.Prettify(s)
64676}
64677
64678// GoString returns the string representation
64679func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
64680	return s.String()
64681}
64682
64683// Validate inspects the fields of the type to determine if they are valid.
64684func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
64685	invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
64686	if s.MaxResults != nil && *s.MaxResults < 1 {
64687		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
64688	}
64689	if s.SpotFleetRequestId == nil {
64690		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
64691	}
64692	if s.StartTime == nil {
64693		invalidParams.Add(request.NewErrParamRequired("StartTime"))
64694	}
64695
64696	if invalidParams.Len() > 0 {
64697		return invalidParams
64698	}
64699	return nil
64700}
64701
64702// SetDryRun sets the DryRun field's value.
64703func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
64704	s.DryRun = &v
64705	return s
64706}
64707
64708// SetEventType sets the EventType field's value.
64709func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
64710	s.EventType = &v
64711	return s
64712}
64713
64714// SetMaxResults sets the MaxResults field's value.
64715func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
64716	s.MaxResults = &v
64717	return s
64718}
64719
64720// SetNextToken sets the NextToken field's value.
64721func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
64722	s.NextToken = &v
64723	return s
64724}
64725
64726// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
64727func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
64728	s.SpotFleetRequestId = &v
64729	return s
64730}
64731
64732// SetStartTime sets the StartTime field's value.
64733func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
64734	s.StartTime = &v
64735	return s
64736}
64737
64738// Contains the output of DescribeSpotFleetRequestHistory.
64739type DescribeSpotFleetRequestHistoryOutput struct {
64740	_ struct{} `type:"structure"`
64741
64742	// Information about the events in the history of the Spot Fleet request.
64743	HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
64744
64745	// The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
64746	// All records up to this time were retrieved.
64747	//
64748	// If nextToken indicates that there are more results, this value is not present.
64749	LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
64750
64751	// The token required to retrieve the next set of results. This value is null
64752	// when there are no more results to return.
64753	NextToken *string `locationName:"nextToken" type:"string"`
64754
64755	// The ID of the Spot Fleet request.
64756	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
64757
64758	// The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
64759	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
64760}
64761
64762// String returns the string representation
64763func (s DescribeSpotFleetRequestHistoryOutput) String() string {
64764	return awsutil.Prettify(s)
64765}
64766
64767// GoString returns the string representation
64768func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
64769	return s.String()
64770}
64771
64772// SetHistoryRecords sets the HistoryRecords field's value.
64773func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
64774	s.HistoryRecords = v
64775	return s
64776}
64777
64778// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
64779func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
64780	s.LastEvaluatedTime = &v
64781	return s
64782}
64783
64784// SetNextToken sets the NextToken field's value.
64785func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
64786	s.NextToken = &v
64787	return s
64788}
64789
64790// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
64791func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
64792	s.SpotFleetRequestId = &v
64793	return s
64794}
64795
64796// SetStartTime sets the StartTime field's value.
64797func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
64798	s.StartTime = &v
64799	return s
64800}
64801
64802// Contains the parameters for DescribeSpotFleetRequests.
64803type DescribeSpotFleetRequestsInput struct {
64804	_ struct{} `type:"structure"`
64805
64806	// Checks whether you have the required permissions for the action, without
64807	// actually making the request, and provides an error response. If you have
64808	// the required permissions, the error response is DryRunOperation. Otherwise,
64809	// it is UnauthorizedOperation.
64810	DryRun *bool `locationName:"dryRun" type:"boolean"`
64811
64812	// The maximum number of results to return in a single call. Specify a value
64813	// between 1 and 1000. The default value is 1000. To retrieve the remaining
64814	// results, make another call with the returned NextToken value.
64815	MaxResults *int64 `locationName:"maxResults" type:"integer"`
64816
64817	// The token for the next set of results.
64818	NextToken *string `locationName:"nextToken" type:"string"`
64819
64820	// The IDs of the Spot Fleet requests.
64821	SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
64822}
64823
64824// String returns the string representation
64825func (s DescribeSpotFleetRequestsInput) String() string {
64826	return awsutil.Prettify(s)
64827}
64828
64829// GoString returns the string representation
64830func (s DescribeSpotFleetRequestsInput) GoString() string {
64831	return s.String()
64832}
64833
64834// SetDryRun sets the DryRun field's value.
64835func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
64836	s.DryRun = &v
64837	return s
64838}
64839
64840// SetMaxResults sets the MaxResults field's value.
64841func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
64842	s.MaxResults = &v
64843	return s
64844}
64845
64846// SetNextToken sets the NextToken field's value.
64847func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
64848	s.NextToken = &v
64849	return s
64850}
64851
64852// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
64853func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
64854	s.SpotFleetRequestIds = v
64855	return s
64856}
64857
64858// Contains the output of DescribeSpotFleetRequests.
64859type DescribeSpotFleetRequestsOutput struct {
64860	_ struct{} `type:"structure"`
64861
64862	// The token required to retrieve the next set of results. This value is null
64863	// when there are no more results to return.
64864	NextToken *string `locationName:"nextToken" type:"string"`
64865
64866	// Information about the configuration of your Spot Fleet.
64867	SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list"`
64868}
64869
64870// String returns the string representation
64871func (s DescribeSpotFleetRequestsOutput) String() string {
64872	return awsutil.Prettify(s)
64873}
64874
64875// GoString returns the string representation
64876func (s DescribeSpotFleetRequestsOutput) GoString() string {
64877	return s.String()
64878}
64879
64880// SetNextToken sets the NextToken field's value.
64881func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
64882	s.NextToken = &v
64883	return s
64884}
64885
64886// SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
64887func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
64888	s.SpotFleetRequestConfigs = v
64889	return s
64890}
64891
64892// Contains the parameters for DescribeSpotInstanceRequests.
64893type DescribeSpotInstanceRequestsInput struct {
64894	_ struct{} `type:"structure"`
64895
64896	// Checks whether you have the required permissions for the action, without
64897	// actually making the request, and provides an error response. If you have
64898	// the required permissions, the error response is DryRunOperation. Otherwise,
64899	// it is UnauthorizedOperation.
64900	DryRun *bool `locationName:"dryRun" type:"boolean"`
64901
64902	// One or more filters.
64903	//
64904	//    * availability-zone-group - The Availability Zone group.
64905	//
64906	//    * create-time - The time stamp when the Spot Instance request was created.
64907	//
64908	//    * fault-code - The fault code related to the request.
64909	//
64910	//    * fault-message - The fault message related to the request.
64911	//
64912	//    * instance-id - The ID of the instance that fulfilled the request.
64913	//
64914	//    * launch-group - The Spot Instance launch group.
64915	//
64916	//    * launch.block-device-mapping.delete-on-termination - Indicates whether
64917	//    the EBS volume is deleted on instance termination.
64918	//
64919	//    * launch.block-device-mapping.device-name - The device name for the volume
64920	//    in the block device mapping (for example, /dev/sdh or xvdh).
64921	//
64922	//    * launch.block-device-mapping.snapshot-id - The ID of the snapshot for
64923	//    the EBS volume.
64924	//
64925	//    * launch.block-device-mapping.volume-size - The size of the EBS volume,
64926	//    in GiB.
64927	//
64928	//    * launch.block-device-mapping.volume-type - The type of EBS volume: gp2
64929	//    for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput
64930	//    Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
64931	//
64932	//    * launch.group-id - The ID of the security group for the instance.
64933	//
64934	//    * launch.group-name - The name of the security group for the instance.
64935	//
64936	//    * launch.image-id - The ID of the AMI.
64937	//
64938	//    * launch.instance-type - The type of instance (for example, m3.medium).
64939	//
64940	//    * launch.kernel-id - The kernel ID.
64941	//
64942	//    * launch.key-name - The name of the key pair the instance launched with.
64943	//
64944	//    * launch.monitoring-enabled - Whether detailed monitoring is enabled for
64945	//    the Spot Instance.
64946	//
64947	//    * launch.ramdisk-id - The RAM disk ID.
64948	//
64949	//    * launched-availability-zone - The Availability Zone in which the request
64950	//    is launched.
64951	//
64952	//    * network-interface.addresses.primary - Indicates whether the IP address
64953	//    is the primary private IP address.
64954	//
64955	//    * network-interface.delete-on-termination - Indicates whether the network
64956	//    interface is deleted when the instance is terminated.
64957	//
64958	//    * network-interface.description - A description of the network interface.
64959	//
64960	//    * network-interface.device-index - The index of the device for the network
64961	//    interface attachment on the instance.
64962	//
64963	//    * network-interface.group-id - The ID of the security group associated
64964	//    with the network interface.
64965	//
64966	//    * network-interface.network-interface-id - The ID of the network interface.
64967	//
64968	//    * network-interface.private-ip-address - The primary private IP address
64969	//    of the network interface.
64970	//
64971	//    * network-interface.subnet-id - The ID of the subnet for the instance.
64972	//
64973	//    * product-description - The product description associated with the instance
64974	//    (Linux/UNIX | Windows).
64975	//
64976	//    * spot-instance-request-id - The Spot Instance request ID.
64977	//
64978	//    * spot-price - The maximum hourly price for any Spot Instance launched
64979	//    to fulfill the request.
64980	//
64981	//    * state - The state of the Spot Instance request (open | active | closed
64982	//    | cancelled | failed). Spot request status information can help you track
64983	//    your Amazon EC2 Spot Instance requests. For more information, see Spot
64984	//    Request Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
64985	//    in the Amazon EC2 User Guide for Linux Instances.
64986	//
64987	//    * status-code - The short code describing the most recent evaluation of
64988	//    your Spot Instance request.
64989	//
64990	//    * status-message - The message explaining the status of the Spot Instance
64991	//    request.
64992	//
64993	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
64994	//    Use the tag key in the filter name and the tag value as the filter value.
64995	//    For example, to find all resources that have a tag with the key Owner
64996	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
64997	//    the filter value.
64998	//
64999	//    * tag-key - The key of a tag assigned to the resource. Use this filter
65000	//    to find all resources assigned a tag with a specific key, regardless of
65001	//    the tag value.
65002	//
65003	//    * type - The type of Spot Instance request (one-time | persistent).
65004	//
65005	//    * valid-from - The start date of the request.
65006	//
65007	//    * valid-until - The end date of the request.
65008	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65009
65010	// The maximum number of results to return in a single call. Specify a value
65011	// between 5 and 1000. To retrieve the remaining results, make another call
65012	// with the returned NextToken value.
65013	MaxResults *int64 `type:"integer"`
65014
65015	// The token to request the next set of results. This value is null when there
65016	// are no more results to return.
65017	NextToken *string `type:"string"`
65018
65019	// One or more Spot Instance request IDs.
65020	SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
65021}
65022
65023// String returns the string representation
65024func (s DescribeSpotInstanceRequestsInput) String() string {
65025	return awsutil.Prettify(s)
65026}
65027
65028// GoString returns the string representation
65029func (s DescribeSpotInstanceRequestsInput) GoString() string {
65030	return s.String()
65031}
65032
65033// SetDryRun sets the DryRun field's value.
65034func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
65035	s.DryRun = &v
65036	return s
65037}
65038
65039// SetFilters sets the Filters field's value.
65040func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
65041	s.Filters = v
65042	return s
65043}
65044
65045// SetMaxResults sets the MaxResults field's value.
65046func (s *DescribeSpotInstanceRequestsInput) SetMaxResults(v int64) *DescribeSpotInstanceRequestsInput {
65047	s.MaxResults = &v
65048	return s
65049}
65050
65051// SetNextToken sets the NextToken field's value.
65052func (s *DescribeSpotInstanceRequestsInput) SetNextToken(v string) *DescribeSpotInstanceRequestsInput {
65053	s.NextToken = &v
65054	return s
65055}
65056
65057// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
65058func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
65059	s.SpotInstanceRequestIds = v
65060	return s
65061}
65062
65063// Contains the output of DescribeSpotInstanceRequests.
65064type DescribeSpotInstanceRequestsOutput struct {
65065	_ struct{} `type:"structure"`
65066
65067	// The token to use to retrieve the next set of results. This value is null
65068	// when there are no more results to return.
65069	NextToken *string `locationName:"nextToken" type:"string"`
65070
65071	// One or more Spot Instance requests.
65072	SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
65073}
65074
65075// String returns the string representation
65076func (s DescribeSpotInstanceRequestsOutput) String() string {
65077	return awsutil.Prettify(s)
65078}
65079
65080// GoString returns the string representation
65081func (s DescribeSpotInstanceRequestsOutput) GoString() string {
65082	return s.String()
65083}
65084
65085// SetNextToken sets the NextToken field's value.
65086func (s *DescribeSpotInstanceRequestsOutput) SetNextToken(v string) *DescribeSpotInstanceRequestsOutput {
65087	s.NextToken = &v
65088	return s
65089}
65090
65091// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
65092func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
65093	s.SpotInstanceRequests = v
65094	return s
65095}
65096
65097// Contains the parameters for DescribeSpotPriceHistory.
65098type DescribeSpotPriceHistoryInput struct {
65099	_ struct{} `type:"structure"`
65100
65101	// Filters the results by the specified Availability Zone.
65102	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
65103
65104	// Checks whether you have the required permissions for the action, without
65105	// actually making the request, and provides an error response. If you have
65106	// the required permissions, the error response is DryRunOperation. Otherwise,
65107	// it is UnauthorizedOperation.
65108	DryRun *bool `locationName:"dryRun" type:"boolean"`
65109
65110	// The date and time, up to the current date, from which to stop retrieving
65111	// the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
65112	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
65113
65114	// One or more filters.
65115	//
65116	//    * availability-zone - The Availability Zone for which prices should be
65117	//    returned.
65118	//
65119	//    * instance-type - The type of instance (for example, m3.medium).
65120	//
65121	//    * product-description - The product description for the Spot price (Linux/UNIX
65122	//    | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
65123	//    VPC) | Windows (Amazon VPC)).
65124	//
65125	//    * spot-price - The Spot price. The value must match exactly (or use wildcards;
65126	//    greater than or less than comparison is not supported).
65127	//
65128	//    * timestamp - The time stamp of the Spot price history, in UTC format
65129	//    (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?).
65130	//    Greater than or less than comparison is not supported.
65131	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65132
65133	// Filters the results by the specified instance types.
65134	InstanceTypes []*string `locationName:"InstanceType" type:"list"`
65135
65136	// The maximum number of results to return in a single call. Specify a value
65137	// between 1 and 1000. The default value is 1000. To retrieve the remaining
65138	// results, make another call with the returned NextToken value.
65139	MaxResults *int64 `locationName:"maxResults" type:"integer"`
65140
65141	// The token for the next set of results.
65142	NextToken *string `locationName:"nextToken" type:"string"`
65143
65144	// Filters the results by the specified basic product descriptions.
65145	ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
65146
65147	// The date and time, up to the past 90 days, from which to start retrieving
65148	// the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
65149	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
65150}
65151
65152// String returns the string representation
65153func (s DescribeSpotPriceHistoryInput) String() string {
65154	return awsutil.Prettify(s)
65155}
65156
65157// GoString returns the string representation
65158func (s DescribeSpotPriceHistoryInput) GoString() string {
65159	return s.String()
65160}
65161
65162// SetAvailabilityZone sets the AvailabilityZone field's value.
65163func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
65164	s.AvailabilityZone = &v
65165	return s
65166}
65167
65168// SetDryRun sets the DryRun field's value.
65169func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
65170	s.DryRun = &v
65171	return s
65172}
65173
65174// SetEndTime sets the EndTime field's value.
65175func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
65176	s.EndTime = &v
65177	return s
65178}
65179
65180// SetFilters sets the Filters field's value.
65181func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
65182	s.Filters = v
65183	return s
65184}
65185
65186// SetInstanceTypes sets the InstanceTypes field's value.
65187func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
65188	s.InstanceTypes = v
65189	return s
65190}
65191
65192// SetMaxResults sets the MaxResults field's value.
65193func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
65194	s.MaxResults = &v
65195	return s
65196}
65197
65198// SetNextToken sets the NextToken field's value.
65199func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
65200	s.NextToken = &v
65201	return s
65202}
65203
65204// SetProductDescriptions sets the ProductDescriptions field's value.
65205func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
65206	s.ProductDescriptions = v
65207	return s
65208}
65209
65210// SetStartTime sets the StartTime field's value.
65211func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
65212	s.StartTime = &v
65213	return s
65214}
65215
65216// Contains the output of DescribeSpotPriceHistory.
65217type DescribeSpotPriceHistoryOutput struct {
65218	_ struct{} `type:"structure"`
65219
65220	// The token required to retrieve the next set of results. This value is null
65221	// or an empty string when there are no more results to return.
65222	NextToken *string `locationName:"nextToken" type:"string"`
65223
65224	// The historical Spot prices.
65225	SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
65226}
65227
65228// String returns the string representation
65229func (s DescribeSpotPriceHistoryOutput) String() string {
65230	return awsutil.Prettify(s)
65231}
65232
65233// GoString returns the string representation
65234func (s DescribeSpotPriceHistoryOutput) GoString() string {
65235	return s.String()
65236}
65237
65238// SetNextToken sets the NextToken field's value.
65239func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
65240	s.NextToken = &v
65241	return s
65242}
65243
65244// SetSpotPriceHistory sets the SpotPriceHistory field's value.
65245func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
65246	s.SpotPriceHistory = v
65247	return s
65248}
65249
65250type DescribeStaleSecurityGroupsInput struct {
65251	_ struct{} `type:"structure"`
65252
65253	// Checks whether you have the required permissions for the action, without
65254	// actually making the request, and provides an error response. If you have
65255	// the required permissions, the error response is DryRunOperation. Otherwise,
65256	// it is UnauthorizedOperation.
65257	DryRun *bool `type:"boolean"`
65258
65259	// The maximum number of items to return for this request. The request returns
65260	// a token that you can specify in a subsequent call to get the next set of
65261	// results.
65262	MaxResults *int64 `min:"5" type:"integer"`
65263
65264	// The token for the next set of items to return. (You received this token from
65265	// a prior call.)
65266	NextToken *string `min:"1" type:"string"`
65267
65268	// The ID of the VPC.
65269	//
65270	// VpcId is a required field
65271	VpcId *string `type:"string" required:"true"`
65272}
65273
65274// String returns the string representation
65275func (s DescribeStaleSecurityGroupsInput) String() string {
65276	return awsutil.Prettify(s)
65277}
65278
65279// GoString returns the string representation
65280func (s DescribeStaleSecurityGroupsInput) GoString() string {
65281	return s.String()
65282}
65283
65284// Validate inspects the fields of the type to determine if they are valid.
65285func (s *DescribeStaleSecurityGroupsInput) Validate() error {
65286	invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
65287	if s.MaxResults != nil && *s.MaxResults < 5 {
65288		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
65289	}
65290	if s.NextToken != nil && len(*s.NextToken) < 1 {
65291		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
65292	}
65293	if s.VpcId == nil {
65294		invalidParams.Add(request.NewErrParamRequired("VpcId"))
65295	}
65296
65297	if invalidParams.Len() > 0 {
65298		return invalidParams
65299	}
65300	return nil
65301}
65302
65303// SetDryRun sets the DryRun field's value.
65304func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
65305	s.DryRun = &v
65306	return s
65307}
65308
65309// SetMaxResults sets the MaxResults field's value.
65310func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
65311	s.MaxResults = &v
65312	return s
65313}
65314
65315// SetNextToken sets the NextToken field's value.
65316func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
65317	s.NextToken = &v
65318	return s
65319}
65320
65321// SetVpcId sets the VpcId field's value.
65322func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
65323	s.VpcId = &v
65324	return s
65325}
65326
65327type DescribeStaleSecurityGroupsOutput struct {
65328	_ struct{} `type:"structure"`
65329
65330	// The token to use when requesting the next set of items. If there are no additional
65331	// items to return, the string is empty.
65332	NextToken *string `locationName:"nextToken" type:"string"`
65333
65334	// Information about the stale security groups.
65335	StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
65336}
65337
65338// String returns the string representation
65339func (s DescribeStaleSecurityGroupsOutput) String() string {
65340	return awsutil.Prettify(s)
65341}
65342
65343// GoString returns the string representation
65344func (s DescribeStaleSecurityGroupsOutput) GoString() string {
65345	return s.String()
65346}
65347
65348// SetNextToken sets the NextToken field's value.
65349func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
65350	s.NextToken = &v
65351	return s
65352}
65353
65354// SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
65355func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
65356	s.StaleSecurityGroupSet = v
65357	return s
65358}
65359
65360type DescribeSubnetsInput struct {
65361	_ struct{} `type:"structure"`
65362
65363	// Checks whether you have the required permissions for the action, without
65364	// actually making the request, and provides an error response. If you have
65365	// the required permissions, the error response is DryRunOperation. Otherwise,
65366	// it is UnauthorizedOperation.
65367	DryRun *bool `locationName:"dryRun" type:"boolean"`
65368
65369	// One or more filters.
65370	//
65371	//    * availability-zone - The Availability Zone for the subnet. You can also
65372	//    use availabilityZone as the filter name.
65373	//
65374	//    * availability-zone-id - The ID of the Availability Zone for the subnet.
65375	//    You can also use availabilityZoneId as the filter name.
65376	//
65377	//    * available-ip-address-count - The number of IPv4 addresses in the subnet
65378	//    that are available.
65379	//
65380	//    * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you specify
65381	//    must exactly match the subnet's CIDR block for information to be returned
65382	//    for the subnet. You can also use cidr or cidrBlock as the filter names.
65383	//
65384	//    * default-for-az - Indicates whether this is the default subnet for the
65385	//    Availability Zone. You can also use defaultForAz as the filter name.
65386	//
65387	//    * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
65388	//    with the subnet.
65389	//
65390	//    * ipv6-cidr-block-association.association-id - An association ID for an
65391	//    IPv6 CIDR block associated with the subnet.
65392	//
65393	//    * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
65394	//    associated with the subnet.
65395	//
65396	//    * owner-id - The ID of the AWS account that owns the subnet.
65397	//
65398	//    * state - The state of the subnet (pending | available).
65399	//
65400	//    * subnet-arn - The Amazon Resource Name (ARN) of the subnet.
65401	//
65402	//    * subnet-id - The ID of the subnet.
65403	//
65404	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
65405	//    Use the tag key in the filter name and the tag value as the filter value.
65406	//    For example, to find all resources that have a tag with the key Owner
65407	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
65408	//    the filter value.
65409	//
65410	//    * tag-key - The key of a tag assigned to the resource. Use this filter
65411	//    to find all resources assigned a tag with a specific key, regardless of
65412	//    the tag value.
65413	//
65414	//    * vpc-id - The ID of the VPC for the subnet.
65415	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65416
65417	// The maximum number of results to return with a single call. To retrieve the
65418	// remaining results, make another call with the returned nextToken value.
65419	MaxResults *int64 `min:"5" type:"integer"`
65420
65421	// The token for the next page of results.
65422	NextToken *string `type:"string"`
65423
65424	// One or more subnet IDs.
65425	//
65426	// Default: Describes all your subnets.
65427	SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
65428}
65429
65430// String returns the string representation
65431func (s DescribeSubnetsInput) String() string {
65432	return awsutil.Prettify(s)
65433}
65434
65435// GoString returns the string representation
65436func (s DescribeSubnetsInput) GoString() string {
65437	return s.String()
65438}
65439
65440// Validate inspects the fields of the type to determine if they are valid.
65441func (s *DescribeSubnetsInput) Validate() error {
65442	invalidParams := request.ErrInvalidParams{Context: "DescribeSubnetsInput"}
65443	if s.MaxResults != nil && *s.MaxResults < 5 {
65444		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
65445	}
65446
65447	if invalidParams.Len() > 0 {
65448		return invalidParams
65449	}
65450	return nil
65451}
65452
65453// SetDryRun sets the DryRun field's value.
65454func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
65455	s.DryRun = &v
65456	return s
65457}
65458
65459// SetFilters sets the Filters field's value.
65460func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
65461	s.Filters = v
65462	return s
65463}
65464
65465// SetMaxResults sets the MaxResults field's value.
65466func (s *DescribeSubnetsInput) SetMaxResults(v int64) *DescribeSubnetsInput {
65467	s.MaxResults = &v
65468	return s
65469}
65470
65471// SetNextToken sets the NextToken field's value.
65472func (s *DescribeSubnetsInput) SetNextToken(v string) *DescribeSubnetsInput {
65473	s.NextToken = &v
65474	return s
65475}
65476
65477// SetSubnetIds sets the SubnetIds field's value.
65478func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
65479	s.SubnetIds = v
65480	return s
65481}
65482
65483type DescribeSubnetsOutput struct {
65484	_ struct{} `type:"structure"`
65485
65486	// The token to use to retrieve the next page of results. This value is null
65487	// when there are no more results to return.
65488	NextToken *string `locationName:"nextToken" type:"string"`
65489
65490	// Information about one or more subnets.
65491	Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
65492}
65493
65494// String returns the string representation
65495func (s DescribeSubnetsOutput) String() string {
65496	return awsutil.Prettify(s)
65497}
65498
65499// GoString returns the string representation
65500func (s DescribeSubnetsOutput) GoString() string {
65501	return s.String()
65502}
65503
65504// SetNextToken sets the NextToken field's value.
65505func (s *DescribeSubnetsOutput) SetNextToken(v string) *DescribeSubnetsOutput {
65506	s.NextToken = &v
65507	return s
65508}
65509
65510// SetSubnets sets the Subnets field's value.
65511func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
65512	s.Subnets = v
65513	return s
65514}
65515
65516type DescribeTagsInput struct {
65517	_ struct{} `type:"structure"`
65518
65519	// Checks whether you have the required permissions for the action, without
65520	// actually making the request, and provides an error response. If you have
65521	// the required permissions, the error response is DryRunOperation. Otherwise,
65522	// it is UnauthorizedOperation.
65523	DryRun *bool `locationName:"dryRun" type:"boolean"`
65524
65525	// The filters.
65526	//
65527	//    * key - The tag key.
65528	//
65529	//    * resource-id - The ID of the resource.
65530	//
65531	//    * resource-type - The resource type (customer-gateway | dedicated-host
65532	//    | dhcp-options | elastic-ip | fleet | fpga-image | image | instance |
65533	//    host-reservation | internet-gateway | launch-template | natgateway | network-acl
65534	//    | network-interface | placement-group | reserved-instances | route-table
65535	//    | security-group | snapshot | spot-instances-request | subnet | volume
65536	//    | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection |
65537	//    vpn-connection | vpn-gateway).
65538	//
65539	//    * tag:<key> - The key/value combination of the tag. For example, specify
65540	//    "tag:Owner" for the filter name and "TeamA" for the filter value to find
65541	//    resources with the tag "Owner=TeamA".
65542	//
65543	//    * value - The tag value.
65544	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65545
65546	// The maximum number of results to return in a single call. This value can
65547	// be between 5 and 1000. To retrieve the remaining results, make another call
65548	// with the returned NextToken value.
65549	MaxResults *int64 `locationName:"maxResults" type:"integer"`
65550
65551	// The token to retrieve the next page of results.
65552	NextToken *string `locationName:"nextToken" type:"string"`
65553}
65554
65555// String returns the string representation
65556func (s DescribeTagsInput) String() string {
65557	return awsutil.Prettify(s)
65558}
65559
65560// GoString returns the string representation
65561func (s DescribeTagsInput) GoString() string {
65562	return s.String()
65563}
65564
65565// SetDryRun sets the DryRun field's value.
65566func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
65567	s.DryRun = &v
65568	return s
65569}
65570
65571// SetFilters sets the Filters field's value.
65572func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
65573	s.Filters = v
65574	return s
65575}
65576
65577// SetMaxResults sets the MaxResults field's value.
65578func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
65579	s.MaxResults = &v
65580	return s
65581}
65582
65583// SetNextToken sets the NextToken field's value.
65584func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
65585	s.NextToken = &v
65586	return s
65587}
65588
65589type DescribeTagsOutput struct {
65590	_ struct{} `type:"structure"`
65591
65592	// The token to use to retrieve the next page of results. This value is null
65593	// when there are no more results to return.
65594	NextToken *string `locationName:"nextToken" type:"string"`
65595
65596	// The tags.
65597	Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
65598}
65599
65600// String returns the string representation
65601func (s DescribeTagsOutput) String() string {
65602	return awsutil.Prettify(s)
65603}
65604
65605// GoString returns the string representation
65606func (s DescribeTagsOutput) GoString() string {
65607	return s.String()
65608}
65609
65610// SetNextToken sets the NextToken field's value.
65611func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
65612	s.NextToken = &v
65613	return s
65614}
65615
65616// SetTags sets the Tags field's value.
65617func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
65618	s.Tags = v
65619	return s
65620}
65621
65622type DescribeTrafficMirrorFiltersInput struct {
65623	_ struct{} `type:"structure"`
65624
65625	// Checks whether you have the required permissions for the action, without
65626	// actually making the request, and provides an error response. If you have
65627	// the required permissions, the error response is DryRunOperation. Otherwise,
65628	// it is UnauthorizedOperation.
65629	DryRun *bool `type:"boolean"`
65630
65631	// One or more filters. The possible values are:
65632	//
65633	//    * description: The Traffic Mirror filter description.
65634	//
65635	//    * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.
65636	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65637
65638	// The maximum number of results to return with a single call. To retrieve the
65639	// remaining results, make another call with the returned nextToken value.
65640	MaxResults *int64 `min:"5" type:"integer"`
65641
65642	// The token for the next page of results.
65643	NextToken *string `type:"string"`
65644
65645	// The ID of the Traffic Mirror filter.
65646	TrafficMirrorFilterIds []*string `locationName:"TrafficMirrorFilterId" locationNameList:"item" type:"list"`
65647}
65648
65649// String returns the string representation
65650func (s DescribeTrafficMirrorFiltersInput) String() string {
65651	return awsutil.Prettify(s)
65652}
65653
65654// GoString returns the string representation
65655func (s DescribeTrafficMirrorFiltersInput) GoString() string {
65656	return s.String()
65657}
65658
65659// Validate inspects the fields of the type to determine if they are valid.
65660func (s *DescribeTrafficMirrorFiltersInput) Validate() error {
65661	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorFiltersInput"}
65662	if s.MaxResults != nil && *s.MaxResults < 5 {
65663		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
65664	}
65665
65666	if invalidParams.Len() > 0 {
65667		return invalidParams
65668	}
65669	return nil
65670}
65671
65672// SetDryRun sets the DryRun field's value.
65673func (s *DescribeTrafficMirrorFiltersInput) SetDryRun(v bool) *DescribeTrafficMirrorFiltersInput {
65674	s.DryRun = &v
65675	return s
65676}
65677
65678// SetFilters sets the Filters field's value.
65679func (s *DescribeTrafficMirrorFiltersInput) SetFilters(v []*Filter) *DescribeTrafficMirrorFiltersInput {
65680	s.Filters = v
65681	return s
65682}
65683
65684// SetMaxResults sets the MaxResults field's value.
65685func (s *DescribeTrafficMirrorFiltersInput) SetMaxResults(v int64) *DescribeTrafficMirrorFiltersInput {
65686	s.MaxResults = &v
65687	return s
65688}
65689
65690// SetNextToken sets the NextToken field's value.
65691func (s *DescribeTrafficMirrorFiltersInput) SetNextToken(v string) *DescribeTrafficMirrorFiltersInput {
65692	s.NextToken = &v
65693	return s
65694}
65695
65696// SetTrafficMirrorFilterIds sets the TrafficMirrorFilterIds field's value.
65697func (s *DescribeTrafficMirrorFiltersInput) SetTrafficMirrorFilterIds(v []*string) *DescribeTrafficMirrorFiltersInput {
65698	s.TrafficMirrorFilterIds = v
65699	return s
65700}
65701
65702type DescribeTrafficMirrorFiltersOutput struct {
65703	_ struct{} `type:"structure"`
65704
65705	// The token to use to retrieve the next page of results. The value is null
65706	// when there are no more results to return.
65707	NextToken *string `locationName:"nextToken" type:"string"`
65708
65709	// Information about one or more Traffic Mirror filters.
65710	TrafficMirrorFilters []*TrafficMirrorFilter `locationName:"trafficMirrorFilterSet" locationNameList:"item" type:"list"`
65711}
65712
65713// String returns the string representation
65714func (s DescribeTrafficMirrorFiltersOutput) String() string {
65715	return awsutil.Prettify(s)
65716}
65717
65718// GoString returns the string representation
65719func (s DescribeTrafficMirrorFiltersOutput) GoString() string {
65720	return s.String()
65721}
65722
65723// SetNextToken sets the NextToken field's value.
65724func (s *DescribeTrafficMirrorFiltersOutput) SetNextToken(v string) *DescribeTrafficMirrorFiltersOutput {
65725	s.NextToken = &v
65726	return s
65727}
65728
65729// SetTrafficMirrorFilters sets the TrafficMirrorFilters field's value.
65730func (s *DescribeTrafficMirrorFiltersOutput) SetTrafficMirrorFilters(v []*TrafficMirrorFilter) *DescribeTrafficMirrorFiltersOutput {
65731	s.TrafficMirrorFilters = v
65732	return s
65733}
65734
65735type DescribeTrafficMirrorSessionsInput struct {
65736	_ struct{} `type:"structure"`
65737
65738	// Checks whether you have the required permissions for the action, without
65739	// actually making the request, and provides an error response. If you have
65740	// the required permissions, the error response is DryRunOperation. Otherwise,
65741	// it is UnauthorizedOperation.
65742	DryRun *bool `type:"boolean"`
65743
65744	// One or more filters. The possible values are:
65745	//
65746	//    * description: The Traffic Mirror session description.
65747	//
65748	//    * network-interface-id: The ID of the Traffic Mirror session network interface.
65749	//
65750	//    * owner-id: The ID of the account that owns the Traffic Mirror session.
65751	//
65752	//    * packet-length: The assigned number of packets to mirror.
65753	//
65754	//    * session-number: The assigned session number.
65755	//
65756	//    * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.
65757	//
65758	//    * traffic-mirror-session-id: The ID of the Traffic Mirror session.
65759	//
65760	//    * traffic-mirror-target-id: The ID of the Traffic Mirror target.
65761	//
65762	//    * virtual-network-id: The virtual network ID of the Traffic Mirror session.
65763	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65764
65765	// The maximum number of results to return with a single call. To retrieve the
65766	// remaining results, make another call with the returned nextToken value.
65767	MaxResults *int64 `min:"5" type:"integer"`
65768
65769	// The token for the next page of results.
65770	NextToken *string `type:"string"`
65771
65772	// The ID of the Traffic Mirror session.
65773	TrafficMirrorSessionIds []*string `locationName:"TrafficMirrorSessionId" locationNameList:"item" type:"list"`
65774}
65775
65776// String returns the string representation
65777func (s DescribeTrafficMirrorSessionsInput) String() string {
65778	return awsutil.Prettify(s)
65779}
65780
65781// GoString returns the string representation
65782func (s DescribeTrafficMirrorSessionsInput) GoString() string {
65783	return s.String()
65784}
65785
65786// Validate inspects the fields of the type to determine if they are valid.
65787func (s *DescribeTrafficMirrorSessionsInput) Validate() error {
65788	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorSessionsInput"}
65789	if s.MaxResults != nil && *s.MaxResults < 5 {
65790		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
65791	}
65792
65793	if invalidParams.Len() > 0 {
65794		return invalidParams
65795	}
65796	return nil
65797}
65798
65799// SetDryRun sets the DryRun field's value.
65800func (s *DescribeTrafficMirrorSessionsInput) SetDryRun(v bool) *DescribeTrafficMirrorSessionsInput {
65801	s.DryRun = &v
65802	return s
65803}
65804
65805// SetFilters sets the Filters field's value.
65806func (s *DescribeTrafficMirrorSessionsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorSessionsInput {
65807	s.Filters = v
65808	return s
65809}
65810
65811// SetMaxResults sets the MaxResults field's value.
65812func (s *DescribeTrafficMirrorSessionsInput) SetMaxResults(v int64) *DescribeTrafficMirrorSessionsInput {
65813	s.MaxResults = &v
65814	return s
65815}
65816
65817// SetNextToken sets the NextToken field's value.
65818func (s *DescribeTrafficMirrorSessionsInput) SetNextToken(v string) *DescribeTrafficMirrorSessionsInput {
65819	s.NextToken = &v
65820	return s
65821}
65822
65823// SetTrafficMirrorSessionIds sets the TrafficMirrorSessionIds field's value.
65824func (s *DescribeTrafficMirrorSessionsInput) SetTrafficMirrorSessionIds(v []*string) *DescribeTrafficMirrorSessionsInput {
65825	s.TrafficMirrorSessionIds = v
65826	return s
65827}
65828
65829type DescribeTrafficMirrorSessionsOutput struct {
65830	_ struct{} `type:"structure"`
65831
65832	// The token to use to retrieve the next page of results. The value is null
65833	// when there are no more results to return.
65834	NextToken *string `locationName:"nextToken" type:"string"`
65835
65836	// Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
65837	// sessions are described. Alternatively, you can filter the results.
65838	TrafficMirrorSessions []*TrafficMirrorSession `locationName:"trafficMirrorSessionSet" locationNameList:"item" type:"list"`
65839}
65840
65841// String returns the string representation
65842func (s DescribeTrafficMirrorSessionsOutput) String() string {
65843	return awsutil.Prettify(s)
65844}
65845
65846// GoString returns the string representation
65847func (s DescribeTrafficMirrorSessionsOutput) GoString() string {
65848	return s.String()
65849}
65850
65851// SetNextToken sets the NextToken field's value.
65852func (s *DescribeTrafficMirrorSessionsOutput) SetNextToken(v string) *DescribeTrafficMirrorSessionsOutput {
65853	s.NextToken = &v
65854	return s
65855}
65856
65857// SetTrafficMirrorSessions sets the TrafficMirrorSessions field's value.
65858func (s *DescribeTrafficMirrorSessionsOutput) SetTrafficMirrorSessions(v []*TrafficMirrorSession) *DescribeTrafficMirrorSessionsOutput {
65859	s.TrafficMirrorSessions = v
65860	return s
65861}
65862
65863type DescribeTrafficMirrorTargetsInput struct {
65864	_ struct{} `type:"structure"`
65865
65866	// Checks whether you have the required permissions for the action, without
65867	// actually making the request, and provides an error response. If you have
65868	// the required permissions, the error response is DryRunOperation. Otherwise,
65869	// it is UnauthorizedOperation.
65870	DryRun *bool `type:"boolean"`
65871
65872	// One or more filters. The possible values are:
65873	//
65874	//    * description: The Traffic Mirror target description.
65875	//
65876	//    * network-interface-id: The ID of the Traffic Mirror session network interface.
65877	//
65878	//    * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network
65879	//    Load Balancer that is associated with the session.
65880	//
65881	//    * owner-id: The ID of the account that owns the Traffic Mirror session.
65882	//
65883	//    * traffic-mirror-target-id: The ID of the Traffic Mirror target.
65884	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65885
65886	// The maximum number of results to return with a single call. To retrieve the
65887	// remaining results, make another call with the returned nextToken value.
65888	MaxResults *int64 `min:"5" type:"integer"`
65889
65890	// The token for the next page of results.
65891	NextToken *string `type:"string"`
65892
65893	// The ID of the Traffic Mirror targets.
65894	TrafficMirrorTargetIds []*string `locationName:"TrafficMirrorTargetId" locationNameList:"item" type:"list"`
65895}
65896
65897// String returns the string representation
65898func (s DescribeTrafficMirrorTargetsInput) String() string {
65899	return awsutil.Prettify(s)
65900}
65901
65902// GoString returns the string representation
65903func (s DescribeTrafficMirrorTargetsInput) GoString() string {
65904	return s.String()
65905}
65906
65907// Validate inspects the fields of the type to determine if they are valid.
65908func (s *DescribeTrafficMirrorTargetsInput) Validate() error {
65909	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorTargetsInput"}
65910	if s.MaxResults != nil && *s.MaxResults < 5 {
65911		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
65912	}
65913
65914	if invalidParams.Len() > 0 {
65915		return invalidParams
65916	}
65917	return nil
65918}
65919
65920// SetDryRun sets the DryRun field's value.
65921func (s *DescribeTrafficMirrorTargetsInput) SetDryRun(v bool) *DescribeTrafficMirrorTargetsInput {
65922	s.DryRun = &v
65923	return s
65924}
65925
65926// SetFilters sets the Filters field's value.
65927func (s *DescribeTrafficMirrorTargetsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorTargetsInput {
65928	s.Filters = v
65929	return s
65930}
65931
65932// SetMaxResults sets the MaxResults field's value.
65933func (s *DescribeTrafficMirrorTargetsInput) SetMaxResults(v int64) *DescribeTrafficMirrorTargetsInput {
65934	s.MaxResults = &v
65935	return s
65936}
65937
65938// SetNextToken sets the NextToken field's value.
65939func (s *DescribeTrafficMirrorTargetsInput) SetNextToken(v string) *DescribeTrafficMirrorTargetsInput {
65940	s.NextToken = &v
65941	return s
65942}
65943
65944// SetTrafficMirrorTargetIds sets the TrafficMirrorTargetIds field's value.
65945func (s *DescribeTrafficMirrorTargetsInput) SetTrafficMirrorTargetIds(v []*string) *DescribeTrafficMirrorTargetsInput {
65946	s.TrafficMirrorTargetIds = v
65947	return s
65948}
65949
65950type DescribeTrafficMirrorTargetsOutput struct {
65951	_ struct{} `type:"structure"`
65952
65953	// The token to use to retrieve the next page of results. The value is null
65954	// when there are no more results to return.
65955	NextToken *string `locationName:"nextToken" type:"string"`
65956
65957	// Information about one or more Traffic Mirror targets.
65958	TrafficMirrorTargets []*TrafficMirrorTarget `locationName:"trafficMirrorTargetSet" locationNameList:"item" type:"list"`
65959}
65960
65961// String returns the string representation
65962func (s DescribeTrafficMirrorTargetsOutput) String() string {
65963	return awsutil.Prettify(s)
65964}
65965
65966// GoString returns the string representation
65967func (s DescribeTrafficMirrorTargetsOutput) GoString() string {
65968	return s.String()
65969}
65970
65971// SetNextToken sets the NextToken field's value.
65972func (s *DescribeTrafficMirrorTargetsOutput) SetNextToken(v string) *DescribeTrafficMirrorTargetsOutput {
65973	s.NextToken = &v
65974	return s
65975}
65976
65977// SetTrafficMirrorTargets sets the TrafficMirrorTargets field's value.
65978func (s *DescribeTrafficMirrorTargetsOutput) SetTrafficMirrorTargets(v []*TrafficMirrorTarget) *DescribeTrafficMirrorTargetsOutput {
65979	s.TrafficMirrorTargets = v
65980	return s
65981}
65982
65983type DescribeTransitGatewayAttachmentsInput struct {
65984	_ struct{} `type:"structure"`
65985
65986	// Checks whether you have the required permissions for the action, without
65987	// actually making the request, and provides an error response. If you have
65988	// the required permissions, the error response is DryRunOperation. Otherwise,
65989	// it is UnauthorizedOperation.
65990	DryRun *bool `type:"boolean"`
65991
65992	// One or more filters. The possible values are:
65993	//
65994	//    * association.state - The state of the association (associating | associated
65995	//    | disassociating).
65996	//
65997	//    * association.transit-gateway-route-table-id - The ID of the route table
65998	//    for the transit gateway.
65999	//
66000	//    * resource-id - The ID of the resource.
66001	//
66002	//    * resource-owner-id - The ID of the AWS account that owns the resource.
66003	//
66004	//    * resource-type - The resource type (vpc | vpn).
66005	//
66006	//    * state - The state of the attachment (available | deleted | deleting
66007	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
66008	//    | rejecting).
66009	//
66010	//    * transit-gateway-attachment-id - The ID of the attachment.
66011	//
66012	//    * transit-gateway-id - The ID of the transit gateway.
66013	//
66014	//    * transit-gateway-owner-id - The ID of the AWS account that owns the transit
66015	//    gateway.
66016	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66017
66018	// The maximum number of results to return with a single call. To retrieve the
66019	// remaining results, make another call with the returned nextToken value.
66020	MaxResults *int64 `min:"5" type:"integer"`
66021
66022	// The token for the next page of results.
66023	NextToken *string `type:"string"`
66024
66025	// The IDs of the attachments.
66026	TransitGatewayAttachmentIds []*string `type:"list"`
66027}
66028
66029// String returns the string representation
66030func (s DescribeTransitGatewayAttachmentsInput) String() string {
66031	return awsutil.Prettify(s)
66032}
66033
66034// GoString returns the string representation
66035func (s DescribeTransitGatewayAttachmentsInput) GoString() string {
66036	return s.String()
66037}
66038
66039// Validate inspects the fields of the type to determine if they are valid.
66040func (s *DescribeTransitGatewayAttachmentsInput) Validate() error {
66041	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayAttachmentsInput"}
66042	if s.MaxResults != nil && *s.MaxResults < 5 {
66043		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66044	}
66045
66046	if invalidParams.Len() > 0 {
66047		return invalidParams
66048	}
66049	return nil
66050}
66051
66052// SetDryRun sets the DryRun field's value.
66053func (s *DescribeTransitGatewayAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayAttachmentsInput {
66054	s.DryRun = &v
66055	return s
66056}
66057
66058// SetFilters sets the Filters field's value.
66059func (s *DescribeTransitGatewayAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayAttachmentsInput {
66060	s.Filters = v
66061	return s
66062}
66063
66064// SetMaxResults sets the MaxResults field's value.
66065func (s *DescribeTransitGatewayAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayAttachmentsInput {
66066	s.MaxResults = &v
66067	return s
66068}
66069
66070// SetNextToken sets the NextToken field's value.
66071func (s *DescribeTransitGatewayAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsInput {
66072	s.NextToken = &v
66073	return s
66074}
66075
66076// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
66077func (s *DescribeTransitGatewayAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayAttachmentsInput {
66078	s.TransitGatewayAttachmentIds = v
66079	return s
66080}
66081
66082type DescribeTransitGatewayAttachmentsOutput struct {
66083	_ struct{} `type:"structure"`
66084
66085	// The token to use to retrieve the next page of results. This value is null
66086	// when there are no more results to return.
66087	NextToken *string `locationName:"nextToken" type:"string"`
66088
66089	// Information about the attachments.
66090	TransitGatewayAttachments []*TransitGatewayAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
66091}
66092
66093// String returns the string representation
66094func (s DescribeTransitGatewayAttachmentsOutput) String() string {
66095	return awsutil.Prettify(s)
66096}
66097
66098// GoString returns the string representation
66099func (s DescribeTransitGatewayAttachmentsOutput) GoString() string {
66100	return s.String()
66101}
66102
66103// SetNextToken sets the NextToken field's value.
66104func (s *DescribeTransitGatewayAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsOutput {
66105	s.NextToken = &v
66106	return s
66107}
66108
66109// SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
66110func (s *DescribeTransitGatewayAttachmentsOutput) SetTransitGatewayAttachments(v []*TransitGatewayAttachment) *DescribeTransitGatewayAttachmentsOutput {
66111	s.TransitGatewayAttachments = v
66112	return s
66113}
66114
66115type DescribeTransitGatewayMulticastDomainsInput struct {
66116	_ struct{} `type:"structure"`
66117
66118	// Checks whether you have the required permissions for the action, without
66119	// actually making the request, and provides an error response. If you have
66120	// the required permissions, the error response is DryRunOperation. Otherwise,
66121	// it is UnauthorizedOperation.
66122	DryRun *bool `type:"boolean"`
66123
66124	// One or more filters. The possible values are:
66125	//
66126	//    * state - The state of the transit gateway multicast domain. Valid values
66127	//    are pending | available | deleting | deleted.
66128	//
66129	//    * transit-gateway-id - The ID of the transit gateway.
66130	//
66131	//    * transit-gateway-multicast-domain-id - The ID of the transit gateway
66132	//    multicast domain.
66133	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66134
66135	// The maximum number of results to return with a single call. To retrieve the
66136	// remaining results, make another call with the returned nextToken value.
66137	MaxResults *int64 `min:"5" type:"integer"`
66138
66139	// The token for the next page of results.
66140	NextToken *string `type:"string"`
66141
66142	// The ID of the transit gateway multicast domain.
66143	TransitGatewayMulticastDomainIds []*string `locationNameList:"item" type:"list"`
66144}
66145
66146// String returns the string representation
66147func (s DescribeTransitGatewayMulticastDomainsInput) String() string {
66148	return awsutil.Prettify(s)
66149}
66150
66151// GoString returns the string representation
66152func (s DescribeTransitGatewayMulticastDomainsInput) GoString() string {
66153	return s.String()
66154}
66155
66156// Validate inspects the fields of the type to determine if they are valid.
66157func (s *DescribeTransitGatewayMulticastDomainsInput) Validate() error {
66158	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayMulticastDomainsInput"}
66159	if s.MaxResults != nil && *s.MaxResults < 5 {
66160		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66161	}
66162
66163	if invalidParams.Len() > 0 {
66164		return invalidParams
66165	}
66166	return nil
66167}
66168
66169// SetDryRun sets the DryRun field's value.
66170func (s *DescribeTransitGatewayMulticastDomainsInput) SetDryRun(v bool) *DescribeTransitGatewayMulticastDomainsInput {
66171	s.DryRun = &v
66172	return s
66173}
66174
66175// SetFilters sets the Filters field's value.
66176func (s *DescribeTransitGatewayMulticastDomainsInput) SetFilters(v []*Filter) *DescribeTransitGatewayMulticastDomainsInput {
66177	s.Filters = v
66178	return s
66179}
66180
66181// SetMaxResults sets the MaxResults field's value.
66182func (s *DescribeTransitGatewayMulticastDomainsInput) SetMaxResults(v int64) *DescribeTransitGatewayMulticastDomainsInput {
66183	s.MaxResults = &v
66184	return s
66185}
66186
66187// SetNextToken sets the NextToken field's value.
66188func (s *DescribeTransitGatewayMulticastDomainsInput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsInput {
66189	s.NextToken = &v
66190	return s
66191}
66192
66193// SetTransitGatewayMulticastDomainIds sets the TransitGatewayMulticastDomainIds field's value.
66194func (s *DescribeTransitGatewayMulticastDomainsInput) SetTransitGatewayMulticastDomainIds(v []*string) *DescribeTransitGatewayMulticastDomainsInput {
66195	s.TransitGatewayMulticastDomainIds = v
66196	return s
66197}
66198
66199type DescribeTransitGatewayMulticastDomainsOutput struct {
66200	_ struct{} `type:"structure"`
66201
66202	// The token to use to retrieve the next page of results. This value is null
66203	// when there are no more results to return.
66204	NextToken *string `locationName:"nextToken" type:"string"`
66205
66206	// Information about the transit gateway multicast domains.
66207	TransitGatewayMulticastDomains []*TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomains" locationNameList:"item" type:"list"`
66208}
66209
66210// String returns the string representation
66211func (s DescribeTransitGatewayMulticastDomainsOutput) String() string {
66212	return awsutil.Prettify(s)
66213}
66214
66215// GoString returns the string representation
66216func (s DescribeTransitGatewayMulticastDomainsOutput) GoString() string {
66217	return s.String()
66218}
66219
66220// SetNextToken sets the NextToken field's value.
66221func (s *DescribeTransitGatewayMulticastDomainsOutput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsOutput {
66222	s.NextToken = &v
66223	return s
66224}
66225
66226// SetTransitGatewayMulticastDomains sets the TransitGatewayMulticastDomains field's value.
66227func (s *DescribeTransitGatewayMulticastDomainsOutput) SetTransitGatewayMulticastDomains(v []*TransitGatewayMulticastDomain) *DescribeTransitGatewayMulticastDomainsOutput {
66228	s.TransitGatewayMulticastDomains = v
66229	return s
66230}
66231
66232type DescribeTransitGatewayPeeringAttachmentsInput struct {
66233	_ struct{} `type:"structure"`
66234
66235	// Checks whether you have the required permissions for the action, without
66236	// actually making the request, and provides an error response. If you have
66237	// the required permissions, the error response is DryRunOperation. Otherwise,
66238	// it is UnauthorizedOperation.
66239	DryRun *bool `type:"boolean"`
66240
66241	// One or more filters.
66242	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66243
66244	// The maximum number of results to return with a single call. To retrieve the
66245	// remaining results, make another call with the returned nextToken value.
66246	MaxResults *int64 `min:"5" type:"integer"`
66247
66248	// The token for the next page of results.
66249	NextToken *string `type:"string"`
66250
66251	// One or more IDs of the transit gateway peering attachments.
66252	TransitGatewayAttachmentIds []*string `type:"list"`
66253}
66254
66255// String returns the string representation
66256func (s DescribeTransitGatewayPeeringAttachmentsInput) String() string {
66257	return awsutil.Prettify(s)
66258}
66259
66260// GoString returns the string representation
66261func (s DescribeTransitGatewayPeeringAttachmentsInput) GoString() string {
66262	return s.String()
66263}
66264
66265// Validate inspects the fields of the type to determine if they are valid.
66266func (s *DescribeTransitGatewayPeeringAttachmentsInput) Validate() error {
66267	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayPeeringAttachmentsInput"}
66268	if s.MaxResults != nil && *s.MaxResults < 5 {
66269		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66270	}
66271
66272	if invalidParams.Len() > 0 {
66273		return invalidParams
66274	}
66275	return nil
66276}
66277
66278// SetDryRun sets the DryRun field's value.
66279func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayPeeringAttachmentsInput {
66280	s.DryRun = &v
66281	return s
66282}
66283
66284// SetFilters sets the Filters field's value.
66285func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayPeeringAttachmentsInput {
66286	s.Filters = v
66287	return s
66288}
66289
66290// SetMaxResults sets the MaxResults field's value.
66291func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayPeeringAttachmentsInput {
66292	s.MaxResults = &v
66293	return s
66294}
66295
66296// SetNextToken sets the NextToken field's value.
66297func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsInput {
66298	s.NextToken = &v
66299	return s
66300}
66301
66302// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
66303func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayPeeringAttachmentsInput {
66304	s.TransitGatewayAttachmentIds = v
66305	return s
66306}
66307
66308type DescribeTransitGatewayPeeringAttachmentsOutput struct {
66309	_ struct{} `type:"structure"`
66310
66311	// The token to use to retrieve the next page of results. This value is null
66312	// when there are no more results to return.
66313	NextToken *string `locationName:"nextToken" type:"string"`
66314
66315	// The transit gateway peering attachments.
66316	TransitGatewayPeeringAttachments []*TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachments" locationNameList:"item" type:"list"`
66317}
66318
66319// String returns the string representation
66320func (s DescribeTransitGatewayPeeringAttachmentsOutput) String() string {
66321	return awsutil.Prettify(s)
66322}
66323
66324// GoString returns the string representation
66325func (s DescribeTransitGatewayPeeringAttachmentsOutput) GoString() string {
66326	return s.String()
66327}
66328
66329// SetNextToken sets the NextToken field's value.
66330func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsOutput {
66331	s.NextToken = &v
66332	return s
66333}
66334
66335// SetTransitGatewayPeeringAttachments sets the TransitGatewayPeeringAttachments field's value.
66336func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetTransitGatewayPeeringAttachments(v []*TransitGatewayPeeringAttachment) *DescribeTransitGatewayPeeringAttachmentsOutput {
66337	s.TransitGatewayPeeringAttachments = v
66338	return s
66339}
66340
66341type DescribeTransitGatewayRouteTablesInput struct {
66342	_ struct{} `type:"structure"`
66343
66344	// Checks whether you have the required permissions for the action, without
66345	// actually making the request, and provides an error response. If you have
66346	// the required permissions, the error response is DryRunOperation. Otherwise,
66347	// it is UnauthorizedOperation.
66348	DryRun *bool `type:"boolean"`
66349
66350	// One or more filters. The possible values are:
66351	//
66352	//    * default-association-route-table - Indicates whether this is the default
66353	//    association route table for the transit gateway (true | false).
66354	//
66355	//    * default-propagation-route-table - Indicates whether this is the default
66356	//    propagation route table for the transit gateway (true | false).
66357	//
66358	//    * state - The state of the attachment (available | deleted | deleting
66359	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
66360	//    | rejecting).
66361	//
66362	//    * transit-gateway-id - The ID of the transit gateway.
66363	//
66364	//    * transit-gateway-route-table-id - The ID of the transit gateway route
66365	//    table.
66366	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66367
66368	// The maximum number of results to return with a single call. To retrieve the
66369	// remaining results, make another call with the returned nextToken value.
66370	MaxResults *int64 `min:"5" type:"integer"`
66371
66372	// The token for the next page of results.
66373	NextToken *string `type:"string"`
66374
66375	// The IDs of the transit gateway route tables.
66376	TransitGatewayRouteTableIds []*string `locationNameList:"item" type:"list"`
66377}
66378
66379// String returns the string representation
66380func (s DescribeTransitGatewayRouteTablesInput) String() string {
66381	return awsutil.Prettify(s)
66382}
66383
66384// GoString returns the string representation
66385func (s DescribeTransitGatewayRouteTablesInput) GoString() string {
66386	return s.String()
66387}
66388
66389// Validate inspects the fields of the type to determine if they are valid.
66390func (s *DescribeTransitGatewayRouteTablesInput) Validate() error {
66391	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayRouteTablesInput"}
66392	if s.MaxResults != nil && *s.MaxResults < 5 {
66393		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66394	}
66395
66396	if invalidParams.Len() > 0 {
66397		return invalidParams
66398	}
66399	return nil
66400}
66401
66402// SetDryRun sets the DryRun field's value.
66403func (s *DescribeTransitGatewayRouteTablesInput) SetDryRun(v bool) *DescribeTransitGatewayRouteTablesInput {
66404	s.DryRun = &v
66405	return s
66406}
66407
66408// SetFilters sets the Filters field's value.
66409func (s *DescribeTransitGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeTransitGatewayRouteTablesInput {
66410	s.Filters = v
66411	return s
66412}
66413
66414// SetMaxResults sets the MaxResults field's value.
66415func (s *DescribeTransitGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeTransitGatewayRouteTablesInput {
66416	s.MaxResults = &v
66417	return s
66418}
66419
66420// SetNextToken sets the NextToken field's value.
66421func (s *DescribeTransitGatewayRouteTablesInput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesInput {
66422	s.NextToken = &v
66423	return s
66424}
66425
66426// SetTransitGatewayRouteTableIds sets the TransitGatewayRouteTableIds field's value.
66427func (s *DescribeTransitGatewayRouteTablesInput) SetTransitGatewayRouteTableIds(v []*string) *DescribeTransitGatewayRouteTablesInput {
66428	s.TransitGatewayRouteTableIds = v
66429	return s
66430}
66431
66432type DescribeTransitGatewayRouteTablesOutput struct {
66433	_ struct{} `type:"structure"`
66434
66435	// The token to use to retrieve the next page of results. This value is null
66436	// when there are no more results to return.
66437	NextToken *string `locationName:"nextToken" type:"string"`
66438
66439	// Information about the transit gateway route tables.
66440	TransitGatewayRouteTables []*TransitGatewayRouteTable `locationName:"transitGatewayRouteTables" locationNameList:"item" type:"list"`
66441}
66442
66443// String returns the string representation
66444func (s DescribeTransitGatewayRouteTablesOutput) String() string {
66445	return awsutil.Prettify(s)
66446}
66447
66448// GoString returns the string representation
66449func (s DescribeTransitGatewayRouteTablesOutput) GoString() string {
66450	return s.String()
66451}
66452
66453// SetNextToken sets the NextToken field's value.
66454func (s *DescribeTransitGatewayRouteTablesOutput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesOutput {
66455	s.NextToken = &v
66456	return s
66457}
66458
66459// SetTransitGatewayRouteTables sets the TransitGatewayRouteTables field's value.
66460func (s *DescribeTransitGatewayRouteTablesOutput) SetTransitGatewayRouteTables(v []*TransitGatewayRouteTable) *DescribeTransitGatewayRouteTablesOutput {
66461	s.TransitGatewayRouteTables = v
66462	return s
66463}
66464
66465type DescribeTransitGatewayVpcAttachmentsInput struct {
66466	_ struct{} `type:"structure"`
66467
66468	// Checks whether you have the required permissions for the action, without
66469	// actually making the request, and provides an error response. If you have
66470	// the required permissions, the error response is DryRunOperation. Otherwise,
66471	// it is UnauthorizedOperation.
66472	DryRun *bool `type:"boolean"`
66473
66474	// One or more filters. The possible values are:
66475	//
66476	//    * state - The state of the attachment (available | deleted | deleting
66477	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
66478	//    | rejecting).
66479	//
66480	//    * transit-gateway-attachment-id - The ID of the attachment.
66481	//
66482	//    * transit-gateway-id - The ID of the transit gateway.
66483	//
66484	//    * vpc-id - The ID of the VPC.
66485	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66486
66487	// The maximum number of results to return with a single call. To retrieve the
66488	// remaining results, make another call with the returned nextToken value.
66489	MaxResults *int64 `min:"5" type:"integer"`
66490
66491	// The token for the next page of results.
66492	NextToken *string `type:"string"`
66493
66494	// The IDs of the attachments.
66495	TransitGatewayAttachmentIds []*string `type:"list"`
66496}
66497
66498// String returns the string representation
66499func (s DescribeTransitGatewayVpcAttachmentsInput) String() string {
66500	return awsutil.Prettify(s)
66501}
66502
66503// GoString returns the string representation
66504func (s DescribeTransitGatewayVpcAttachmentsInput) GoString() string {
66505	return s.String()
66506}
66507
66508// Validate inspects the fields of the type to determine if they are valid.
66509func (s *DescribeTransitGatewayVpcAttachmentsInput) Validate() error {
66510	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayVpcAttachmentsInput"}
66511	if s.MaxResults != nil && *s.MaxResults < 5 {
66512		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66513	}
66514
66515	if invalidParams.Len() > 0 {
66516		return invalidParams
66517	}
66518	return nil
66519}
66520
66521// SetDryRun sets the DryRun field's value.
66522func (s *DescribeTransitGatewayVpcAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayVpcAttachmentsInput {
66523	s.DryRun = &v
66524	return s
66525}
66526
66527// SetFilters sets the Filters field's value.
66528func (s *DescribeTransitGatewayVpcAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayVpcAttachmentsInput {
66529	s.Filters = v
66530	return s
66531}
66532
66533// SetMaxResults sets the MaxResults field's value.
66534func (s *DescribeTransitGatewayVpcAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayVpcAttachmentsInput {
66535	s.MaxResults = &v
66536	return s
66537}
66538
66539// SetNextToken sets the NextToken field's value.
66540func (s *DescribeTransitGatewayVpcAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsInput {
66541	s.NextToken = &v
66542	return s
66543}
66544
66545// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
66546func (s *DescribeTransitGatewayVpcAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayVpcAttachmentsInput {
66547	s.TransitGatewayAttachmentIds = v
66548	return s
66549}
66550
66551type DescribeTransitGatewayVpcAttachmentsOutput struct {
66552	_ struct{} `type:"structure"`
66553
66554	// The token to use to retrieve the next page of results. This value is null
66555	// when there are no more results to return.
66556	NextToken *string `locationName:"nextToken" type:"string"`
66557
66558	// Information about the VPC attachments.
66559	TransitGatewayVpcAttachments []*TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachments" locationNameList:"item" type:"list"`
66560}
66561
66562// String returns the string representation
66563func (s DescribeTransitGatewayVpcAttachmentsOutput) String() string {
66564	return awsutil.Prettify(s)
66565}
66566
66567// GoString returns the string representation
66568func (s DescribeTransitGatewayVpcAttachmentsOutput) GoString() string {
66569	return s.String()
66570}
66571
66572// SetNextToken sets the NextToken field's value.
66573func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsOutput {
66574	s.NextToken = &v
66575	return s
66576}
66577
66578// SetTransitGatewayVpcAttachments sets the TransitGatewayVpcAttachments field's value.
66579func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetTransitGatewayVpcAttachments(v []*TransitGatewayVpcAttachment) *DescribeTransitGatewayVpcAttachmentsOutput {
66580	s.TransitGatewayVpcAttachments = v
66581	return s
66582}
66583
66584type DescribeTransitGatewaysInput struct {
66585	_ struct{} `type:"structure"`
66586
66587	// Checks whether you have the required permissions for the action, without
66588	// actually making the request, and provides an error response. If you have
66589	// the required permissions, the error response is DryRunOperation. Otherwise,
66590	// it is UnauthorizedOperation.
66591	DryRun *bool `type:"boolean"`
66592
66593	// One or more filters. The possible values are:
66594	//
66595	//    * options.propagation-default-route-table-id - The ID of the default propagation
66596	//    route table.
66597	//
66598	//    * options.amazon-side-asn - The private ASN for the Amazon side of a BGP
66599	//    session.
66600	//
66601	//    * options.association-default-route-table-id - The ID of the default association
66602	//    route table.
66603	//
66604	//    * options.auto-accept-shared-attachments - Indicates whether there is
66605	//    automatic acceptance of attachment requests (enable | disable).
66606	//
66607	//    * options.default-route-table-association - Indicates whether resource
66608	//    attachments are automatically associated with the default association
66609	//    route table (enable | disable).
66610	//
66611	//    * options.default-route-table-propagation - Indicates whether resource
66612	//    attachments automatically propagate routes to the default propagation
66613	//    route table (enable | disable).
66614	//
66615	//    * options.dns-support - Indicates whether DNS support is enabled (enable
66616	//    | disable).
66617	//
66618	//    * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol
66619	//    support is enabled (enable | disable).
66620	//
66621	//    * owner-id - The ID of the AWS account that owns the transit gateway.
66622	//
66623	//    * state - The state of the attachment (available | deleted | deleting
66624	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
66625	//    | rejecting).
66626	//
66627	//    * transit-gateway-id - The ID of the transit gateway.
66628	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66629
66630	// The maximum number of results to return with a single call. To retrieve the
66631	// remaining results, make another call with the returned nextToken value.
66632	MaxResults *int64 `min:"5" type:"integer"`
66633
66634	// The token for the next page of results.
66635	NextToken *string `type:"string"`
66636
66637	// The IDs of the transit gateways.
66638	TransitGatewayIds []*string `locationNameList:"item" type:"list"`
66639}
66640
66641// String returns the string representation
66642func (s DescribeTransitGatewaysInput) String() string {
66643	return awsutil.Prettify(s)
66644}
66645
66646// GoString returns the string representation
66647func (s DescribeTransitGatewaysInput) GoString() string {
66648	return s.String()
66649}
66650
66651// Validate inspects the fields of the type to determine if they are valid.
66652func (s *DescribeTransitGatewaysInput) Validate() error {
66653	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewaysInput"}
66654	if s.MaxResults != nil && *s.MaxResults < 5 {
66655		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66656	}
66657
66658	if invalidParams.Len() > 0 {
66659		return invalidParams
66660	}
66661	return nil
66662}
66663
66664// SetDryRun sets the DryRun field's value.
66665func (s *DescribeTransitGatewaysInput) SetDryRun(v bool) *DescribeTransitGatewaysInput {
66666	s.DryRun = &v
66667	return s
66668}
66669
66670// SetFilters sets the Filters field's value.
66671func (s *DescribeTransitGatewaysInput) SetFilters(v []*Filter) *DescribeTransitGatewaysInput {
66672	s.Filters = v
66673	return s
66674}
66675
66676// SetMaxResults sets the MaxResults field's value.
66677func (s *DescribeTransitGatewaysInput) SetMaxResults(v int64) *DescribeTransitGatewaysInput {
66678	s.MaxResults = &v
66679	return s
66680}
66681
66682// SetNextToken sets the NextToken field's value.
66683func (s *DescribeTransitGatewaysInput) SetNextToken(v string) *DescribeTransitGatewaysInput {
66684	s.NextToken = &v
66685	return s
66686}
66687
66688// SetTransitGatewayIds sets the TransitGatewayIds field's value.
66689func (s *DescribeTransitGatewaysInput) SetTransitGatewayIds(v []*string) *DescribeTransitGatewaysInput {
66690	s.TransitGatewayIds = v
66691	return s
66692}
66693
66694type DescribeTransitGatewaysOutput struct {
66695	_ struct{} `type:"structure"`
66696
66697	// The token to use to retrieve the next page of results. This value is null
66698	// when there are no more results to return.
66699	NextToken *string `locationName:"nextToken" type:"string"`
66700
66701	// Information about the transit gateways.
66702	TransitGateways []*TransitGateway `locationName:"transitGatewaySet" locationNameList:"item" type:"list"`
66703}
66704
66705// String returns the string representation
66706func (s DescribeTransitGatewaysOutput) String() string {
66707	return awsutil.Prettify(s)
66708}
66709
66710// GoString returns the string representation
66711func (s DescribeTransitGatewaysOutput) GoString() string {
66712	return s.String()
66713}
66714
66715// SetNextToken sets the NextToken field's value.
66716func (s *DescribeTransitGatewaysOutput) SetNextToken(v string) *DescribeTransitGatewaysOutput {
66717	s.NextToken = &v
66718	return s
66719}
66720
66721// SetTransitGateways sets the TransitGateways field's value.
66722func (s *DescribeTransitGatewaysOutput) SetTransitGateways(v []*TransitGateway) *DescribeTransitGatewaysOutput {
66723	s.TransitGateways = v
66724	return s
66725}
66726
66727type DescribeVolumeAttributeInput struct {
66728	_ struct{} `type:"structure"`
66729
66730	// The attribute of the volume. This parameter is required.
66731	//
66732	// Attribute is a required field
66733	Attribute *string `type:"string" required:"true" enum:"VolumeAttributeName"`
66734
66735	// Checks whether you have the required permissions for the action, without
66736	// actually making the request, and provides an error response. If you have
66737	// the required permissions, the error response is DryRunOperation. Otherwise,
66738	// it is UnauthorizedOperation.
66739	DryRun *bool `locationName:"dryRun" type:"boolean"`
66740
66741	// The ID of the volume.
66742	//
66743	// VolumeId is a required field
66744	VolumeId *string `type:"string" required:"true"`
66745}
66746
66747// String returns the string representation
66748func (s DescribeVolumeAttributeInput) String() string {
66749	return awsutil.Prettify(s)
66750}
66751
66752// GoString returns the string representation
66753func (s DescribeVolumeAttributeInput) GoString() string {
66754	return s.String()
66755}
66756
66757// Validate inspects the fields of the type to determine if they are valid.
66758func (s *DescribeVolumeAttributeInput) Validate() error {
66759	invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
66760	if s.Attribute == nil {
66761		invalidParams.Add(request.NewErrParamRequired("Attribute"))
66762	}
66763	if s.VolumeId == nil {
66764		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
66765	}
66766
66767	if invalidParams.Len() > 0 {
66768		return invalidParams
66769	}
66770	return nil
66771}
66772
66773// SetAttribute sets the Attribute field's value.
66774func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
66775	s.Attribute = &v
66776	return s
66777}
66778
66779// SetDryRun sets the DryRun field's value.
66780func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
66781	s.DryRun = &v
66782	return s
66783}
66784
66785// SetVolumeId sets the VolumeId field's value.
66786func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
66787	s.VolumeId = &v
66788	return s
66789}
66790
66791type DescribeVolumeAttributeOutput struct {
66792	_ struct{} `type:"structure"`
66793
66794	// The state of autoEnableIO attribute.
66795	AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
66796
66797	// A list of product codes.
66798	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
66799
66800	// The ID of the volume.
66801	VolumeId *string `locationName:"volumeId" type:"string"`
66802}
66803
66804// String returns the string representation
66805func (s DescribeVolumeAttributeOutput) String() string {
66806	return awsutil.Prettify(s)
66807}
66808
66809// GoString returns the string representation
66810func (s DescribeVolumeAttributeOutput) GoString() string {
66811	return s.String()
66812}
66813
66814// SetAutoEnableIO sets the AutoEnableIO field's value.
66815func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
66816	s.AutoEnableIO = v
66817	return s
66818}
66819
66820// SetProductCodes sets the ProductCodes field's value.
66821func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
66822	s.ProductCodes = v
66823	return s
66824}
66825
66826// SetVolumeId sets the VolumeId field's value.
66827func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
66828	s.VolumeId = &v
66829	return s
66830}
66831
66832type DescribeVolumeStatusInput struct {
66833	_ struct{} `type:"structure"`
66834
66835	// Checks whether you have the required permissions for the action, without
66836	// actually making the request, and provides an error response. If you have
66837	// the required permissions, the error response is DryRunOperation. Otherwise,
66838	// it is UnauthorizedOperation.
66839	DryRun *bool `locationName:"dryRun" type:"boolean"`
66840
66841	// The filters.
66842	//
66843	//    * action.code - The action code for the event (for example, enable-volume-io).
66844	//
66845	//    * action.description - A description of the action.
66846	//
66847	//    * action.event-id - The event ID associated with the action.
66848	//
66849	//    * availability-zone - The Availability Zone of the instance.
66850	//
66851	//    * event.description - A description of the event.
66852	//
66853	//    * event.event-id - The event ID.
66854	//
66855	//    * event.event-type - The event type (for io-enabled: passed | failed;
66856	//    for io-performance: io-performance:degraded | io-performance:severely-degraded
66857	//    | io-performance:stalled).
66858	//
66859	//    * event.not-after - The latest end time for the event.
66860	//
66861	//    * event.not-before - The earliest start time for the event.
66862	//
66863	//    * volume-status.details-name - The cause for volume-status.status (io-enabled
66864	//    | io-performance).
66865	//
66866	//    * volume-status.details-status - The status of volume-status.details-name
66867	//    (for io-enabled: passed | failed; for io-performance: normal | degraded
66868	//    | severely-degraded | stalled).
66869	//
66870	//    * volume-status.status - The status of the volume (ok | impaired | warning
66871	//    | insufficient-data).
66872	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66873
66874	// The maximum number of volume results returned by DescribeVolumeStatus in
66875	// paginated output. When this parameter is used, the request only returns MaxResults
66876	// results in a single page along with a NextToken response element. The remaining
66877	// results of the initial request can be seen by sending another request with
66878	// the returned NextToken value. This value can be between 5 and 1000; if MaxResults
66879	// is given a value larger than 1000, only 1000 results are returned. If this
66880	// parameter is not used, then DescribeVolumeStatus returns all results. You
66881	// cannot specify this parameter and the volume IDs parameter in the same request.
66882	MaxResults *int64 `type:"integer"`
66883
66884	// The NextToken value to include in a future DescribeVolumeStatus request.
66885	// When the results of the request exceed MaxResults, this value can be used
66886	// to retrieve the next page of results. This value is null when there are no
66887	// more results to return.
66888	NextToken *string `type:"string"`
66889
66890	// The IDs of the volumes.
66891	//
66892	// Default: Describes all your volumes.
66893	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
66894}
66895
66896// String returns the string representation
66897func (s DescribeVolumeStatusInput) String() string {
66898	return awsutil.Prettify(s)
66899}
66900
66901// GoString returns the string representation
66902func (s DescribeVolumeStatusInput) GoString() string {
66903	return s.String()
66904}
66905
66906// SetDryRun sets the DryRun field's value.
66907func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
66908	s.DryRun = &v
66909	return s
66910}
66911
66912// SetFilters sets the Filters field's value.
66913func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
66914	s.Filters = v
66915	return s
66916}
66917
66918// SetMaxResults sets the MaxResults field's value.
66919func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
66920	s.MaxResults = &v
66921	return s
66922}
66923
66924// SetNextToken sets the NextToken field's value.
66925func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
66926	s.NextToken = &v
66927	return s
66928}
66929
66930// SetVolumeIds sets the VolumeIds field's value.
66931func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
66932	s.VolumeIds = v
66933	return s
66934}
66935
66936type DescribeVolumeStatusOutput struct {
66937	_ struct{} `type:"structure"`
66938
66939	// The token to use to retrieve the next page of results. This value is null
66940	// when there are no more results to return.
66941	NextToken *string `locationName:"nextToken" type:"string"`
66942
66943	// Information about the status of the volumes.
66944	VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
66945}
66946
66947// String returns the string representation
66948func (s DescribeVolumeStatusOutput) String() string {
66949	return awsutil.Prettify(s)
66950}
66951
66952// GoString returns the string representation
66953func (s DescribeVolumeStatusOutput) GoString() string {
66954	return s.String()
66955}
66956
66957// SetNextToken sets the NextToken field's value.
66958func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
66959	s.NextToken = &v
66960	return s
66961}
66962
66963// SetVolumeStatuses sets the VolumeStatuses field's value.
66964func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
66965	s.VolumeStatuses = v
66966	return s
66967}
66968
66969type DescribeVolumesInput struct {
66970	_ struct{} `type:"structure"`
66971
66972	// Checks whether you have the required permissions for the action, without
66973	// actually making the request, and provides an error response. If you have
66974	// the required permissions, the error response is DryRunOperation. Otherwise,
66975	// it is UnauthorizedOperation.
66976	DryRun *bool `locationName:"dryRun" type:"boolean"`
66977
66978	// The filters.
66979	//
66980	//    * attachment.attach-time - The time stamp when the attachment initiated.
66981	//
66982	//    * attachment.delete-on-termination - Whether the volume is deleted on
66983	//    instance termination.
66984	//
66985	//    * attachment.device - The device name specified in the block device mapping
66986	//    (for example, /dev/sda1).
66987	//
66988	//    * attachment.instance-id - The ID of the instance the volume is attached
66989	//    to.
66990	//
66991	//    * attachment.status - The attachment state (attaching | attached | detaching).
66992	//
66993	//    * availability-zone - The Availability Zone in which the volume was created.
66994	//
66995	//    * create-time - The time stamp when the volume was created.
66996	//
66997	//    * encrypted - Indicates whether the volume is encrypted (true | false)
66998	//
66999	//    * multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach
67000	//    (true | false)
67001	//
67002	//    * fast-restored - Indicates whether the volume was created from a snapshot
67003	//    that is enabled for fast snapshot restore (true | false).
67004	//
67005	//    * size - The size of the volume, in GiB.
67006	//
67007	//    * snapshot-id - The snapshot from which the volume was created.
67008	//
67009	//    * status - The status of the volume (creating | available | in-use | deleting
67010	//    | deleted | error).
67011	//
67012	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
67013	//    Use the tag key in the filter name and the tag value as the filter value.
67014	//    For example, to find all resources that have a tag with the key Owner
67015	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
67016	//    the filter value.
67017	//
67018	//    * tag-key - The key of a tag assigned to the resource. Use this filter
67019	//    to find all resources assigned a tag with a specific key, regardless of
67020	//    the tag value.
67021	//
67022	//    * volume-id - The volume ID.
67023	//
67024	//    * volume-type - The Amazon EBS volume type. This can be gp2 for General
67025	//    Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
67026	//    HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
67027	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67028
67029	// The maximum number of volume results returned by DescribeVolumes in paginated
67030	// output. When this parameter is used, DescribeVolumes only returns MaxResults
67031	// results in a single page along with a NextToken response element. The remaining
67032	// results of the initial request can be seen by sending another DescribeVolumes
67033	// request with the returned NextToken value. This value can be between 5 and
67034	// 500; if MaxResults is given a value larger than 500, only 500 results are
67035	// returned. If this parameter is not used, then DescribeVolumes returns all
67036	// results. You cannot specify this parameter and the volume IDs parameter in
67037	// the same request.
67038	MaxResults *int64 `locationName:"maxResults" type:"integer"`
67039
67040	// The NextToken value returned from a previous paginated DescribeVolumes request
67041	// where MaxResults was used and the results exceeded the value of that parameter.
67042	// Pagination continues from the end of the previous results that returned the
67043	// NextToken value. This value is null when there are no more results to return.
67044	NextToken *string `locationName:"nextToken" type:"string"`
67045
67046	// The volume IDs.
67047	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
67048}
67049
67050// String returns the string representation
67051func (s DescribeVolumesInput) String() string {
67052	return awsutil.Prettify(s)
67053}
67054
67055// GoString returns the string representation
67056func (s DescribeVolumesInput) GoString() string {
67057	return s.String()
67058}
67059
67060// SetDryRun sets the DryRun field's value.
67061func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
67062	s.DryRun = &v
67063	return s
67064}
67065
67066// SetFilters sets the Filters field's value.
67067func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
67068	s.Filters = v
67069	return s
67070}
67071
67072// SetMaxResults sets the MaxResults field's value.
67073func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
67074	s.MaxResults = &v
67075	return s
67076}
67077
67078// SetNextToken sets the NextToken field's value.
67079func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
67080	s.NextToken = &v
67081	return s
67082}
67083
67084// SetVolumeIds sets the VolumeIds field's value.
67085func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
67086	s.VolumeIds = v
67087	return s
67088}
67089
67090type DescribeVolumesModificationsInput struct {
67091	_ struct{} `type:"structure"`
67092
67093	// Checks whether you have the required permissions for the action, without
67094	// actually making the request, and provides an error response. If you have
67095	// the required permissions, the error response is DryRunOperation. Otherwise,
67096	// it is UnauthorizedOperation.
67097	DryRun *bool `type:"boolean"`
67098
67099	// The filters. Supported filters: volume-id | modification-state | target-size
67100	// | target-iops | target-volume-type | original-size | original-iops | original-volume-type
67101	// | start-time | originalMultiAttachEnabled | targetMultiAttachEnabled.
67102	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67103
67104	// The maximum number of results (up to a limit of 500) to be returned in a
67105	// paginated request.
67106	MaxResults *int64 `type:"integer"`
67107
67108	// The nextToken value returned by a previous paginated request.
67109	NextToken *string `type:"string"`
67110
67111	// The IDs of the volumes for which in-progress modifications will be described.
67112	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
67113}
67114
67115// String returns the string representation
67116func (s DescribeVolumesModificationsInput) String() string {
67117	return awsutil.Prettify(s)
67118}
67119
67120// GoString returns the string representation
67121func (s DescribeVolumesModificationsInput) GoString() string {
67122	return s.String()
67123}
67124
67125// SetDryRun sets the DryRun field's value.
67126func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
67127	s.DryRun = &v
67128	return s
67129}
67130
67131// SetFilters sets the Filters field's value.
67132func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
67133	s.Filters = v
67134	return s
67135}
67136
67137// SetMaxResults sets the MaxResults field's value.
67138func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
67139	s.MaxResults = &v
67140	return s
67141}
67142
67143// SetNextToken sets the NextToken field's value.
67144func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
67145	s.NextToken = &v
67146	return s
67147}
67148
67149// SetVolumeIds sets the VolumeIds field's value.
67150func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
67151	s.VolumeIds = v
67152	return s
67153}
67154
67155type DescribeVolumesModificationsOutput struct {
67156	_ struct{} `type:"structure"`
67157
67158	// Token for pagination, null if there are no more results
67159	NextToken *string `locationName:"nextToken" type:"string"`
67160
67161	// Information about the volume modifications.
67162	VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
67163}
67164
67165// String returns the string representation
67166func (s DescribeVolumesModificationsOutput) String() string {
67167	return awsutil.Prettify(s)
67168}
67169
67170// GoString returns the string representation
67171func (s DescribeVolumesModificationsOutput) GoString() string {
67172	return s.String()
67173}
67174
67175// SetNextToken sets the NextToken field's value.
67176func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
67177	s.NextToken = &v
67178	return s
67179}
67180
67181// SetVolumesModifications sets the VolumesModifications field's value.
67182func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
67183	s.VolumesModifications = v
67184	return s
67185}
67186
67187type DescribeVolumesOutput struct {
67188	_ struct{} `type:"structure"`
67189
67190	// The NextToken value to include in a future DescribeVolumes request. When
67191	// the results of a DescribeVolumes request exceed MaxResults, this value can
67192	// be used to retrieve the next page of results. This value is null when there
67193	// are no more results to return.
67194	NextToken *string `locationName:"nextToken" type:"string"`
67195
67196	// Information about the volumes.
67197	Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
67198}
67199
67200// String returns the string representation
67201func (s DescribeVolumesOutput) String() string {
67202	return awsutil.Prettify(s)
67203}
67204
67205// GoString returns the string representation
67206func (s DescribeVolumesOutput) GoString() string {
67207	return s.String()
67208}
67209
67210// SetNextToken sets the NextToken field's value.
67211func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
67212	s.NextToken = &v
67213	return s
67214}
67215
67216// SetVolumes sets the Volumes field's value.
67217func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
67218	s.Volumes = v
67219	return s
67220}
67221
67222type DescribeVpcAttributeInput struct {
67223	_ struct{} `type:"structure"`
67224
67225	// The VPC attribute.
67226	//
67227	// Attribute is a required field
67228	Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
67229
67230	// Checks whether you have the required permissions for the action, without
67231	// actually making the request, and provides an error response. If you have
67232	// the required permissions, the error response is DryRunOperation. Otherwise,
67233	// it is UnauthorizedOperation.
67234	DryRun *bool `locationName:"dryRun" type:"boolean"`
67235
67236	// The ID of the VPC.
67237	//
67238	// VpcId is a required field
67239	VpcId *string `type:"string" required:"true"`
67240}
67241
67242// String returns the string representation
67243func (s DescribeVpcAttributeInput) String() string {
67244	return awsutil.Prettify(s)
67245}
67246
67247// GoString returns the string representation
67248func (s DescribeVpcAttributeInput) GoString() string {
67249	return s.String()
67250}
67251
67252// Validate inspects the fields of the type to determine if they are valid.
67253func (s *DescribeVpcAttributeInput) Validate() error {
67254	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
67255	if s.Attribute == nil {
67256		invalidParams.Add(request.NewErrParamRequired("Attribute"))
67257	}
67258	if s.VpcId == nil {
67259		invalidParams.Add(request.NewErrParamRequired("VpcId"))
67260	}
67261
67262	if invalidParams.Len() > 0 {
67263		return invalidParams
67264	}
67265	return nil
67266}
67267
67268// SetAttribute sets the Attribute field's value.
67269func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
67270	s.Attribute = &v
67271	return s
67272}
67273
67274// SetDryRun sets the DryRun field's value.
67275func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
67276	s.DryRun = &v
67277	return s
67278}
67279
67280// SetVpcId sets the VpcId field's value.
67281func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
67282	s.VpcId = &v
67283	return s
67284}
67285
67286type DescribeVpcAttributeOutput struct {
67287	_ struct{} `type:"structure"`
67288
67289	// Indicates whether the instances launched in the VPC get DNS hostnames. If
67290	// this attribute is true, instances in the VPC get DNS hostnames; otherwise,
67291	// they do not.
67292	EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
67293
67294	// Indicates whether DNS resolution is enabled for the VPC. If this attribute
67295	// is true, the Amazon DNS server resolves DNS hostnames for your instances
67296	// to their corresponding IP addresses; otherwise, it does not.
67297	EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
67298
67299	// The ID of the VPC.
67300	VpcId *string `locationName:"vpcId" type:"string"`
67301}
67302
67303// String returns the string representation
67304func (s DescribeVpcAttributeOutput) String() string {
67305	return awsutil.Prettify(s)
67306}
67307
67308// GoString returns the string representation
67309func (s DescribeVpcAttributeOutput) GoString() string {
67310	return s.String()
67311}
67312
67313// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
67314func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
67315	s.EnableDnsHostnames = v
67316	return s
67317}
67318
67319// SetEnableDnsSupport sets the EnableDnsSupport field's value.
67320func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
67321	s.EnableDnsSupport = v
67322	return s
67323}
67324
67325// SetVpcId sets the VpcId field's value.
67326func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
67327	s.VpcId = &v
67328	return s
67329}
67330
67331type DescribeVpcClassicLinkDnsSupportInput struct {
67332	_ struct{} `type:"structure"`
67333
67334	// The maximum number of results to return with a single call. To retrieve the
67335	// remaining results, make another call with the returned nextToken value.
67336	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
67337
67338	// The token for the next page of results.
67339	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
67340
67341	// One or more VPC IDs.
67342	VpcIds []*string `locationNameList:"VpcId" type:"list"`
67343}
67344
67345// String returns the string representation
67346func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
67347	return awsutil.Prettify(s)
67348}
67349
67350// GoString returns the string representation
67351func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
67352	return s.String()
67353}
67354
67355// Validate inspects the fields of the type to determine if they are valid.
67356func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
67357	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
67358	if s.MaxResults != nil && *s.MaxResults < 5 {
67359		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
67360	}
67361	if s.NextToken != nil && len(*s.NextToken) < 1 {
67362		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
67363	}
67364
67365	if invalidParams.Len() > 0 {
67366		return invalidParams
67367	}
67368	return nil
67369}
67370
67371// SetMaxResults sets the MaxResults field's value.
67372func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
67373	s.MaxResults = &v
67374	return s
67375}
67376
67377// SetNextToken sets the NextToken field's value.
67378func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
67379	s.NextToken = &v
67380	return s
67381}
67382
67383// SetVpcIds sets the VpcIds field's value.
67384func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
67385	s.VpcIds = v
67386	return s
67387}
67388
67389type DescribeVpcClassicLinkDnsSupportOutput struct {
67390	_ struct{} `type:"structure"`
67391
67392	// The token to use to retrieve the next page of results. This value is null
67393	// when there are no more results to return.
67394	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
67395
67396	// Information about the ClassicLink DNS support status of the VPCs.
67397	Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
67398}
67399
67400// String returns the string representation
67401func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
67402	return awsutil.Prettify(s)
67403}
67404
67405// GoString returns the string representation
67406func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
67407	return s.String()
67408}
67409
67410// SetNextToken sets the NextToken field's value.
67411func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
67412	s.NextToken = &v
67413	return s
67414}
67415
67416// SetVpcs sets the Vpcs field's value.
67417func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
67418	s.Vpcs = v
67419	return s
67420}
67421
67422type DescribeVpcClassicLinkInput struct {
67423	_ struct{} `type:"structure"`
67424
67425	// Checks whether you have the required permissions for the action, without
67426	// actually making the request, and provides an error response. If you have
67427	// the required permissions, the error response is DryRunOperation. Otherwise,
67428	// it is UnauthorizedOperation.
67429	DryRun *bool `locationName:"dryRun" type:"boolean"`
67430
67431	// One or more filters.
67432	//
67433	//    * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
67434	//    (true | false).
67435	//
67436	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
67437	//    Use the tag key in the filter name and the tag value as the filter value.
67438	//    For example, to find all resources that have a tag with the key Owner
67439	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
67440	//    the filter value.
67441	//
67442	//    * tag-key - The key of a tag assigned to the resource. Use this filter
67443	//    to find all resources assigned a tag with a specific key, regardless of
67444	//    the tag value.
67445	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67446
67447	// One or more VPCs for which you want to describe the ClassicLink status.
67448	VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
67449}
67450
67451// String returns the string representation
67452func (s DescribeVpcClassicLinkInput) String() string {
67453	return awsutil.Prettify(s)
67454}
67455
67456// GoString returns the string representation
67457func (s DescribeVpcClassicLinkInput) GoString() string {
67458	return s.String()
67459}
67460
67461// SetDryRun sets the DryRun field's value.
67462func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
67463	s.DryRun = &v
67464	return s
67465}
67466
67467// SetFilters sets the Filters field's value.
67468func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
67469	s.Filters = v
67470	return s
67471}
67472
67473// SetVpcIds sets the VpcIds field's value.
67474func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
67475	s.VpcIds = v
67476	return s
67477}
67478
67479type DescribeVpcClassicLinkOutput struct {
67480	_ struct{} `type:"structure"`
67481
67482	// The ClassicLink status of one or more VPCs.
67483	Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
67484}
67485
67486// String returns the string representation
67487func (s DescribeVpcClassicLinkOutput) String() string {
67488	return awsutil.Prettify(s)
67489}
67490
67491// GoString returns the string representation
67492func (s DescribeVpcClassicLinkOutput) GoString() string {
67493	return s.String()
67494}
67495
67496// SetVpcs sets the Vpcs field's value.
67497func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
67498	s.Vpcs = v
67499	return s
67500}
67501
67502type DescribeVpcEndpointConnectionNotificationsInput struct {
67503	_ struct{} `type:"structure"`
67504
67505	// The ID of the notification.
67506	ConnectionNotificationId *string `type:"string"`
67507
67508	// Checks whether you have the required permissions for the action, without
67509	// actually making the request, and provides an error response. If you have
67510	// the required permissions, the error response is DryRunOperation. Otherwise,
67511	// it is UnauthorizedOperation.
67512	DryRun *bool `type:"boolean"`
67513
67514	// One or more filters.
67515	//
67516	//    * connection-notification-arn - The ARN of the SNS topic for the notification.
67517	//
67518	//    * connection-notification-id - The ID of the notification.
67519	//
67520	//    * connection-notification-state - The state of the notification (Enabled
67521	//    | Disabled).
67522	//
67523	//    * connection-notification-type - The type of notification (Topic).
67524	//
67525	//    * service-id - The ID of the endpoint service.
67526	//
67527	//    * vpc-endpoint-id - The ID of the VPC endpoint.
67528	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67529
67530	// The maximum number of results to return in a single call. To retrieve the
67531	// remaining results, make another request with the returned NextToken value.
67532	MaxResults *int64 `type:"integer"`
67533
67534	// The token to request the next page of results.
67535	NextToken *string `type:"string"`
67536}
67537
67538// String returns the string representation
67539func (s DescribeVpcEndpointConnectionNotificationsInput) String() string {
67540	return awsutil.Prettify(s)
67541}
67542
67543// GoString returns the string representation
67544func (s DescribeVpcEndpointConnectionNotificationsInput) GoString() string {
67545	return s.String()
67546}
67547
67548// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
67549func (s *DescribeVpcEndpointConnectionNotificationsInput) SetConnectionNotificationId(v string) *DescribeVpcEndpointConnectionNotificationsInput {
67550	s.ConnectionNotificationId = &v
67551	return s
67552}
67553
67554// SetDryRun sets the DryRun field's value.
67555func (s *DescribeVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionNotificationsInput {
67556	s.DryRun = &v
67557	return s
67558}
67559
67560// SetFilters sets the Filters field's value.
67561func (s *DescribeVpcEndpointConnectionNotificationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionNotificationsInput {
67562	s.Filters = v
67563	return s
67564}
67565
67566// SetMaxResults sets the MaxResults field's value.
67567func (s *DescribeVpcEndpointConnectionNotificationsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionNotificationsInput {
67568	s.MaxResults = &v
67569	return s
67570}
67571
67572// SetNextToken sets the NextToken field's value.
67573func (s *DescribeVpcEndpointConnectionNotificationsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsInput {
67574	s.NextToken = &v
67575	return s
67576}
67577
67578type DescribeVpcEndpointConnectionNotificationsOutput struct {
67579	_ struct{} `type:"structure"`
67580
67581	// One or more notifications.
67582	ConnectionNotificationSet []*ConnectionNotification `locationName:"connectionNotificationSet" locationNameList:"item" type:"list"`
67583
67584	// The token to use to retrieve the next page of results. This value is null
67585	// when there are no more results to return.
67586	NextToken *string `locationName:"nextToken" type:"string"`
67587}
67588
67589// String returns the string representation
67590func (s DescribeVpcEndpointConnectionNotificationsOutput) String() string {
67591	return awsutil.Prettify(s)
67592}
67593
67594// GoString returns the string representation
67595func (s DescribeVpcEndpointConnectionNotificationsOutput) GoString() string {
67596	return s.String()
67597}
67598
67599// SetConnectionNotificationSet sets the ConnectionNotificationSet field's value.
67600func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetConnectionNotificationSet(v []*ConnectionNotification) *DescribeVpcEndpointConnectionNotificationsOutput {
67601	s.ConnectionNotificationSet = v
67602	return s
67603}
67604
67605// SetNextToken sets the NextToken field's value.
67606func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsOutput {
67607	s.NextToken = &v
67608	return s
67609}
67610
67611type DescribeVpcEndpointConnectionsInput struct {
67612	_ struct{} `type:"structure"`
67613
67614	// Checks whether you have the required permissions for the action, without
67615	// actually making the request, and provides an error response. If you have
67616	// the required permissions, the error response is DryRunOperation. Otherwise,
67617	// it is UnauthorizedOperation.
67618	DryRun *bool `type:"boolean"`
67619
67620	// One or more filters.
67621	//
67622	//    * service-id - The ID of the service.
67623	//
67624	//    * vpc-endpoint-owner - The AWS account number of the owner of the endpoint.
67625	//
67626	//    * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
67627	//    pending | available | deleting | deleted | rejected | failed).
67628	//
67629	//    * vpc-endpoint-id - The ID of the endpoint.
67630	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67631
67632	// The maximum number of results to return for the request in a single page.
67633	// The remaining results of the initial request can be seen by sending another
67634	// request with the returned NextToken value. This value can be between 5 and
67635	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
67636	// are returned.
67637	MaxResults *int64 `type:"integer"`
67638
67639	// The token to retrieve the next page of results.
67640	NextToken *string `type:"string"`
67641}
67642
67643// String returns the string representation
67644func (s DescribeVpcEndpointConnectionsInput) String() string {
67645	return awsutil.Prettify(s)
67646}
67647
67648// GoString returns the string representation
67649func (s DescribeVpcEndpointConnectionsInput) GoString() string {
67650	return s.String()
67651}
67652
67653// SetDryRun sets the DryRun field's value.
67654func (s *DescribeVpcEndpointConnectionsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionsInput {
67655	s.DryRun = &v
67656	return s
67657}
67658
67659// SetFilters sets the Filters field's value.
67660func (s *DescribeVpcEndpointConnectionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionsInput {
67661	s.Filters = v
67662	return s
67663}
67664
67665// SetMaxResults sets the MaxResults field's value.
67666func (s *DescribeVpcEndpointConnectionsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionsInput {
67667	s.MaxResults = &v
67668	return s
67669}
67670
67671// SetNextToken sets the NextToken field's value.
67672func (s *DescribeVpcEndpointConnectionsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionsInput {
67673	s.NextToken = &v
67674	return s
67675}
67676
67677type DescribeVpcEndpointConnectionsOutput struct {
67678	_ struct{} `type:"structure"`
67679
67680	// The token to use to retrieve the next page of results. This value is null
67681	// when there are no more results to return.
67682	NextToken *string `locationName:"nextToken" type:"string"`
67683
67684	// Information about one or more VPC endpoint connections.
67685	VpcEndpointConnections []*VpcEndpointConnection `locationName:"vpcEndpointConnectionSet" locationNameList:"item" type:"list"`
67686}
67687
67688// String returns the string representation
67689func (s DescribeVpcEndpointConnectionsOutput) String() string {
67690	return awsutil.Prettify(s)
67691}
67692
67693// GoString returns the string representation
67694func (s DescribeVpcEndpointConnectionsOutput) GoString() string {
67695	return s.String()
67696}
67697
67698// SetNextToken sets the NextToken field's value.
67699func (s *DescribeVpcEndpointConnectionsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionsOutput {
67700	s.NextToken = &v
67701	return s
67702}
67703
67704// SetVpcEndpointConnections sets the VpcEndpointConnections field's value.
67705func (s *DescribeVpcEndpointConnectionsOutput) SetVpcEndpointConnections(v []*VpcEndpointConnection) *DescribeVpcEndpointConnectionsOutput {
67706	s.VpcEndpointConnections = v
67707	return s
67708}
67709
67710type DescribeVpcEndpointServiceConfigurationsInput struct {
67711	_ struct{} `type:"structure"`
67712
67713	// Checks whether you have the required permissions for the action, without
67714	// actually making the request, and provides an error response. If you have
67715	// the required permissions, the error response is DryRunOperation. Otherwise,
67716	// it is UnauthorizedOperation.
67717	DryRun *bool `type:"boolean"`
67718
67719	// One or more filters.
67720	//
67721	//    * service-name - The name of the service.
67722	//
67723	//    * service-id - The ID of the service.
67724	//
67725	//    * service-state - The state of the service (Pending | Available | Deleting
67726	//    | Deleted | Failed).
67727	//
67728	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
67729	//    Use the tag key in the filter name and the tag value as the filter value.
67730	//    For example, to find all resources that have a tag with the key Owner
67731	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
67732	//    the filter value.
67733	//
67734	//    * tag-key - The key of a tag assigned to the resource. Use this filter
67735	//    to find all resources assigned a tag with a specific key, regardless of
67736	//    the tag value.
67737	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67738
67739	// The maximum number of results to return for the request in a single page.
67740	// The remaining results of the initial request can be seen by sending another
67741	// request with the returned NextToken value. This value can be between 5 and
67742	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
67743	// are returned.
67744	MaxResults *int64 `type:"integer"`
67745
67746	// The token to retrieve the next page of results.
67747	NextToken *string `type:"string"`
67748
67749	// The IDs of one or more services.
67750	ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list"`
67751}
67752
67753// String returns the string representation
67754func (s DescribeVpcEndpointServiceConfigurationsInput) String() string {
67755	return awsutil.Prettify(s)
67756}
67757
67758// GoString returns the string representation
67759func (s DescribeVpcEndpointServiceConfigurationsInput) GoString() string {
67760	return s.String()
67761}
67762
67763// SetDryRun sets the DryRun field's value.
67764func (s *DescribeVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DescribeVpcEndpointServiceConfigurationsInput {
67765	s.DryRun = &v
67766	return s
67767}
67768
67769// SetFilters sets the Filters field's value.
67770func (s *DescribeVpcEndpointServiceConfigurationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServiceConfigurationsInput {
67771	s.Filters = v
67772	return s
67773}
67774
67775// SetMaxResults sets the MaxResults field's value.
67776func (s *DescribeVpcEndpointServiceConfigurationsInput) SetMaxResults(v int64) *DescribeVpcEndpointServiceConfigurationsInput {
67777	s.MaxResults = &v
67778	return s
67779}
67780
67781// SetNextToken sets the NextToken field's value.
67782func (s *DescribeVpcEndpointServiceConfigurationsInput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsInput {
67783	s.NextToken = &v
67784	return s
67785}
67786
67787// SetServiceIds sets the ServiceIds field's value.
67788func (s *DescribeVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DescribeVpcEndpointServiceConfigurationsInput {
67789	s.ServiceIds = v
67790	return s
67791}
67792
67793type DescribeVpcEndpointServiceConfigurationsOutput struct {
67794	_ struct{} `type:"structure"`
67795
67796	// The token to use to retrieve the next page of results. This value is null
67797	// when there are no more results to return.
67798	NextToken *string `locationName:"nextToken" type:"string"`
67799
67800	// Information about one or more services.
67801	ServiceConfigurations []*ServiceConfiguration `locationName:"serviceConfigurationSet" locationNameList:"item" type:"list"`
67802}
67803
67804// String returns the string representation
67805func (s DescribeVpcEndpointServiceConfigurationsOutput) String() string {
67806	return awsutil.Prettify(s)
67807}
67808
67809// GoString returns the string representation
67810func (s DescribeVpcEndpointServiceConfigurationsOutput) GoString() string {
67811	return s.String()
67812}
67813
67814// SetNextToken sets the NextToken field's value.
67815func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsOutput {
67816	s.NextToken = &v
67817	return s
67818}
67819
67820// SetServiceConfigurations sets the ServiceConfigurations field's value.
67821func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetServiceConfigurations(v []*ServiceConfiguration) *DescribeVpcEndpointServiceConfigurationsOutput {
67822	s.ServiceConfigurations = v
67823	return s
67824}
67825
67826type DescribeVpcEndpointServicePermissionsInput struct {
67827	_ struct{} `type:"structure"`
67828
67829	// Checks whether you have the required permissions for the action, without
67830	// actually making the request, and provides an error response. If you have
67831	// the required permissions, the error response is DryRunOperation. Otherwise,
67832	// it is UnauthorizedOperation.
67833	DryRun *bool `type:"boolean"`
67834
67835	// One or more filters.
67836	//
67837	//    * principal - The ARN of the principal.
67838	//
67839	//    * principal-type - The principal type (All | Service | OrganizationUnit
67840	//    | Account | User | Role).
67841	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67842
67843	// The maximum number of results to return for the request in a single page.
67844	// The remaining results of the initial request can be seen by sending another
67845	// request with the returned NextToken value. This value can be between 5 and
67846	// 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results
67847	// are returned.
67848	MaxResults *int64 `type:"integer"`
67849
67850	// The token to retrieve the next page of results.
67851	NextToken *string `type:"string"`
67852
67853	// The ID of the service.
67854	//
67855	// ServiceId is a required field
67856	ServiceId *string `type:"string" required:"true"`
67857}
67858
67859// String returns the string representation
67860func (s DescribeVpcEndpointServicePermissionsInput) String() string {
67861	return awsutil.Prettify(s)
67862}
67863
67864// GoString returns the string representation
67865func (s DescribeVpcEndpointServicePermissionsInput) GoString() string {
67866	return s.String()
67867}
67868
67869// Validate inspects the fields of the type to determine if they are valid.
67870func (s *DescribeVpcEndpointServicePermissionsInput) Validate() error {
67871	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcEndpointServicePermissionsInput"}
67872	if s.ServiceId == nil {
67873		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
67874	}
67875
67876	if invalidParams.Len() > 0 {
67877		return invalidParams
67878	}
67879	return nil
67880}
67881
67882// SetDryRun sets the DryRun field's value.
67883func (s *DescribeVpcEndpointServicePermissionsInput) SetDryRun(v bool) *DescribeVpcEndpointServicePermissionsInput {
67884	s.DryRun = &v
67885	return s
67886}
67887
67888// SetFilters sets the Filters field's value.
67889func (s *DescribeVpcEndpointServicePermissionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicePermissionsInput {
67890	s.Filters = v
67891	return s
67892}
67893
67894// SetMaxResults sets the MaxResults field's value.
67895func (s *DescribeVpcEndpointServicePermissionsInput) SetMaxResults(v int64) *DescribeVpcEndpointServicePermissionsInput {
67896	s.MaxResults = &v
67897	return s
67898}
67899
67900// SetNextToken sets the NextToken field's value.
67901func (s *DescribeVpcEndpointServicePermissionsInput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsInput {
67902	s.NextToken = &v
67903	return s
67904}
67905
67906// SetServiceId sets the ServiceId field's value.
67907func (s *DescribeVpcEndpointServicePermissionsInput) SetServiceId(v string) *DescribeVpcEndpointServicePermissionsInput {
67908	s.ServiceId = &v
67909	return s
67910}
67911
67912type DescribeVpcEndpointServicePermissionsOutput struct {
67913	_ struct{} `type:"structure"`
67914
67915	// Information about one or more allowed principals.
67916	AllowedPrincipals []*AllowedPrincipal `locationName:"allowedPrincipals" locationNameList:"item" type:"list"`
67917
67918	// The token to use to retrieve the next page of results. This value is null
67919	// when there are no more results to return.
67920	NextToken *string `locationName:"nextToken" type:"string"`
67921}
67922
67923// String returns the string representation
67924func (s DescribeVpcEndpointServicePermissionsOutput) String() string {
67925	return awsutil.Prettify(s)
67926}
67927
67928// GoString returns the string representation
67929func (s DescribeVpcEndpointServicePermissionsOutput) GoString() string {
67930	return s.String()
67931}
67932
67933// SetAllowedPrincipals sets the AllowedPrincipals field's value.
67934func (s *DescribeVpcEndpointServicePermissionsOutput) SetAllowedPrincipals(v []*AllowedPrincipal) *DescribeVpcEndpointServicePermissionsOutput {
67935	s.AllowedPrincipals = v
67936	return s
67937}
67938
67939// SetNextToken sets the NextToken field's value.
67940func (s *DescribeVpcEndpointServicePermissionsOutput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsOutput {
67941	s.NextToken = &v
67942	return s
67943}
67944
67945// Contains the parameters for DescribeVpcEndpointServices.
67946type DescribeVpcEndpointServicesInput struct {
67947	_ struct{} `type:"structure"`
67948
67949	// Checks whether you have the required permissions for the action, without
67950	// actually making the request, and provides an error response. If you have
67951	// the required permissions, the error response is DryRunOperation. Otherwise,
67952	// it is UnauthorizedOperation.
67953	DryRun *bool `type:"boolean"`
67954
67955	// One or more filters.
67956	//
67957	//    * service-name - The name of the service.
67958	//
67959	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
67960	//    Use the tag key in the filter name and the tag value as the filter value.
67961	//    For example, to find all resources that have a tag with the key Owner
67962	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
67963	//    the filter value.
67964	//
67965	//    * tag-key - The key of a tag assigned to the resource. Use this filter
67966	//    to find all resources assigned a tag with a specific key, regardless of
67967	//    the tag value.
67968	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67969
67970	// The maximum number of items to return for this request. The request returns
67971	// a token that you can specify in a subsequent call to get the next set of
67972	// results.
67973	//
67974	// Constraint: If the value is greater than 1,000, we return only 1,000 items.
67975	MaxResults *int64 `type:"integer"`
67976
67977	// The token for the next set of items to return. (You received this token from
67978	// a prior call.)
67979	NextToken *string `type:"string"`
67980
67981	// One or more service names.
67982	ServiceNames []*string `locationName:"ServiceName" locationNameList:"item" type:"list"`
67983}
67984
67985// String returns the string representation
67986func (s DescribeVpcEndpointServicesInput) String() string {
67987	return awsutil.Prettify(s)
67988}
67989
67990// GoString returns the string representation
67991func (s DescribeVpcEndpointServicesInput) GoString() string {
67992	return s.String()
67993}
67994
67995// SetDryRun sets the DryRun field's value.
67996func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
67997	s.DryRun = &v
67998	return s
67999}
68000
68001// SetFilters sets the Filters field's value.
68002func (s *DescribeVpcEndpointServicesInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicesInput {
68003	s.Filters = v
68004	return s
68005}
68006
68007// SetMaxResults sets the MaxResults field's value.
68008func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
68009	s.MaxResults = &v
68010	return s
68011}
68012
68013// SetNextToken sets the NextToken field's value.
68014func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
68015	s.NextToken = &v
68016	return s
68017}
68018
68019// SetServiceNames sets the ServiceNames field's value.
68020func (s *DescribeVpcEndpointServicesInput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesInput {
68021	s.ServiceNames = v
68022	return s
68023}
68024
68025// Contains the output of DescribeVpcEndpointServices.
68026type DescribeVpcEndpointServicesOutput struct {
68027	_ struct{} `type:"structure"`
68028
68029	// The token to use when requesting the next set of items. If there are no additional
68030	// items to return, the string is empty.
68031	NextToken *string `locationName:"nextToken" type:"string"`
68032
68033	// Information about the service.
68034	ServiceDetails []*ServiceDetail `locationName:"serviceDetailSet" locationNameList:"item" type:"list"`
68035
68036	// A list of supported services.
68037	ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
68038}
68039
68040// String returns the string representation
68041func (s DescribeVpcEndpointServicesOutput) String() string {
68042	return awsutil.Prettify(s)
68043}
68044
68045// GoString returns the string representation
68046func (s DescribeVpcEndpointServicesOutput) GoString() string {
68047	return s.String()
68048}
68049
68050// SetNextToken sets the NextToken field's value.
68051func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
68052	s.NextToken = &v
68053	return s
68054}
68055
68056// SetServiceDetails sets the ServiceDetails field's value.
68057func (s *DescribeVpcEndpointServicesOutput) SetServiceDetails(v []*ServiceDetail) *DescribeVpcEndpointServicesOutput {
68058	s.ServiceDetails = v
68059	return s
68060}
68061
68062// SetServiceNames sets the ServiceNames field's value.
68063func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
68064	s.ServiceNames = v
68065	return s
68066}
68067
68068// Contains the parameters for DescribeVpcEndpoints.
68069type DescribeVpcEndpointsInput struct {
68070	_ struct{} `type:"structure"`
68071
68072	// Checks whether you have the required permissions for the action, without
68073	// actually making the request, and provides an error response. If you have
68074	// the required permissions, the error response is DryRunOperation. Otherwise,
68075	// it is UnauthorizedOperation.
68076	DryRun *bool `type:"boolean"`
68077
68078	// One or more filters.
68079	//
68080	//    * service-name - The name of the service.
68081	//
68082	//    * vpc-id - The ID of the VPC in which the endpoint resides.
68083	//
68084	//    * vpc-endpoint-id - The ID of the endpoint.
68085	//
68086	//    * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
68087	//    pending | available | deleting | deleted | rejected | failed).
68088	//
68089	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
68090	//    Use the tag key in the filter name and the tag value as the filter value.
68091	//    For example, to find all resources that have a tag with the key Owner
68092	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
68093	//    the filter value.
68094	//
68095	//    * tag-key - The key of a tag assigned to the resource. Use this filter
68096	//    to find all resources assigned a tag with a specific key, regardless of
68097	//    the tag value.
68098	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68099
68100	// The maximum number of items to return for this request. The request returns
68101	// a token that you can specify in a subsequent call to get the next set of
68102	// results.
68103	//
68104	// Constraint: If the value is greater than 1,000, we return only 1,000 items.
68105	MaxResults *int64 `type:"integer"`
68106
68107	// The token for the next set of items to return. (You received this token from
68108	// a prior call.)
68109	NextToken *string `type:"string"`
68110
68111	// One or more endpoint IDs.
68112	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
68113}
68114
68115// String returns the string representation
68116func (s DescribeVpcEndpointsInput) String() string {
68117	return awsutil.Prettify(s)
68118}
68119
68120// GoString returns the string representation
68121func (s DescribeVpcEndpointsInput) GoString() string {
68122	return s.String()
68123}
68124
68125// SetDryRun sets the DryRun field's value.
68126func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
68127	s.DryRun = &v
68128	return s
68129}
68130
68131// SetFilters sets the Filters field's value.
68132func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
68133	s.Filters = v
68134	return s
68135}
68136
68137// SetMaxResults sets the MaxResults field's value.
68138func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
68139	s.MaxResults = &v
68140	return s
68141}
68142
68143// SetNextToken sets the NextToken field's value.
68144func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
68145	s.NextToken = &v
68146	return s
68147}
68148
68149// SetVpcEndpointIds sets the VpcEndpointIds field's value.
68150func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
68151	s.VpcEndpointIds = v
68152	return s
68153}
68154
68155// Contains the output of DescribeVpcEndpoints.
68156type DescribeVpcEndpointsOutput struct {
68157	_ struct{} `type:"structure"`
68158
68159	// The token to use when requesting the next set of items. If there are no additional
68160	// items to return, the string is empty.
68161	NextToken *string `locationName:"nextToken" type:"string"`
68162
68163	// Information about the endpoints.
68164	VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
68165}
68166
68167// String returns the string representation
68168func (s DescribeVpcEndpointsOutput) String() string {
68169	return awsutil.Prettify(s)
68170}
68171
68172// GoString returns the string representation
68173func (s DescribeVpcEndpointsOutput) GoString() string {
68174	return s.String()
68175}
68176
68177// SetNextToken sets the NextToken field's value.
68178func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
68179	s.NextToken = &v
68180	return s
68181}
68182
68183// SetVpcEndpoints sets the VpcEndpoints field's value.
68184func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
68185	s.VpcEndpoints = v
68186	return s
68187}
68188
68189type DescribeVpcPeeringConnectionsInput struct {
68190	_ struct{} `type:"structure"`
68191
68192	// Checks whether you have the required permissions for the action, without
68193	// actually making the request, and provides an error response. If you have
68194	// the required permissions, the error response is DryRunOperation. Otherwise,
68195	// it is UnauthorizedOperation.
68196	DryRun *bool `locationName:"dryRun" type:"boolean"`
68197
68198	// One or more filters.
68199	//
68200	//    * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.
68201	//
68202	//    * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
68203	//    accepter VPC.
68204	//
68205	//    * accepter-vpc-info.vpc-id - The ID of the accepter VPC.
68206	//
68207	//    * expiration-time - The expiration date and time for the VPC peering connection.
68208	//
68209	//    * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
68210	//    VPC.
68211	//
68212	//    * requester-vpc-info.owner-id - The AWS account ID of the owner of the
68213	//    requester VPC.
68214	//
68215	//    * requester-vpc-info.vpc-id - The ID of the requester VPC.
68216	//
68217	//    * status-code - The status of the VPC peering connection (pending-acceptance
68218	//    | failed | expired | provisioning | active | deleting | deleted | rejected).
68219	//
68220	//    * status-message - A message that provides more information about the
68221	//    status of the VPC peering connection, if applicable.
68222	//
68223	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
68224	//    Use the tag key in the filter name and the tag value as the filter value.
68225	//    For example, to find all resources that have a tag with the key Owner
68226	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
68227	//    the filter value.
68228	//
68229	//    * tag-key - The key of a tag assigned to the resource. Use this filter
68230	//    to find all resources assigned a tag with a specific key, regardless of
68231	//    the tag value.
68232	//
68233	//    * vpc-peering-connection-id - The ID of the VPC peering connection.
68234	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68235
68236	// The maximum number of results to return with a single call. To retrieve the
68237	// remaining results, make another call with the returned nextToken value.
68238	MaxResults *int64 `min:"5" type:"integer"`
68239
68240	// The token for the next page of results.
68241	NextToken *string `type:"string"`
68242
68243	// One or more VPC peering connection IDs.
68244	//
68245	// Default: Describes all your VPC peering connections.
68246	VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
68247}
68248
68249// String returns the string representation
68250func (s DescribeVpcPeeringConnectionsInput) String() string {
68251	return awsutil.Prettify(s)
68252}
68253
68254// GoString returns the string representation
68255func (s DescribeVpcPeeringConnectionsInput) GoString() string {
68256	return s.String()
68257}
68258
68259// Validate inspects the fields of the type to determine if they are valid.
68260func (s *DescribeVpcPeeringConnectionsInput) Validate() error {
68261	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcPeeringConnectionsInput"}
68262	if s.MaxResults != nil && *s.MaxResults < 5 {
68263		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
68264	}
68265
68266	if invalidParams.Len() > 0 {
68267		return invalidParams
68268	}
68269	return nil
68270}
68271
68272// SetDryRun sets the DryRun field's value.
68273func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
68274	s.DryRun = &v
68275	return s
68276}
68277
68278// SetFilters sets the Filters field's value.
68279func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
68280	s.Filters = v
68281	return s
68282}
68283
68284// SetMaxResults sets the MaxResults field's value.
68285func (s *DescribeVpcPeeringConnectionsInput) SetMaxResults(v int64) *DescribeVpcPeeringConnectionsInput {
68286	s.MaxResults = &v
68287	return s
68288}
68289
68290// SetNextToken sets the NextToken field's value.
68291func (s *DescribeVpcPeeringConnectionsInput) SetNextToken(v string) *DescribeVpcPeeringConnectionsInput {
68292	s.NextToken = &v
68293	return s
68294}
68295
68296// SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
68297func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
68298	s.VpcPeeringConnectionIds = v
68299	return s
68300}
68301
68302type DescribeVpcPeeringConnectionsOutput struct {
68303	_ struct{} `type:"structure"`
68304
68305	// The token to use to retrieve the next page of results. This value is null
68306	// when there are no more results to return.
68307	NextToken *string `locationName:"nextToken" type:"string"`
68308
68309	// Information about the VPC peering connections.
68310	VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
68311}
68312
68313// String returns the string representation
68314func (s DescribeVpcPeeringConnectionsOutput) String() string {
68315	return awsutil.Prettify(s)
68316}
68317
68318// GoString returns the string representation
68319func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
68320	return s.String()
68321}
68322
68323// SetNextToken sets the NextToken field's value.
68324func (s *DescribeVpcPeeringConnectionsOutput) SetNextToken(v string) *DescribeVpcPeeringConnectionsOutput {
68325	s.NextToken = &v
68326	return s
68327}
68328
68329// SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
68330func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
68331	s.VpcPeeringConnections = v
68332	return s
68333}
68334
68335type DescribeVpcsInput struct {
68336	_ struct{} `type:"structure"`
68337
68338	// Checks whether you have the required permissions for the action, without
68339	// actually making the request, and provides an error response. If you have
68340	// the required permissions, the error response is DryRunOperation. Otherwise,
68341	// it is UnauthorizedOperation.
68342	DryRun *bool `locationName:"dryRun" type:"boolean"`
68343
68344	// One or more filters.
68345	//
68346	//    * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify
68347	//    must exactly match the VPC's CIDR block for information to be returned
68348	//    for the VPC. Must contain the slash followed by one or two digits (for
68349	//    example, /28).
68350	//
68351	//    * cidr-block-association.cidr-block - An IPv4 CIDR block associated with
68352	//    the VPC.
68353	//
68354	//    * cidr-block-association.association-id - The association ID for an IPv4
68355	//    CIDR block associated with the VPC.
68356	//
68357	//    * cidr-block-association.state - The state of an IPv4 CIDR block associated
68358	//    with the VPC.
68359	//
68360	//    * dhcp-options-id - The ID of a set of DHCP options.
68361	//
68362	//    * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
68363	//    with the VPC.
68364	//
68365	//    * ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool
68366	//    from which the IPv6 CIDR block is allocated.
68367	//
68368	//    * ipv6-cidr-block-association.association-id - The association ID for
68369	//    an IPv6 CIDR block associated with the VPC.
68370	//
68371	//    * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
68372	//    associated with the VPC.
68373	//
68374	//    * isDefault - Indicates whether the VPC is the default VPC.
68375	//
68376	//    * owner-id - The ID of the AWS account that owns the VPC.
68377	//
68378	//    * state - The state of the VPC (pending | available).
68379	//
68380	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
68381	//    Use the tag key in the filter name and the tag value as the filter value.
68382	//    For example, to find all resources that have a tag with the key Owner
68383	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
68384	//    the filter value.
68385	//
68386	//    * tag-key - The key of a tag assigned to the resource. Use this filter
68387	//    to find all resources assigned a tag with a specific key, regardless of
68388	//    the tag value.
68389	//
68390	//    * vpc-id - The ID of the VPC.
68391	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68392
68393	// The maximum number of results to return with a single call. To retrieve the
68394	// remaining results, make another call with the returned nextToken value.
68395	MaxResults *int64 `min:"5" type:"integer"`
68396
68397	// The token for the next page of results.
68398	NextToken *string `type:"string"`
68399
68400	// One or more VPC IDs.
68401	//
68402	// Default: Describes all your VPCs.
68403	VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
68404}
68405
68406// String returns the string representation
68407func (s DescribeVpcsInput) String() string {
68408	return awsutil.Prettify(s)
68409}
68410
68411// GoString returns the string representation
68412func (s DescribeVpcsInput) GoString() string {
68413	return s.String()
68414}
68415
68416// Validate inspects the fields of the type to determine if they are valid.
68417func (s *DescribeVpcsInput) Validate() error {
68418	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcsInput"}
68419	if s.MaxResults != nil && *s.MaxResults < 5 {
68420		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
68421	}
68422
68423	if invalidParams.Len() > 0 {
68424		return invalidParams
68425	}
68426	return nil
68427}
68428
68429// SetDryRun sets the DryRun field's value.
68430func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
68431	s.DryRun = &v
68432	return s
68433}
68434
68435// SetFilters sets the Filters field's value.
68436func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
68437	s.Filters = v
68438	return s
68439}
68440
68441// SetMaxResults sets the MaxResults field's value.
68442func (s *DescribeVpcsInput) SetMaxResults(v int64) *DescribeVpcsInput {
68443	s.MaxResults = &v
68444	return s
68445}
68446
68447// SetNextToken sets the NextToken field's value.
68448func (s *DescribeVpcsInput) SetNextToken(v string) *DescribeVpcsInput {
68449	s.NextToken = &v
68450	return s
68451}
68452
68453// SetVpcIds sets the VpcIds field's value.
68454func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
68455	s.VpcIds = v
68456	return s
68457}
68458
68459type DescribeVpcsOutput struct {
68460	_ struct{} `type:"structure"`
68461
68462	// The token to use to retrieve the next page of results. This value is null
68463	// when there are no more results to return.
68464	NextToken *string `locationName:"nextToken" type:"string"`
68465
68466	// Information about one or more VPCs.
68467	Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
68468}
68469
68470// String returns the string representation
68471func (s DescribeVpcsOutput) String() string {
68472	return awsutil.Prettify(s)
68473}
68474
68475// GoString returns the string representation
68476func (s DescribeVpcsOutput) GoString() string {
68477	return s.String()
68478}
68479
68480// SetNextToken sets the NextToken field's value.
68481func (s *DescribeVpcsOutput) SetNextToken(v string) *DescribeVpcsOutput {
68482	s.NextToken = &v
68483	return s
68484}
68485
68486// SetVpcs sets the Vpcs field's value.
68487func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
68488	s.Vpcs = v
68489	return s
68490}
68491
68492// Contains the parameters for DescribeVpnConnections.
68493type DescribeVpnConnectionsInput struct {
68494	_ struct{} `type:"structure"`
68495
68496	// Checks whether you have the required permissions for the action, without
68497	// actually making the request, and provides an error response. If you have
68498	// the required permissions, the error response is DryRunOperation. Otherwise,
68499	// it is UnauthorizedOperation.
68500	DryRun *bool `locationName:"dryRun" type:"boolean"`
68501
68502	// One or more filters.
68503	//
68504	//    * customer-gateway-configuration - The configuration information for the
68505	//    customer gateway.
68506	//
68507	//    * customer-gateway-id - The ID of a customer gateway associated with the
68508	//    VPN connection.
68509	//
68510	//    * state - The state of the VPN connection (pending | available | deleting
68511	//    | deleted).
68512	//
68513	//    * option.static-routes-only - Indicates whether the connection has static
68514	//    routes only. Used for devices that do not support Border Gateway Protocol
68515	//    (BGP).
68516	//
68517	//    * route.destination-cidr-block - The destination CIDR block. This corresponds
68518	//    to the subnet used in a customer data center.
68519	//
68520	//    * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
68521	//    device.
68522	//
68523	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
68524	//    Use the tag key in the filter name and the tag value as the filter value.
68525	//    For example, to find all resources that have a tag with the key Owner
68526	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
68527	//    the filter value.
68528	//
68529	//    * tag-key - The key of a tag assigned to the resource. Use this filter
68530	//    to find all resources assigned a tag with a specific key, regardless of
68531	//    the tag value.
68532	//
68533	//    * type - The type of VPN connection. Currently the only supported type
68534	//    is ipsec.1.
68535	//
68536	//    * vpn-connection-id - The ID of the VPN connection.
68537	//
68538	//    * vpn-gateway-id - The ID of a virtual private gateway associated with
68539	//    the VPN connection.
68540	//
68541	//    * transit-gateway-id - The ID of a transit gateway associated with the
68542	//    VPN connection.
68543	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68544
68545	// One or more VPN connection IDs.
68546	//
68547	// Default: Describes your VPN connections.
68548	VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
68549}
68550
68551// String returns the string representation
68552func (s DescribeVpnConnectionsInput) String() string {
68553	return awsutil.Prettify(s)
68554}
68555
68556// GoString returns the string representation
68557func (s DescribeVpnConnectionsInput) GoString() string {
68558	return s.String()
68559}
68560
68561// SetDryRun sets the DryRun field's value.
68562func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
68563	s.DryRun = &v
68564	return s
68565}
68566
68567// SetFilters sets the Filters field's value.
68568func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
68569	s.Filters = v
68570	return s
68571}
68572
68573// SetVpnConnectionIds sets the VpnConnectionIds field's value.
68574func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
68575	s.VpnConnectionIds = v
68576	return s
68577}
68578
68579// Contains the output of DescribeVpnConnections.
68580type DescribeVpnConnectionsOutput struct {
68581	_ struct{} `type:"structure"`
68582
68583	// Information about one or more VPN connections.
68584	VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
68585}
68586
68587// String returns the string representation
68588func (s DescribeVpnConnectionsOutput) String() string {
68589	return awsutil.Prettify(s)
68590}
68591
68592// GoString returns the string representation
68593func (s DescribeVpnConnectionsOutput) GoString() string {
68594	return s.String()
68595}
68596
68597// SetVpnConnections sets the VpnConnections field's value.
68598func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
68599	s.VpnConnections = v
68600	return s
68601}
68602
68603// Contains the parameters for DescribeVpnGateways.
68604type DescribeVpnGatewaysInput struct {
68605	_ struct{} `type:"structure"`
68606
68607	// Checks whether you have the required permissions for the action, without
68608	// actually making the request, and provides an error response. If you have
68609	// the required permissions, the error response is DryRunOperation. Otherwise,
68610	// it is UnauthorizedOperation.
68611	DryRun *bool `locationName:"dryRun" type:"boolean"`
68612
68613	// One or more filters.
68614	//
68615	//    * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon
68616	//    side of the gateway.
68617	//
68618	//    * attachment.state - The current state of the attachment between the gateway
68619	//    and the VPC (attaching | attached | detaching | detached).
68620	//
68621	//    * attachment.vpc-id - The ID of an attached VPC.
68622	//
68623	//    * availability-zone - The Availability Zone for the virtual private gateway
68624	//    (if applicable).
68625	//
68626	//    * state - The state of the virtual private gateway (pending | available
68627	//    | deleting | deleted).
68628	//
68629	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
68630	//    Use the tag key in the filter name and the tag value as the filter value.
68631	//    For example, to find all resources that have a tag with the key Owner
68632	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
68633	//    the filter value.
68634	//
68635	//    * tag-key - The key of a tag assigned to the resource. Use this filter
68636	//    to find all resources assigned a tag with a specific key, regardless of
68637	//    the tag value.
68638	//
68639	//    * type - The type of virtual private gateway. Currently the only supported
68640	//    type is ipsec.1.
68641	//
68642	//    * vpn-gateway-id - The ID of the virtual private gateway.
68643	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
68644
68645	// One or more virtual private gateway IDs.
68646	//
68647	// Default: Describes all your virtual private gateways.
68648	VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
68649}
68650
68651// String returns the string representation
68652func (s DescribeVpnGatewaysInput) String() string {
68653	return awsutil.Prettify(s)
68654}
68655
68656// GoString returns the string representation
68657func (s DescribeVpnGatewaysInput) GoString() string {
68658	return s.String()
68659}
68660
68661// SetDryRun sets the DryRun field's value.
68662func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
68663	s.DryRun = &v
68664	return s
68665}
68666
68667// SetFilters sets the Filters field's value.
68668func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
68669	s.Filters = v
68670	return s
68671}
68672
68673// SetVpnGatewayIds sets the VpnGatewayIds field's value.
68674func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
68675	s.VpnGatewayIds = v
68676	return s
68677}
68678
68679// Contains the output of DescribeVpnGateways.
68680type DescribeVpnGatewaysOutput struct {
68681	_ struct{} `type:"structure"`
68682
68683	// Information about one or more virtual private gateways.
68684	VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
68685}
68686
68687// String returns the string representation
68688func (s DescribeVpnGatewaysOutput) String() string {
68689	return awsutil.Prettify(s)
68690}
68691
68692// GoString returns the string representation
68693func (s DescribeVpnGatewaysOutput) GoString() string {
68694	return s.String()
68695}
68696
68697// SetVpnGateways sets the VpnGateways field's value.
68698func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
68699	s.VpnGateways = v
68700	return s
68701}
68702
68703type DetachClassicLinkVpcInput struct {
68704	_ struct{} `type:"structure"`
68705
68706	// Checks whether you have the required permissions for the action, without
68707	// actually making the request, and provides an error response. If you have
68708	// the required permissions, the error response is DryRunOperation. Otherwise,
68709	// it is UnauthorizedOperation.
68710	DryRun *bool `locationName:"dryRun" type:"boolean"`
68711
68712	// The ID of the instance to unlink from the VPC.
68713	//
68714	// InstanceId is a required field
68715	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
68716
68717	// The ID of the VPC to which the instance is linked.
68718	//
68719	// VpcId is a required field
68720	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
68721}
68722
68723// String returns the string representation
68724func (s DetachClassicLinkVpcInput) String() string {
68725	return awsutil.Prettify(s)
68726}
68727
68728// GoString returns the string representation
68729func (s DetachClassicLinkVpcInput) GoString() string {
68730	return s.String()
68731}
68732
68733// Validate inspects the fields of the type to determine if they are valid.
68734func (s *DetachClassicLinkVpcInput) Validate() error {
68735	invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
68736	if s.InstanceId == nil {
68737		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
68738	}
68739	if s.VpcId == nil {
68740		invalidParams.Add(request.NewErrParamRequired("VpcId"))
68741	}
68742
68743	if invalidParams.Len() > 0 {
68744		return invalidParams
68745	}
68746	return nil
68747}
68748
68749// SetDryRun sets the DryRun field's value.
68750func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
68751	s.DryRun = &v
68752	return s
68753}
68754
68755// SetInstanceId sets the InstanceId field's value.
68756func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
68757	s.InstanceId = &v
68758	return s
68759}
68760
68761// SetVpcId sets the VpcId field's value.
68762func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
68763	s.VpcId = &v
68764	return s
68765}
68766
68767type DetachClassicLinkVpcOutput struct {
68768	_ struct{} `type:"structure"`
68769
68770	// Returns true if the request succeeds; otherwise, it returns an error.
68771	Return *bool `locationName:"return" type:"boolean"`
68772}
68773
68774// String returns the string representation
68775func (s DetachClassicLinkVpcOutput) String() string {
68776	return awsutil.Prettify(s)
68777}
68778
68779// GoString returns the string representation
68780func (s DetachClassicLinkVpcOutput) GoString() string {
68781	return s.String()
68782}
68783
68784// SetReturn sets the Return field's value.
68785func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
68786	s.Return = &v
68787	return s
68788}
68789
68790type DetachInternetGatewayInput struct {
68791	_ struct{} `type:"structure"`
68792
68793	// Checks whether you have the required permissions for the action, without
68794	// actually making the request, and provides an error response. If you have
68795	// the required permissions, the error response is DryRunOperation. Otherwise,
68796	// it is UnauthorizedOperation.
68797	DryRun *bool `locationName:"dryRun" type:"boolean"`
68798
68799	// The ID of the internet gateway.
68800	//
68801	// InternetGatewayId is a required field
68802	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
68803
68804	// The ID of the VPC.
68805	//
68806	// VpcId is a required field
68807	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
68808}
68809
68810// String returns the string representation
68811func (s DetachInternetGatewayInput) String() string {
68812	return awsutil.Prettify(s)
68813}
68814
68815// GoString returns the string representation
68816func (s DetachInternetGatewayInput) GoString() string {
68817	return s.String()
68818}
68819
68820// Validate inspects the fields of the type to determine if they are valid.
68821func (s *DetachInternetGatewayInput) Validate() error {
68822	invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
68823	if s.InternetGatewayId == nil {
68824		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
68825	}
68826	if s.VpcId == nil {
68827		invalidParams.Add(request.NewErrParamRequired("VpcId"))
68828	}
68829
68830	if invalidParams.Len() > 0 {
68831		return invalidParams
68832	}
68833	return nil
68834}
68835
68836// SetDryRun sets the DryRun field's value.
68837func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
68838	s.DryRun = &v
68839	return s
68840}
68841
68842// SetInternetGatewayId sets the InternetGatewayId field's value.
68843func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
68844	s.InternetGatewayId = &v
68845	return s
68846}
68847
68848// SetVpcId sets the VpcId field's value.
68849func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
68850	s.VpcId = &v
68851	return s
68852}
68853
68854type DetachInternetGatewayOutput struct {
68855	_ struct{} `type:"structure"`
68856}
68857
68858// String returns the string representation
68859func (s DetachInternetGatewayOutput) String() string {
68860	return awsutil.Prettify(s)
68861}
68862
68863// GoString returns the string representation
68864func (s DetachInternetGatewayOutput) GoString() string {
68865	return s.String()
68866}
68867
68868// Contains the parameters for DetachNetworkInterface.
68869type DetachNetworkInterfaceInput struct {
68870	_ struct{} `type:"structure"`
68871
68872	// The ID of the attachment.
68873	//
68874	// AttachmentId is a required field
68875	AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
68876
68877	// Checks whether you have the required permissions for the action, without
68878	// actually making the request, and provides an error response. If you have
68879	// the required permissions, the error response is DryRunOperation. Otherwise,
68880	// it is UnauthorizedOperation.
68881	DryRun *bool `locationName:"dryRun" type:"boolean"`
68882
68883	// Specifies whether to force a detachment.
68884	//
68885	//    * Use the Force parameter only as a last resort to detach a network interface
68886	//    from a failed instance.
68887	//
68888	//    * If you use the Force parameter to detach a network interface, you might
68889	//    not be able to attach a different network interface to the same index
68890	//    on the instance without first stopping and starting the instance.
68891	//
68892	//    * If you force the detachment of a network interface, the instance metadata
68893	//    (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
68894	//    might not get updated. This means that the attributes associated with
68895	//    the detached network interface might still be visible. The instance metadata
68896	//    will get updated when you stop and start the instance.
68897	Force *bool `locationName:"force" type:"boolean"`
68898}
68899
68900// String returns the string representation
68901func (s DetachNetworkInterfaceInput) String() string {
68902	return awsutil.Prettify(s)
68903}
68904
68905// GoString returns the string representation
68906func (s DetachNetworkInterfaceInput) GoString() string {
68907	return s.String()
68908}
68909
68910// Validate inspects the fields of the type to determine if they are valid.
68911func (s *DetachNetworkInterfaceInput) Validate() error {
68912	invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
68913	if s.AttachmentId == nil {
68914		invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
68915	}
68916
68917	if invalidParams.Len() > 0 {
68918		return invalidParams
68919	}
68920	return nil
68921}
68922
68923// SetAttachmentId sets the AttachmentId field's value.
68924func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
68925	s.AttachmentId = &v
68926	return s
68927}
68928
68929// SetDryRun sets the DryRun field's value.
68930func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
68931	s.DryRun = &v
68932	return s
68933}
68934
68935// SetForce sets the Force field's value.
68936func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
68937	s.Force = &v
68938	return s
68939}
68940
68941type DetachNetworkInterfaceOutput struct {
68942	_ struct{} `type:"structure"`
68943}
68944
68945// String returns the string representation
68946func (s DetachNetworkInterfaceOutput) String() string {
68947	return awsutil.Prettify(s)
68948}
68949
68950// GoString returns the string representation
68951func (s DetachNetworkInterfaceOutput) GoString() string {
68952	return s.String()
68953}
68954
68955type DetachVolumeInput struct {
68956	_ struct{} `type:"structure"`
68957
68958	// The device name.
68959	Device *string `type:"string"`
68960
68961	// Checks whether you have the required permissions for the action, without
68962	// actually making the request, and provides an error response. If you have
68963	// the required permissions, the error response is DryRunOperation. Otherwise,
68964	// it is UnauthorizedOperation.
68965	DryRun *bool `locationName:"dryRun" type:"boolean"`
68966
68967	// Forces detachment if the previous detachment attempt did not occur cleanly
68968	// (for example, logging into an instance, unmounting the volume, and detaching
68969	// normally). This option can lead to data loss or a corrupted file system.
68970	// Use this option only as a last resort to detach a volume from a failed instance.
68971	// The instance won't have an opportunity to flush file system caches or file
68972	// system metadata. If you use this option, you must perform file system check
68973	// and repair procedures.
68974	Force *bool `type:"boolean"`
68975
68976	// The ID of the instance. If you are detaching a Multi-Attach enabled volume,
68977	// you must specify an instance ID.
68978	InstanceId *string `type:"string"`
68979
68980	// The ID of the volume.
68981	//
68982	// VolumeId is a required field
68983	VolumeId *string `type:"string" required:"true"`
68984}
68985
68986// String returns the string representation
68987func (s DetachVolumeInput) String() string {
68988	return awsutil.Prettify(s)
68989}
68990
68991// GoString returns the string representation
68992func (s DetachVolumeInput) GoString() string {
68993	return s.String()
68994}
68995
68996// Validate inspects the fields of the type to determine if they are valid.
68997func (s *DetachVolumeInput) Validate() error {
68998	invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
68999	if s.VolumeId == nil {
69000		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
69001	}
69002
69003	if invalidParams.Len() > 0 {
69004		return invalidParams
69005	}
69006	return nil
69007}
69008
69009// SetDevice sets the Device field's value.
69010func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
69011	s.Device = &v
69012	return s
69013}
69014
69015// SetDryRun sets the DryRun field's value.
69016func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
69017	s.DryRun = &v
69018	return s
69019}
69020
69021// SetForce sets the Force field's value.
69022func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
69023	s.Force = &v
69024	return s
69025}
69026
69027// SetInstanceId sets the InstanceId field's value.
69028func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
69029	s.InstanceId = &v
69030	return s
69031}
69032
69033// SetVolumeId sets the VolumeId field's value.
69034func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
69035	s.VolumeId = &v
69036	return s
69037}
69038
69039// Contains the parameters for DetachVpnGateway.
69040type DetachVpnGatewayInput struct {
69041	_ struct{} `type:"structure"`
69042
69043	// Checks whether you have the required permissions for the action, without
69044	// actually making the request, and provides an error response. If you have
69045	// the required permissions, the error response is DryRunOperation. Otherwise,
69046	// it is UnauthorizedOperation.
69047	DryRun *bool `locationName:"dryRun" type:"boolean"`
69048
69049	// The ID of the VPC.
69050	//
69051	// VpcId is a required field
69052	VpcId *string `type:"string" required:"true"`
69053
69054	// The ID of the virtual private gateway.
69055	//
69056	// VpnGatewayId is a required field
69057	VpnGatewayId *string `type:"string" required:"true"`
69058}
69059
69060// String returns the string representation
69061func (s DetachVpnGatewayInput) String() string {
69062	return awsutil.Prettify(s)
69063}
69064
69065// GoString returns the string representation
69066func (s DetachVpnGatewayInput) GoString() string {
69067	return s.String()
69068}
69069
69070// Validate inspects the fields of the type to determine if they are valid.
69071func (s *DetachVpnGatewayInput) Validate() error {
69072	invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
69073	if s.VpcId == nil {
69074		invalidParams.Add(request.NewErrParamRequired("VpcId"))
69075	}
69076	if s.VpnGatewayId == nil {
69077		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
69078	}
69079
69080	if invalidParams.Len() > 0 {
69081		return invalidParams
69082	}
69083	return nil
69084}
69085
69086// SetDryRun sets the DryRun field's value.
69087func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
69088	s.DryRun = &v
69089	return s
69090}
69091
69092// SetVpcId sets the VpcId field's value.
69093func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
69094	s.VpcId = &v
69095	return s
69096}
69097
69098// SetVpnGatewayId sets the VpnGatewayId field's value.
69099func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
69100	s.VpnGatewayId = &v
69101	return s
69102}
69103
69104type DetachVpnGatewayOutput struct {
69105	_ struct{} `type:"structure"`
69106}
69107
69108// String returns the string representation
69109func (s DetachVpnGatewayOutput) String() string {
69110	return awsutil.Prettify(s)
69111}
69112
69113// GoString returns the string representation
69114func (s DetachVpnGatewayOutput) GoString() string {
69115	return s.String()
69116}
69117
69118// Describes a DHCP configuration option.
69119type DhcpConfiguration struct {
69120	_ struct{} `type:"structure"`
69121
69122	// The name of a DHCP option.
69123	Key *string `locationName:"key" type:"string"`
69124
69125	// One or more values for the DHCP option.
69126	Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
69127}
69128
69129// String returns the string representation
69130func (s DhcpConfiguration) String() string {
69131	return awsutil.Prettify(s)
69132}
69133
69134// GoString returns the string representation
69135func (s DhcpConfiguration) GoString() string {
69136	return s.String()
69137}
69138
69139// SetKey sets the Key field's value.
69140func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
69141	s.Key = &v
69142	return s
69143}
69144
69145// SetValues sets the Values field's value.
69146func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
69147	s.Values = v
69148	return s
69149}
69150
69151// Describes a set of DHCP options.
69152type DhcpOptions struct {
69153	_ struct{} `type:"structure"`
69154
69155	// One or more DHCP options in the set.
69156	DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
69157
69158	// The ID of the set of DHCP options.
69159	DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
69160
69161	// The ID of the AWS account that owns the DHCP options set.
69162	OwnerId *string `locationName:"ownerId" type:"string"`
69163
69164	// Any tags assigned to the DHCP options set.
69165	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
69166}
69167
69168// String returns the string representation
69169func (s DhcpOptions) String() string {
69170	return awsutil.Prettify(s)
69171}
69172
69173// GoString returns the string representation
69174func (s DhcpOptions) GoString() string {
69175	return s.String()
69176}
69177
69178// SetDhcpConfigurations sets the DhcpConfigurations field's value.
69179func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
69180	s.DhcpConfigurations = v
69181	return s
69182}
69183
69184// SetDhcpOptionsId sets the DhcpOptionsId field's value.
69185func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
69186	s.DhcpOptionsId = &v
69187	return s
69188}
69189
69190// SetOwnerId sets the OwnerId field's value.
69191func (s *DhcpOptions) SetOwnerId(v string) *DhcpOptions {
69192	s.OwnerId = &v
69193	return s
69194}
69195
69196// SetTags sets the Tags field's value.
69197func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
69198	s.Tags = v
69199	return s
69200}
69201
69202// Describes an Active Directory.
69203type DirectoryServiceAuthentication struct {
69204	_ struct{} `type:"structure"`
69205
69206	// The ID of the Active Directory used for authentication.
69207	DirectoryId *string `locationName:"directoryId" type:"string"`
69208}
69209
69210// String returns the string representation
69211func (s DirectoryServiceAuthentication) String() string {
69212	return awsutil.Prettify(s)
69213}
69214
69215// GoString returns the string representation
69216func (s DirectoryServiceAuthentication) GoString() string {
69217	return s.String()
69218}
69219
69220// SetDirectoryId sets the DirectoryId field's value.
69221func (s *DirectoryServiceAuthentication) SetDirectoryId(v string) *DirectoryServiceAuthentication {
69222	s.DirectoryId = &v
69223	return s
69224}
69225
69226// Describes the Active Directory to be used for client authentication.
69227type DirectoryServiceAuthenticationRequest struct {
69228	_ struct{} `type:"structure"`
69229
69230	// The ID of the Active Directory to be used for authentication.
69231	DirectoryId *string `type:"string"`
69232}
69233
69234// String returns the string representation
69235func (s DirectoryServiceAuthenticationRequest) String() string {
69236	return awsutil.Prettify(s)
69237}
69238
69239// GoString returns the string representation
69240func (s DirectoryServiceAuthenticationRequest) GoString() string {
69241	return s.String()
69242}
69243
69244// SetDirectoryId sets the DirectoryId field's value.
69245func (s *DirectoryServiceAuthenticationRequest) SetDirectoryId(v string) *DirectoryServiceAuthenticationRequest {
69246	s.DirectoryId = &v
69247	return s
69248}
69249
69250type DisableEbsEncryptionByDefaultInput struct {
69251	_ struct{} `type:"structure"`
69252
69253	// Checks whether you have the required permissions for the action, without
69254	// actually making the request, and provides an error response. If you have
69255	// the required permissions, the error response is DryRunOperation. Otherwise,
69256	// it is UnauthorizedOperation.
69257	DryRun *bool `type:"boolean"`
69258}
69259
69260// String returns the string representation
69261func (s DisableEbsEncryptionByDefaultInput) String() string {
69262	return awsutil.Prettify(s)
69263}
69264
69265// GoString returns the string representation
69266func (s DisableEbsEncryptionByDefaultInput) GoString() string {
69267	return s.String()
69268}
69269
69270// SetDryRun sets the DryRun field's value.
69271func (s *DisableEbsEncryptionByDefaultInput) SetDryRun(v bool) *DisableEbsEncryptionByDefaultInput {
69272	s.DryRun = &v
69273	return s
69274}
69275
69276type DisableEbsEncryptionByDefaultOutput struct {
69277	_ struct{} `type:"structure"`
69278
69279	// The updated status of encryption by default.
69280	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
69281}
69282
69283// String returns the string representation
69284func (s DisableEbsEncryptionByDefaultOutput) String() string {
69285	return awsutil.Prettify(s)
69286}
69287
69288// GoString returns the string representation
69289func (s DisableEbsEncryptionByDefaultOutput) GoString() string {
69290	return s.String()
69291}
69292
69293// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
69294func (s *DisableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *DisableEbsEncryptionByDefaultOutput {
69295	s.EbsEncryptionByDefault = &v
69296	return s
69297}
69298
69299// Contains information about the errors that occurred when disabling fast snapshot
69300// restores.
69301type DisableFastSnapshotRestoreErrorItem struct {
69302	_ struct{} `type:"structure"`
69303
69304	// The errors.
69305	FastSnapshotRestoreStateErrors []*DisableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"`
69306
69307	// The ID of the snapshot.
69308	SnapshotId *string `locationName:"snapshotId" type:"string"`
69309}
69310
69311// String returns the string representation
69312func (s DisableFastSnapshotRestoreErrorItem) String() string {
69313	return awsutil.Prettify(s)
69314}
69315
69316// GoString returns the string representation
69317func (s DisableFastSnapshotRestoreErrorItem) GoString() string {
69318	return s.String()
69319}
69320
69321// SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value.
69322func (s *DisableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*DisableFastSnapshotRestoreStateErrorItem) *DisableFastSnapshotRestoreErrorItem {
69323	s.FastSnapshotRestoreStateErrors = v
69324	return s
69325}
69326
69327// SetSnapshotId sets the SnapshotId field's value.
69328func (s *DisableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreErrorItem {
69329	s.SnapshotId = &v
69330	return s
69331}
69332
69333// Describes an error that occurred when disabling fast snapshot restores.
69334type DisableFastSnapshotRestoreStateError struct {
69335	_ struct{} `type:"structure"`
69336
69337	// The error code.
69338	Code *string `locationName:"code" type:"string"`
69339
69340	// The error message.
69341	Message *string `locationName:"message" type:"string"`
69342}
69343
69344// String returns the string representation
69345func (s DisableFastSnapshotRestoreStateError) String() string {
69346	return awsutil.Prettify(s)
69347}
69348
69349// GoString returns the string representation
69350func (s DisableFastSnapshotRestoreStateError) GoString() string {
69351	return s.String()
69352}
69353
69354// SetCode sets the Code field's value.
69355func (s *DisableFastSnapshotRestoreStateError) SetCode(v string) *DisableFastSnapshotRestoreStateError {
69356	s.Code = &v
69357	return s
69358}
69359
69360// SetMessage sets the Message field's value.
69361func (s *DisableFastSnapshotRestoreStateError) SetMessage(v string) *DisableFastSnapshotRestoreStateError {
69362	s.Message = &v
69363	return s
69364}
69365
69366// Contains information about an error that occurred when disabling fast snapshot
69367// restores.
69368type DisableFastSnapshotRestoreStateErrorItem struct {
69369	_ struct{} `type:"structure"`
69370
69371	// The Availability Zone.
69372	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
69373
69374	// The error.
69375	Error *DisableFastSnapshotRestoreStateError `locationName:"error" type:"structure"`
69376}
69377
69378// String returns the string representation
69379func (s DisableFastSnapshotRestoreStateErrorItem) String() string {
69380	return awsutil.Prettify(s)
69381}
69382
69383// GoString returns the string representation
69384func (s DisableFastSnapshotRestoreStateErrorItem) GoString() string {
69385	return s.String()
69386}
69387
69388// SetAvailabilityZone sets the AvailabilityZone field's value.
69389func (s *DisableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreStateErrorItem {
69390	s.AvailabilityZone = &v
69391	return s
69392}
69393
69394// SetError sets the Error field's value.
69395func (s *DisableFastSnapshotRestoreStateErrorItem) SetError(v *DisableFastSnapshotRestoreStateError) *DisableFastSnapshotRestoreStateErrorItem {
69396	s.Error = v
69397	return s
69398}
69399
69400// Describes fast snapshot restores that were successfully disabled.
69401type DisableFastSnapshotRestoreSuccessItem struct {
69402	_ struct{} `type:"structure"`
69403
69404	// The Availability Zone.
69405	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
69406
69407	// The time at which fast snapshot restores entered the disabled state.
69408	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
69409
69410	// The time at which fast snapshot restores entered the disabling state.
69411	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
69412
69413	// The time at which fast snapshot restores entered the enabled state.
69414	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
69415
69416	// The time at which fast snapshot restores entered the enabling state.
69417	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
69418
69419	// The time at which fast snapshot restores entered the optimizing state.
69420	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
69421
69422	// The alias of the snapshot owner.
69423	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
69424
69425	// The ID of the AWS account that owns the snapshot.
69426	OwnerId *string `locationName:"ownerId" type:"string"`
69427
69428	// The ID of the snapshot.
69429	SnapshotId *string `locationName:"snapshotId" type:"string"`
69430
69431	// The state of fast snapshot restores for the snapshot.
69432	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
69433
69434	// The reason for the state transition. The possible values are as follows:
69435	//
69436	//    * Client.UserInitiated - The state successfully transitioned to enabling
69437	//    or disabling.
69438	//
69439	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
69440	//    transitioned to optimizing, enabled, or disabled.
69441	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
69442}
69443
69444// String returns the string representation
69445func (s DisableFastSnapshotRestoreSuccessItem) String() string {
69446	return awsutil.Prettify(s)
69447}
69448
69449// GoString returns the string representation
69450func (s DisableFastSnapshotRestoreSuccessItem) GoString() string {
69451	return s.String()
69452}
69453
69454// SetAvailabilityZone sets the AvailabilityZone field's value.
69455func (s *DisableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreSuccessItem {
69456	s.AvailabilityZone = &v
69457	return s
69458}
69459
69460// SetDisabledTime sets the DisabledTime field's value.
69461func (s *DisableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
69462	s.DisabledTime = &v
69463	return s
69464}
69465
69466// SetDisablingTime sets the DisablingTime field's value.
69467func (s *DisableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
69468	s.DisablingTime = &v
69469	return s
69470}
69471
69472// SetEnabledTime sets the EnabledTime field's value.
69473func (s *DisableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
69474	s.EnabledTime = &v
69475	return s
69476}
69477
69478// SetEnablingTime sets the EnablingTime field's value.
69479func (s *DisableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
69480	s.EnablingTime = &v
69481	return s
69482}
69483
69484// SetOptimizingTime sets the OptimizingTime field's value.
69485func (s *DisableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
69486	s.OptimizingTime = &v
69487	return s
69488}
69489
69490// SetOwnerAlias sets the OwnerAlias field's value.
69491func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DisableFastSnapshotRestoreSuccessItem {
69492	s.OwnerAlias = &v
69493	return s
69494}
69495
69496// SetOwnerId sets the OwnerId field's value.
69497func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DisableFastSnapshotRestoreSuccessItem {
69498	s.OwnerId = &v
69499	return s
69500}
69501
69502// SetSnapshotId sets the SnapshotId field's value.
69503func (s *DisableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreSuccessItem {
69504	s.SnapshotId = &v
69505	return s
69506}
69507
69508// SetState sets the State field's value.
69509func (s *DisableFastSnapshotRestoreSuccessItem) SetState(v string) *DisableFastSnapshotRestoreSuccessItem {
69510	s.State = &v
69511	return s
69512}
69513
69514// SetStateTransitionReason sets the StateTransitionReason field's value.
69515func (s *DisableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DisableFastSnapshotRestoreSuccessItem {
69516	s.StateTransitionReason = &v
69517	return s
69518}
69519
69520type DisableFastSnapshotRestoresInput struct {
69521	_ struct{} `type:"structure"`
69522
69523	// One or more Availability Zones. For example, us-east-2a.
69524	//
69525	// AvailabilityZones is a required field
69526	AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"`
69527
69528	// Checks whether you have the required permissions for the action, without
69529	// actually making the request, and provides an error response. If you have
69530	// the required permissions, the error response is DryRunOperation. Otherwise,
69531	// it is UnauthorizedOperation.
69532	DryRun *bool `type:"boolean"`
69533
69534	// The IDs of one or more snapshots. For example, snap-1234567890abcdef0.
69535	//
69536	// SourceSnapshotIds is a required field
69537	SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"`
69538}
69539
69540// String returns the string representation
69541func (s DisableFastSnapshotRestoresInput) String() string {
69542	return awsutil.Prettify(s)
69543}
69544
69545// GoString returns the string representation
69546func (s DisableFastSnapshotRestoresInput) GoString() string {
69547	return s.String()
69548}
69549
69550// Validate inspects the fields of the type to determine if they are valid.
69551func (s *DisableFastSnapshotRestoresInput) Validate() error {
69552	invalidParams := request.ErrInvalidParams{Context: "DisableFastSnapshotRestoresInput"}
69553	if s.AvailabilityZones == nil {
69554		invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
69555	}
69556	if s.SourceSnapshotIds == nil {
69557		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds"))
69558	}
69559
69560	if invalidParams.Len() > 0 {
69561		return invalidParams
69562	}
69563	return nil
69564}
69565
69566// SetAvailabilityZones sets the AvailabilityZones field's value.
69567func (s *DisableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *DisableFastSnapshotRestoresInput {
69568	s.AvailabilityZones = v
69569	return s
69570}
69571
69572// SetDryRun sets the DryRun field's value.
69573func (s *DisableFastSnapshotRestoresInput) SetDryRun(v bool) *DisableFastSnapshotRestoresInput {
69574	s.DryRun = &v
69575	return s
69576}
69577
69578// SetSourceSnapshotIds sets the SourceSnapshotIds field's value.
69579func (s *DisableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *DisableFastSnapshotRestoresInput {
69580	s.SourceSnapshotIds = v
69581	return s
69582}
69583
69584type DisableFastSnapshotRestoresOutput struct {
69585	_ struct{} `type:"structure"`
69586
69587	// Information about the snapshots for which fast snapshot restores were successfully
69588	// disabled.
69589	Successful []*DisableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"`
69590
69591	// Information about the snapshots for which fast snapshot restores could not
69592	// be disabled.
69593	Unsuccessful []*DisableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
69594}
69595
69596// String returns the string representation
69597func (s DisableFastSnapshotRestoresOutput) String() string {
69598	return awsutil.Prettify(s)
69599}
69600
69601// GoString returns the string representation
69602func (s DisableFastSnapshotRestoresOutput) GoString() string {
69603	return s.String()
69604}
69605
69606// SetSuccessful sets the Successful field's value.
69607func (s *DisableFastSnapshotRestoresOutput) SetSuccessful(v []*DisableFastSnapshotRestoreSuccessItem) *DisableFastSnapshotRestoresOutput {
69608	s.Successful = v
69609	return s
69610}
69611
69612// SetUnsuccessful sets the Unsuccessful field's value.
69613func (s *DisableFastSnapshotRestoresOutput) SetUnsuccessful(v []*DisableFastSnapshotRestoreErrorItem) *DisableFastSnapshotRestoresOutput {
69614	s.Unsuccessful = v
69615	return s
69616}
69617
69618type DisableTransitGatewayRouteTablePropagationInput struct {
69619	_ struct{} `type:"structure"`
69620
69621	// Checks whether you have the required permissions for the action, without
69622	// actually making the request, and provides an error response. If you have
69623	// the required permissions, the error response is DryRunOperation. Otherwise,
69624	// it is UnauthorizedOperation.
69625	DryRun *bool `type:"boolean"`
69626
69627	// The ID of the attachment.
69628	//
69629	// TransitGatewayAttachmentId is a required field
69630	TransitGatewayAttachmentId *string `type:"string" required:"true"`
69631
69632	// The ID of the propagation route table.
69633	//
69634	// TransitGatewayRouteTableId is a required field
69635	TransitGatewayRouteTableId *string `type:"string" required:"true"`
69636}
69637
69638// String returns the string representation
69639func (s DisableTransitGatewayRouteTablePropagationInput) String() string {
69640	return awsutil.Prettify(s)
69641}
69642
69643// GoString returns the string representation
69644func (s DisableTransitGatewayRouteTablePropagationInput) GoString() string {
69645	return s.String()
69646}
69647
69648// Validate inspects the fields of the type to determine if they are valid.
69649func (s *DisableTransitGatewayRouteTablePropagationInput) Validate() error {
69650	invalidParams := request.ErrInvalidParams{Context: "DisableTransitGatewayRouteTablePropagationInput"}
69651	if s.TransitGatewayAttachmentId == nil {
69652		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
69653	}
69654	if s.TransitGatewayRouteTableId == nil {
69655		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
69656	}
69657
69658	if invalidParams.Len() > 0 {
69659		return invalidParams
69660	}
69661	return nil
69662}
69663
69664// SetDryRun sets the DryRun field's value.
69665func (s *DisableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *DisableTransitGatewayRouteTablePropagationInput {
69666	s.DryRun = &v
69667	return s
69668}
69669
69670// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
69671func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *DisableTransitGatewayRouteTablePropagationInput {
69672	s.TransitGatewayAttachmentId = &v
69673	return s
69674}
69675
69676// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
69677func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *DisableTransitGatewayRouteTablePropagationInput {
69678	s.TransitGatewayRouteTableId = &v
69679	return s
69680}
69681
69682type DisableTransitGatewayRouteTablePropagationOutput struct {
69683	_ struct{} `type:"structure"`
69684
69685	// Information about route propagation.
69686	Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
69687}
69688
69689// String returns the string representation
69690func (s DisableTransitGatewayRouteTablePropagationOutput) String() string {
69691	return awsutil.Prettify(s)
69692}
69693
69694// GoString returns the string representation
69695func (s DisableTransitGatewayRouteTablePropagationOutput) GoString() string {
69696	return s.String()
69697}
69698
69699// SetPropagation sets the Propagation field's value.
69700func (s *DisableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *DisableTransitGatewayRouteTablePropagationOutput {
69701	s.Propagation = v
69702	return s
69703}
69704
69705// Contains the parameters for DisableVgwRoutePropagation.
69706type DisableVgwRoutePropagationInput struct {
69707	_ struct{} `type:"structure"`
69708
69709	// Checks whether you have the required permissions for the action, without
69710	// actually making the request, and provides an error response. If you have
69711	// the required permissions, the error response is DryRunOperation. Otherwise,
69712	// it is UnauthorizedOperation.
69713	DryRun *bool `type:"boolean"`
69714
69715	// The ID of the virtual private gateway.
69716	//
69717	// GatewayId is a required field
69718	GatewayId *string `type:"string" required:"true"`
69719
69720	// The ID of the route table.
69721	//
69722	// RouteTableId is a required field
69723	RouteTableId *string `type:"string" required:"true"`
69724}
69725
69726// String returns the string representation
69727func (s DisableVgwRoutePropagationInput) String() string {
69728	return awsutil.Prettify(s)
69729}
69730
69731// GoString returns the string representation
69732func (s DisableVgwRoutePropagationInput) GoString() string {
69733	return s.String()
69734}
69735
69736// Validate inspects the fields of the type to determine if they are valid.
69737func (s *DisableVgwRoutePropagationInput) Validate() error {
69738	invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
69739	if s.GatewayId == nil {
69740		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
69741	}
69742	if s.RouteTableId == nil {
69743		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
69744	}
69745
69746	if invalidParams.Len() > 0 {
69747		return invalidParams
69748	}
69749	return nil
69750}
69751
69752// SetDryRun sets the DryRun field's value.
69753func (s *DisableVgwRoutePropagationInput) SetDryRun(v bool) *DisableVgwRoutePropagationInput {
69754	s.DryRun = &v
69755	return s
69756}
69757
69758// SetGatewayId sets the GatewayId field's value.
69759func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
69760	s.GatewayId = &v
69761	return s
69762}
69763
69764// SetRouteTableId sets the RouteTableId field's value.
69765func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
69766	s.RouteTableId = &v
69767	return s
69768}
69769
69770type DisableVgwRoutePropagationOutput struct {
69771	_ struct{} `type:"structure"`
69772}
69773
69774// String returns the string representation
69775func (s DisableVgwRoutePropagationOutput) String() string {
69776	return awsutil.Prettify(s)
69777}
69778
69779// GoString returns the string representation
69780func (s DisableVgwRoutePropagationOutput) GoString() string {
69781	return s.String()
69782}
69783
69784type DisableVpcClassicLinkDnsSupportInput struct {
69785	_ struct{} `type:"structure"`
69786
69787	// The ID of the VPC.
69788	VpcId *string `type:"string"`
69789}
69790
69791// String returns the string representation
69792func (s DisableVpcClassicLinkDnsSupportInput) String() string {
69793	return awsutil.Prettify(s)
69794}
69795
69796// GoString returns the string representation
69797func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
69798	return s.String()
69799}
69800
69801// SetVpcId sets the VpcId field's value.
69802func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
69803	s.VpcId = &v
69804	return s
69805}
69806
69807type DisableVpcClassicLinkDnsSupportOutput struct {
69808	_ struct{} `type:"structure"`
69809
69810	// Returns true if the request succeeds; otherwise, it returns an error.
69811	Return *bool `locationName:"return" type:"boolean"`
69812}
69813
69814// String returns the string representation
69815func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
69816	return awsutil.Prettify(s)
69817}
69818
69819// GoString returns the string representation
69820func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
69821	return s.String()
69822}
69823
69824// SetReturn sets the Return field's value.
69825func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
69826	s.Return = &v
69827	return s
69828}
69829
69830type DisableVpcClassicLinkInput 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 `locationName:"dryRun" type:"boolean"`
69838
69839	// The ID of the VPC.
69840	//
69841	// VpcId is a required field
69842	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
69843}
69844
69845// String returns the string representation
69846func (s DisableVpcClassicLinkInput) String() string {
69847	return awsutil.Prettify(s)
69848}
69849
69850// GoString returns the string representation
69851func (s DisableVpcClassicLinkInput) GoString() string {
69852	return s.String()
69853}
69854
69855// Validate inspects the fields of the type to determine if they are valid.
69856func (s *DisableVpcClassicLinkInput) Validate() error {
69857	invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
69858	if s.VpcId == nil {
69859		invalidParams.Add(request.NewErrParamRequired("VpcId"))
69860	}
69861
69862	if invalidParams.Len() > 0 {
69863		return invalidParams
69864	}
69865	return nil
69866}
69867
69868// SetDryRun sets the DryRun field's value.
69869func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
69870	s.DryRun = &v
69871	return s
69872}
69873
69874// SetVpcId sets the VpcId field's value.
69875func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
69876	s.VpcId = &v
69877	return s
69878}
69879
69880type DisableVpcClassicLinkOutput struct {
69881	_ struct{} `type:"structure"`
69882
69883	// Returns true if the request succeeds; otherwise, it returns an error.
69884	Return *bool `locationName:"return" type:"boolean"`
69885}
69886
69887// String returns the string representation
69888func (s DisableVpcClassicLinkOutput) String() string {
69889	return awsutil.Prettify(s)
69890}
69891
69892// GoString returns the string representation
69893func (s DisableVpcClassicLinkOutput) GoString() string {
69894	return s.String()
69895}
69896
69897// SetReturn sets the Return field's value.
69898func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
69899	s.Return = &v
69900	return s
69901}
69902
69903type DisassociateAddressInput struct {
69904	_ struct{} `type:"structure"`
69905
69906	// [EC2-VPC] The association ID. Required for EC2-VPC.
69907	AssociationId *string `type:"string"`
69908
69909	// Checks whether you have the required permissions for the action, without
69910	// actually making the request, and provides an error response. If you have
69911	// the required permissions, the error response is DryRunOperation. Otherwise,
69912	// it is UnauthorizedOperation.
69913	DryRun *bool `locationName:"dryRun" type:"boolean"`
69914
69915	// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
69916	PublicIp *string `type:"string"`
69917}
69918
69919// String returns the string representation
69920func (s DisassociateAddressInput) String() string {
69921	return awsutil.Prettify(s)
69922}
69923
69924// GoString returns the string representation
69925func (s DisassociateAddressInput) GoString() string {
69926	return s.String()
69927}
69928
69929// SetAssociationId sets the AssociationId field's value.
69930func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
69931	s.AssociationId = &v
69932	return s
69933}
69934
69935// SetDryRun sets the DryRun field's value.
69936func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
69937	s.DryRun = &v
69938	return s
69939}
69940
69941// SetPublicIp sets the PublicIp field's value.
69942func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
69943	s.PublicIp = &v
69944	return s
69945}
69946
69947type DisassociateAddressOutput struct {
69948	_ struct{} `type:"structure"`
69949}
69950
69951// String returns the string representation
69952func (s DisassociateAddressOutput) String() string {
69953	return awsutil.Prettify(s)
69954}
69955
69956// GoString returns the string representation
69957func (s DisassociateAddressOutput) GoString() string {
69958	return s.String()
69959}
69960
69961type DisassociateClientVpnTargetNetworkInput struct {
69962	_ struct{} `type:"structure"`
69963
69964	// The ID of the target network association.
69965	//
69966	// AssociationId is a required field
69967	AssociationId *string `type:"string" required:"true"`
69968
69969	// The ID of the Client VPN endpoint from which to disassociate the target network.
69970	//
69971	// ClientVpnEndpointId is a required field
69972	ClientVpnEndpointId *string `type:"string" required:"true"`
69973
69974	// Checks whether you have the required permissions for the action, without
69975	// actually making the request, and provides an error response. If you have
69976	// the required permissions, the error response is DryRunOperation. Otherwise,
69977	// it is UnauthorizedOperation.
69978	DryRun *bool `type:"boolean"`
69979}
69980
69981// String returns the string representation
69982func (s DisassociateClientVpnTargetNetworkInput) String() string {
69983	return awsutil.Prettify(s)
69984}
69985
69986// GoString returns the string representation
69987func (s DisassociateClientVpnTargetNetworkInput) GoString() string {
69988	return s.String()
69989}
69990
69991// Validate inspects the fields of the type to determine if they are valid.
69992func (s *DisassociateClientVpnTargetNetworkInput) Validate() error {
69993	invalidParams := request.ErrInvalidParams{Context: "DisassociateClientVpnTargetNetworkInput"}
69994	if s.AssociationId == nil {
69995		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
69996	}
69997	if s.ClientVpnEndpointId == nil {
69998		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
69999	}
70000
70001	if invalidParams.Len() > 0 {
70002		return invalidParams
70003	}
70004	return nil
70005}
70006
70007// SetAssociationId sets the AssociationId field's value.
70008func (s *DisassociateClientVpnTargetNetworkInput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkInput {
70009	s.AssociationId = &v
70010	return s
70011}
70012
70013// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
70014func (s *DisassociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *DisassociateClientVpnTargetNetworkInput {
70015	s.ClientVpnEndpointId = &v
70016	return s
70017}
70018
70019// SetDryRun sets the DryRun field's value.
70020func (s *DisassociateClientVpnTargetNetworkInput) SetDryRun(v bool) *DisassociateClientVpnTargetNetworkInput {
70021	s.DryRun = &v
70022	return s
70023}
70024
70025type DisassociateClientVpnTargetNetworkOutput struct {
70026	_ struct{} `type:"structure"`
70027
70028	// The ID of the target network association.
70029	AssociationId *string `locationName:"associationId" type:"string"`
70030
70031	// The current state of the target network association.
70032	Status *AssociationStatus `locationName:"status" type:"structure"`
70033}
70034
70035// String returns the string representation
70036func (s DisassociateClientVpnTargetNetworkOutput) String() string {
70037	return awsutil.Prettify(s)
70038}
70039
70040// GoString returns the string representation
70041func (s DisassociateClientVpnTargetNetworkOutput) GoString() string {
70042	return s.String()
70043}
70044
70045// SetAssociationId sets the AssociationId field's value.
70046func (s *DisassociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkOutput {
70047	s.AssociationId = &v
70048	return s
70049}
70050
70051// SetStatus sets the Status field's value.
70052func (s *DisassociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *DisassociateClientVpnTargetNetworkOutput {
70053	s.Status = v
70054	return s
70055}
70056
70057type DisassociateIamInstanceProfileInput struct {
70058	_ struct{} `type:"structure"`
70059
70060	// The ID of the IAM instance profile association.
70061	//
70062	// AssociationId is a required field
70063	AssociationId *string `type:"string" required:"true"`
70064}
70065
70066// String returns the string representation
70067func (s DisassociateIamInstanceProfileInput) String() string {
70068	return awsutil.Prettify(s)
70069}
70070
70071// GoString returns the string representation
70072func (s DisassociateIamInstanceProfileInput) GoString() string {
70073	return s.String()
70074}
70075
70076// Validate inspects the fields of the type to determine if they are valid.
70077func (s *DisassociateIamInstanceProfileInput) Validate() error {
70078	invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
70079	if s.AssociationId == nil {
70080		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
70081	}
70082
70083	if invalidParams.Len() > 0 {
70084		return invalidParams
70085	}
70086	return nil
70087}
70088
70089// SetAssociationId sets the AssociationId field's value.
70090func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
70091	s.AssociationId = &v
70092	return s
70093}
70094
70095type DisassociateIamInstanceProfileOutput struct {
70096	_ struct{} `type:"structure"`
70097
70098	// Information about the IAM instance profile association.
70099	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
70100}
70101
70102// String returns the string representation
70103func (s DisassociateIamInstanceProfileOutput) String() string {
70104	return awsutil.Prettify(s)
70105}
70106
70107// GoString returns the string representation
70108func (s DisassociateIamInstanceProfileOutput) GoString() string {
70109	return s.String()
70110}
70111
70112// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
70113func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
70114	s.IamInstanceProfileAssociation = v
70115	return s
70116}
70117
70118type DisassociateRouteTableInput struct {
70119	_ struct{} `type:"structure"`
70120
70121	// The association ID representing the current association between the route
70122	// table and subnet.
70123	//
70124	// AssociationId is a required field
70125	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
70126
70127	// Checks whether you have the required permissions for the action, without
70128	// actually making the request, and provides an error response. If you have
70129	// the required permissions, the error response is DryRunOperation. Otherwise,
70130	// it is UnauthorizedOperation.
70131	DryRun *bool `locationName:"dryRun" type:"boolean"`
70132}
70133
70134// String returns the string representation
70135func (s DisassociateRouteTableInput) String() string {
70136	return awsutil.Prettify(s)
70137}
70138
70139// GoString returns the string representation
70140func (s DisassociateRouteTableInput) GoString() string {
70141	return s.String()
70142}
70143
70144// Validate inspects the fields of the type to determine if they are valid.
70145func (s *DisassociateRouteTableInput) Validate() error {
70146	invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
70147	if s.AssociationId == nil {
70148		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
70149	}
70150
70151	if invalidParams.Len() > 0 {
70152		return invalidParams
70153	}
70154	return nil
70155}
70156
70157// SetAssociationId sets the AssociationId field's value.
70158func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
70159	s.AssociationId = &v
70160	return s
70161}
70162
70163// SetDryRun sets the DryRun field's value.
70164func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
70165	s.DryRun = &v
70166	return s
70167}
70168
70169type DisassociateRouteTableOutput struct {
70170	_ struct{} `type:"structure"`
70171}
70172
70173// String returns the string representation
70174func (s DisassociateRouteTableOutput) String() string {
70175	return awsutil.Prettify(s)
70176}
70177
70178// GoString returns the string representation
70179func (s DisassociateRouteTableOutput) GoString() string {
70180	return s.String()
70181}
70182
70183type DisassociateSubnetCidrBlockInput struct {
70184	_ struct{} `type:"structure"`
70185
70186	// The association ID for the CIDR block.
70187	//
70188	// AssociationId is a required field
70189	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
70190}
70191
70192// String returns the string representation
70193func (s DisassociateSubnetCidrBlockInput) String() string {
70194	return awsutil.Prettify(s)
70195}
70196
70197// GoString returns the string representation
70198func (s DisassociateSubnetCidrBlockInput) GoString() string {
70199	return s.String()
70200}
70201
70202// Validate inspects the fields of the type to determine if they are valid.
70203func (s *DisassociateSubnetCidrBlockInput) Validate() error {
70204	invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
70205	if s.AssociationId == nil {
70206		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
70207	}
70208
70209	if invalidParams.Len() > 0 {
70210		return invalidParams
70211	}
70212	return nil
70213}
70214
70215// SetAssociationId sets the AssociationId field's value.
70216func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
70217	s.AssociationId = &v
70218	return s
70219}
70220
70221type DisassociateSubnetCidrBlockOutput struct {
70222	_ struct{} `type:"structure"`
70223
70224	// Information about the IPv6 CIDR block association.
70225	Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
70226
70227	// The ID of the subnet.
70228	SubnetId *string `locationName:"subnetId" type:"string"`
70229}
70230
70231// String returns the string representation
70232func (s DisassociateSubnetCidrBlockOutput) String() string {
70233	return awsutil.Prettify(s)
70234}
70235
70236// GoString returns the string representation
70237func (s DisassociateSubnetCidrBlockOutput) GoString() string {
70238	return s.String()
70239}
70240
70241// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
70242func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
70243	s.Ipv6CidrBlockAssociation = v
70244	return s
70245}
70246
70247// SetSubnetId sets the SubnetId field's value.
70248func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
70249	s.SubnetId = &v
70250	return s
70251}
70252
70253type DisassociateTransitGatewayMulticastDomainInput struct {
70254	_ struct{} `type:"structure"`
70255
70256	// Checks whether you have the required permissions for the action, without
70257	// actually making the request, and provides an error response. If you have
70258	// the required permissions, the error response is DryRunOperation. Otherwise,
70259	// it is UnauthorizedOperation.
70260	DryRun *bool `type:"boolean"`
70261
70262	// The IDs of the subnets;
70263	SubnetIds []*string `locationNameList:"item" type:"list"`
70264
70265	// The ID of the attachment.
70266	TransitGatewayAttachmentId *string `type:"string"`
70267
70268	// The ID of the transit gateway multicast domain.
70269	TransitGatewayMulticastDomainId *string `type:"string"`
70270}
70271
70272// String returns the string representation
70273func (s DisassociateTransitGatewayMulticastDomainInput) String() string {
70274	return awsutil.Prettify(s)
70275}
70276
70277// GoString returns the string representation
70278func (s DisassociateTransitGatewayMulticastDomainInput) GoString() string {
70279	return s.String()
70280}
70281
70282// SetDryRun sets the DryRun field's value.
70283func (s *DisassociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DisassociateTransitGatewayMulticastDomainInput {
70284	s.DryRun = &v
70285	return s
70286}
70287
70288// SetSubnetIds sets the SubnetIds field's value.
70289func (s *DisassociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *DisassociateTransitGatewayMulticastDomainInput {
70290	s.SubnetIds = v
70291	return s
70292}
70293
70294// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
70295func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayMulticastDomainInput {
70296	s.TransitGatewayAttachmentId = &v
70297	return s
70298}
70299
70300// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
70301func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DisassociateTransitGatewayMulticastDomainInput {
70302	s.TransitGatewayMulticastDomainId = &v
70303	return s
70304}
70305
70306type DisassociateTransitGatewayMulticastDomainOutput struct {
70307	_ struct{} `type:"structure"`
70308
70309	// Information about the association.
70310	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
70311}
70312
70313// String returns the string representation
70314func (s DisassociateTransitGatewayMulticastDomainOutput) String() string {
70315	return awsutil.Prettify(s)
70316}
70317
70318// GoString returns the string representation
70319func (s DisassociateTransitGatewayMulticastDomainOutput) GoString() string {
70320	return s.String()
70321}
70322
70323// SetAssociations sets the Associations field's value.
70324func (s *DisassociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *DisassociateTransitGatewayMulticastDomainOutput {
70325	s.Associations = v
70326	return s
70327}
70328
70329type DisassociateTransitGatewayRouteTableInput struct {
70330	_ struct{} `type:"structure"`
70331
70332	// Checks whether you have the required permissions for the action, without
70333	// actually making the request, and provides an error response. If you have
70334	// the required permissions, the error response is DryRunOperation. Otherwise,
70335	// it is UnauthorizedOperation.
70336	DryRun *bool `type:"boolean"`
70337
70338	// The ID of the attachment.
70339	//
70340	// TransitGatewayAttachmentId is a required field
70341	TransitGatewayAttachmentId *string `type:"string" required:"true"`
70342
70343	// The ID of the transit gateway route table.
70344	//
70345	// TransitGatewayRouteTableId is a required field
70346	TransitGatewayRouteTableId *string `type:"string" required:"true"`
70347}
70348
70349// String returns the string representation
70350func (s DisassociateTransitGatewayRouteTableInput) String() string {
70351	return awsutil.Prettify(s)
70352}
70353
70354// GoString returns the string representation
70355func (s DisassociateTransitGatewayRouteTableInput) GoString() string {
70356	return s.String()
70357}
70358
70359// Validate inspects the fields of the type to determine if they are valid.
70360func (s *DisassociateTransitGatewayRouteTableInput) Validate() error {
70361	invalidParams := request.ErrInvalidParams{Context: "DisassociateTransitGatewayRouteTableInput"}
70362	if s.TransitGatewayAttachmentId == nil {
70363		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
70364	}
70365	if s.TransitGatewayRouteTableId == nil {
70366		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
70367	}
70368
70369	if invalidParams.Len() > 0 {
70370		return invalidParams
70371	}
70372	return nil
70373}
70374
70375// SetDryRun sets the DryRun field's value.
70376func (s *DisassociateTransitGatewayRouteTableInput) SetDryRun(v bool) *DisassociateTransitGatewayRouteTableInput {
70377	s.DryRun = &v
70378	return s
70379}
70380
70381// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
70382func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayRouteTableInput {
70383	s.TransitGatewayAttachmentId = &v
70384	return s
70385}
70386
70387// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
70388func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DisassociateTransitGatewayRouteTableInput {
70389	s.TransitGatewayRouteTableId = &v
70390	return s
70391}
70392
70393type DisassociateTransitGatewayRouteTableOutput struct {
70394	_ struct{} `type:"structure"`
70395
70396	// Information about the association.
70397	Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
70398}
70399
70400// String returns the string representation
70401func (s DisassociateTransitGatewayRouteTableOutput) String() string {
70402	return awsutil.Prettify(s)
70403}
70404
70405// GoString returns the string representation
70406func (s DisassociateTransitGatewayRouteTableOutput) GoString() string {
70407	return s.String()
70408}
70409
70410// SetAssociation sets the Association field's value.
70411func (s *DisassociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *DisassociateTransitGatewayRouteTableOutput {
70412	s.Association = v
70413	return s
70414}
70415
70416type DisassociateVpcCidrBlockInput struct {
70417	_ struct{} `type:"structure"`
70418
70419	// The association ID for the CIDR block.
70420	//
70421	// AssociationId is a required field
70422	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
70423}
70424
70425// String returns the string representation
70426func (s DisassociateVpcCidrBlockInput) String() string {
70427	return awsutil.Prettify(s)
70428}
70429
70430// GoString returns the string representation
70431func (s DisassociateVpcCidrBlockInput) GoString() string {
70432	return s.String()
70433}
70434
70435// Validate inspects the fields of the type to determine if they are valid.
70436func (s *DisassociateVpcCidrBlockInput) Validate() error {
70437	invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
70438	if s.AssociationId == nil {
70439		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
70440	}
70441
70442	if invalidParams.Len() > 0 {
70443		return invalidParams
70444	}
70445	return nil
70446}
70447
70448// SetAssociationId sets the AssociationId field's value.
70449func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
70450	s.AssociationId = &v
70451	return s
70452}
70453
70454type DisassociateVpcCidrBlockOutput struct {
70455	_ struct{} `type:"structure"`
70456
70457	// Information about the IPv4 CIDR block association.
70458	CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
70459
70460	// Information about the IPv6 CIDR block association.
70461	Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
70462
70463	// The ID of the VPC.
70464	VpcId *string `locationName:"vpcId" type:"string"`
70465}
70466
70467// String returns the string representation
70468func (s DisassociateVpcCidrBlockOutput) String() string {
70469	return awsutil.Prettify(s)
70470}
70471
70472// GoString returns the string representation
70473func (s DisassociateVpcCidrBlockOutput) GoString() string {
70474	return s.String()
70475}
70476
70477// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
70478func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
70479	s.CidrBlockAssociation = v
70480	return s
70481}
70482
70483// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
70484func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
70485	s.Ipv6CidrBlockAssociation = v
70486	return s
70487}
70488
70489// SetVpcId sets the VpcId field's value.
70490func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
70491	s.VpcId = &v
70492	return s
70493}
70494
70495// Describes a disk image.
70496type DiskImage struct {
70497	_ struct{} `type:"structure"`
70498
70499	// A description of the disk image.
70500	Description *string `type:"string"`
70501
70502	// Information about the disk image.
70503	Image *DiskImageDetail `type:"structure"`
70504
70505	// Information about the volume.
70506	Volume *VolumeDetail `type:"structure"`
70507}
70508
70509// String returns the string representation
70510func (s DiskImage) String() string {
70511	return awsutil.Prettify(s)
70512}
70513
70514// GoString returns the string representation
70515func (s DiskImage) GoString() string {
70516	return s.String()
70517}
70518
70519// Validate inspects the fields of the type to determine if they are valid.
70520func (s *DiskImage) Validate() error {
70521	invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
70522	if s.Image != nil {
70523		if err := s.Image.Validate(); err != nil {
70524			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
70525		}
70526	}
70527	if s.Volume != nil {
70528		if err := s.Volume.Validate(); err != nil {
70529			invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
70530		}
70531	}
70532
70533	if invalidParams.Len() > 0 {
70534		return invalidParams
70535	}
70536	return nil
70537}
70538
70539// SetDescription sets the Description field's value.
70540func (s *DiskImage) SetDescription(v string) *DiskImage {
70541	s.Description = &v
70542	return s
70543}
70544
70545// SetImage sets the Image field's value.
70546func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
70547	s.Image = v
70548	return s
70549}
70550
70551// SetVolume sets the Volume field's value.
70552func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
70553	s.Volume = v
70554	return s
70555}
70556
70557// Describes a disk image.
70558type DiskImageDescription struct {
70559	_ struct{} `type:"structure"`
70560
70561	// The checksum computed for the disk image.
70562	Checksum *string `locationName:"checksum" type:"string"`
70563
70564	// The disk image format.
70565	Format *string `locationName:"format" type:"string" enum:"DiskImageFormat"`
70566
70567	// A presigned URL for the import manifest stored in Amazon S3. For information
70568	// about creating a presigned URL for an Amazon S3 object, read the "Query String
70569	// Request Authentication Alternative" section of the Authenticating REST Requests
70570	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
70571	// topic in the Amazon Simple Storage Service Developer Guide.
70572	//
70573	// For information about the import manifest referenced by this API action,
70574	// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
70575	ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"`
70576
70577	// The size of the disk image, in GiB.
70578	Size *int64 `locationName:"size" type:"long"`
70579}
70580
70581// String returns the string representation
70582func (s DiskImageDescription) String() string {
70583	return awsutil.Prettify(s)
70584}
70585
70586// GoString returns the string representation
70587func (s DiskImageDescription) GoString() string {
70588	return s.String()
70589}
70590
70591// SetChecksum sets the Checksum field's value.
70592func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
70593	s.Checksum = &v
70594	return s
70595}
70596
70597// SetFormat sets the Format field's value.
70598func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
70599	s.Format = &v
70600	return s
70601}
70602
70603// SetImportManifestUrl sets the ImportManifestUrl field's value.
70604func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
70605	s.ImportManifestUrl = &v
70606	return s
70607}
70608
70609// SetSize sets the Size field's value.
70610func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
70611	s.Size = &v
70612	return s
70613}
70614
70615// Describes a disk image.
70616type DiskImageDetail struct {
70617	_ struct{} `type:"structure"`
70618
70619	// The size of the disk image, in GiB.
70620	//
70621	// Bytes is a required field
70622	Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
70623
70624	// The disk image format.
70625	//
70626	// Format is a required field
70627	Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
70628
70629	// A presigned URL for the import manifest stored in Amazon S3 and presented
70630	// here as an Amazon S3 presigned URL. For information about creating a presigned
70631	// URL for an Amazon S3 object, read the "Query String Request Authentication
70632	// Alternative" section of the Authenticating REST Requests (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
70633	// topic in the Amazon Simple Storage Service Developer Guide.
70634	//
70635	// For information about the import manifest referenced by this API action,
70636	// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
70637	//
70638	// ImportManifestUrl is a required field
70639	ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
70640}
70641
70642// String returns the string representation
70643func (s DiskImageDetail) String() string {
70644	return awsutil.Prettify(s)
70645}
70646
70647// GoString returns the string representation
70648func (s DiskImageDetail) GoString() string {
70649	return s.String()
70650}
70651
70652// Validate inspects the fields of the type to determine if they are valid.
70653func (s *DiskImageDetail) Validate() error {
70654	invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
70655	if s.Bytes == nil {
70656		invalidParams.Add(request.NewErrParamRequired("Bytes"))
70657	}
70658	if s.Format == nil {
70659		invalidParams.Add(request.NewErrParamRequired("Format"))
70660	}
70661	if s.ImportManifestUrl == nil {
70662		invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
70663	}
70664
70665	if invalidParams.Len() > 0 {
70666		return invalidParams
70667	}
70668	return nil
70669}
70670
70671// SetBytes sets the Bytes field's value.
70672func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
70673	s.Bytes = &v
70674	return s
70675}
70676
70677// SetFormat sets the Format field's value.
70678func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
70679	s.Format = &v
70680	return s
70681}
70682
70683// SetImportManifestUrl sets the ImportManifestUrl field's value.
70684func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
70685	s.ImportManifestUrl = &v
70686	return s
70687}
70688
70689// Describes a disk image volume.
70690type DiskImageVolumeDescription struct {
70691	_ struct{} `type:"structure"`
70692
70693	// The volume identifier.
70694	Id *string `locationName:"id" type:"string"`
70695
70696	// The size of the volume, in GiB.
70697	Size *int64 `locationName:"size" type:"long"`
70698}
70699
70700// String returns the string representation
70701func (s DiskImageVolumeDescription) String() string {
70702	return awsutil.Prettify(s)
70703}
70704
70705// GoString returns the string representation
70706func (s DiskImageVolumeDescription) GoString() string {
70707	return s.String()
70708}
70709
70710// SetId sets the Id field's value.
70711func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
70712	s.Id = &v
70713	return s
70714}
70715
70716// SetSize sets the Size field's value.
70717func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
70718	s.Size = &v
70719	return s
70720}
70721
70722// Describes the disk.
70723type DiskInfo struct {
70724	_ struct{} `type:"structure"`
70725
70726	// The number of disks with this configuration.
70727	Count *int64 `locationName:"count" type:"integer"`
70728
70729	// The size of the disk in GB.
70730	SizeInGB *int64 `locationName:"sizeInGB" type:"long"`
70731
70732	// The type of disk.
70733	Type *string `locationName:"type" type:"string" enum:"DiskType"`
70734}
70735
70736// String returns the string representation
70737func (s DiskInfo) String() string {
70738	return awsutil.Prettify(s)
70739}
70740
70741// GoString returns the string representation
70742func (s DiskInfo) GoString() string {
70743	return s.String()
70744}
70745
70746// SetCount sets the Count field's value.
70747func (s *DiskInfo) SetCount(v int64) *DiskInfo {
70748	s.Count = &v
70749	return s
70750}
70751
70752// SetSizeInGB sets the SizeInGB field's value.
70753func (s *DiskInfo) SetSizeInGB(v int64) *DiskInfo {
70754	s.SizeInGB = &v
70755	return s
70756}
70757
70758// SetType sets the Type field's value.
70759func (s *DiskInfo) SetType(v string) *DiskInfo {
70760	s.Type = &v
70761	return s
70762}
70763
70764// Describes a DNS entry.
70765type DnsEntry struct {
70766	_ struct{} `type:"structure"`
70767
70768	// The DNS name.
70769	DnsName *string `locationName:"dnsName" type:"string"`
70770
70771	// The ID of the private hosted zone.
70772	HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
70773}
70774
70775// String returns the string representation
70776func (s DnsEntry) String() string {
70777	return awsutil.Prettify(s)
70778}
70779
70780// GoString returns the string representation
70781func (s DnsEntry) GoString() string {
70782	return s.String()
70783}
70784
70785// SetDnsName sets the DnsName field's value.
70786func (s *DnsEntry) SetDnsName(v string) *DnsEntry {
70787	s.DnsName = &v
70788	return s
70789}
70790
70791// SetHostedZoneId sets the HostedZoneId field's value.
70792func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry {
70793	s.HostedZoneId = &v
70794	return s
70795}
70796
70797// Information about the DNS server to be used.
70798type DnsServersOptionsModifyStructure struct {
70799	_ struct{} `type:"structure"`
70800
70801	// The IPv4 address range, in CIDR notation, of the DNS servers to be used.
70802	// You can specify up to two DNS servers. Ensure that the DNS servers can be
70803	// reached by the clients. The specified values overwrite the existing values.
70804	CustomDnsServers []*string `locationNameList:"item" type:"list"`
70805
70806	// Indicates whether DNS servers should be used. Specify False to delete the
70807	// existing DNS servers.
70808	Enabled *bool `type:"boolean"`
70809}
70810
70811// String returns the string representation
70812func (s DnsServersOptionsModifyStructure) String() string {
70813	return awsutil.Prettify(s)
70814}
70815
70816// GoString returns the string representation
70817func (s DnsServersOptionsModifyStructure) GoString() string {
70818	return s.String()
70819}
70820
70821// SetCustomDnsServers sets the CustomDnsServers field's value.
70822func (s *DnsServersOptionsModifyStructure) SetCustomDnsServers(v []*string) *DnsServersOptionsModifyStructure {
70823	s.CustomDnsServers = v
70824	return s
70825}
70826
70827// SetEnabled sets the Enabled field's value.
70828func (s *DnsServersOptionsModifyStructure) SetEnabled(v bool) *DnsServersOptionsModifyStructure {
70829	s.Enabled = &v
70830	return s
70831}
70832
70833// Describes a block device for an EBS volume.
70834type EbsBlockDevice struct {
70835	_ struct{} `type:"structure"`
70836
70837	// Indicates whether the EBS volume is deleted on instance termination. For
70838	// more information, see Preserving Amazon EBS Volumes on Instance Termination
70839	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination)
70840	// in the Amazon Elastic Compute Cloud User Guide.
70841	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
70842
70843	// Indicates whether the encryption state of an EBS volume is changed while
70844	// being restored from a backing snapshot. The effect of setting the encryption
70845	// state to true depends on the volume origin (new or from a snapshot), starting
70846	// encryption state, ownership, and whether encryption by default is enabled.
70847	// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters)
70848	// in the Amazon Elastic Compute Cloud User Guide.
70849	//
70850	// In no case can you remove encryption from an encrypted volume.
70851	//
70852	// Encrypted volumes can only be attached to instances that support Amazon EBS
70853	// encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
70854	//
70855	// This parameter is not returned by .
70856	Encrypted *bool `locationName:"encrypted" type:"boolean"`
70857
70858	// The number of I/O operations per second (IOPS) that the volume supports.
70859	// For io1 volumes, this represents the number of IOPS that are provisioned
70860	// for the volume. For gp2 volumes, this represents the baseline performance
70861	// of the volume and the rate at which the volume accumulates I/O credits for
70862	// bursting. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
70863	// in the Amazon Elastic Compute Cloud User Guide.
70864	//
70865	// Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
70866	// for io1 volumes in most Regions. Maximum io1 IOPS of 64,000 is guaranteed
70867	// only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
70868	// Other instance families guarantee performance up to 32,000 IOPS. For more
70869	// information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
70870	// in the Amazon Elastic Compute Cloud User Guide.
70871	//
70872	// Condition: This parameter is required for requests to create io1 volumes;
70873	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
70874	Iops *int64 `locationName:"iops" type:"integer"`
70875
70876	// Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed
70877	// CMK under which the EBS volume is encrypted.
70878	//
70879	// This parameter is only supported on BlockDeviceMapping objects called by
70880	// RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
70881	// RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html),
70882	// and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
70883	KmsKeyId *string `type:"string"`
70884
70885	// The ID of the snapshot.
70886	SnapshotId *string `locationName:"snapshotId" type:"string"`
70887
70888	// The size of the volume, in GiB.
70889	//
70890	// Default: If you're creating the volume from a snapshot and don't specify
70891	// a volume size, the default is the snapshot size.
70892	//
70893	// Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
70894	// IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
70895	// Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
70896	// a snapshot, the volume size must be equal to or larger than the snapshot
70897	// size.
70898	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
70899
70900	// The volume type. If you set the type to io1, you must also specify the Iops
70901	// parameter. If you set the type to gp2, st1, sc1, or standard, you must omit
70902	// the Iops parameter.
70903	//
70904	// Default: gp2
70905	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
70906}
70907
70908// String returns the string representation
70909func (s EbsBlockDevice) String() string {
70910	return awsutil.Prettify(s)
70911}
70912
70913// GoString returns the string representation
70914func (s EbsBlockDevice) GoString() string {
70915	return s.String()
70916}
70917
70918// SetDeleteOnTermination sets the DeleteOnTermination field's value.
70919func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
70920	s.DeleteOnTermination = &v
70921	return s
70922}
70923
70924// SetEncrypted sets the Encrypted field's value.
70925func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
70926	s.Encrypted = &v
70927	return s
70928}
70929
70930// SetIops sets the Iops field's value.
70931func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
70932	s.Iops = &v
70933	return s
70934}
70935
70936// SetKmsKeyId sets the KmsKeyId field's value.
70937func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice {
70938	s.KmsKeyId = &v
70939	return s
70940}
70941
70942// SetSnapshotId sets the SnapshotId field's value.
70943func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
70944	s.SnapshotId = &v
70945	return s
70946}
70947
70948// SetVolumeSize sets the VolumeSize field's value.
70949func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
70950	s.VolumeSize = &v
70951	return s
70952}
70953
70954// SetVolumeType sets the VolumeType field's value.
70955func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
70956	s.VolumeType = &v
70957	return s
70958}
70959
70960// Describes the Amazon EBS features supported by the instance type.
70961type EbsInfo struct {
70962	_ struct{} `type:"structure"`
70963
70964	// Indicates that the instance type is Amazon EBS-optimized. For more information,
70965	// see Amazon EBS-Optimized Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)
70966	// in Amazon EC2 User Guide for Linux Instances.
70967	EbsOptimizedSupport *string `locationName:"ebsOptimizedSupport" type:"string" enum:"EbsOptimizedSupport"`
70968
70969	// Indicates whether Amazon EBS encryption is supported.
70970	EncryptionSupport *string `locationName:"encryptionSupport" type:"string" enum:"EbsEncryptionSupport"`
70971}
70972
70973// String returns the string representation
70974func (s EbsInfo) String() string {
70975	return awsutil.Prettify(s)
70976}
70977
70978// GoString returns the string representation
70979func (s EbsInfo) GoString() string {
70980	return s.String()
70981}
70982
70983// SetEbsOptimizedSupport sets the EbsOptimizedSupport field's value.
70984func (s *EbsInfo) SetEbsOptimizedSupport(v string) *EbsInfo {
70985	s.EbsOptimizedSupport = &v
70986	return s
70987}
70988
70989// SetEncryptionSupport sets the EncryptionSupport field's value.
70990func (s *EbsInfo) SetEncryptionSupport(v string) *EbsInfo {
70991	s.EncryptionSupport = &v
70992	return s
70993}
70994
70995// Describes a parameter used to set up an EBS volume in a block device mapping.
70996type EbsInstanceBlockDevice struct {
70997	_ struct{} `type:"structure"`
70998
70999	// The time stamp when the attachment initiated.
71000	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
71001
71002	// Indicates whether the volume is deleted on instance termination.
71003	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
71004
71005	// The attachment state.
71006	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
71007
71008	// The ID of the EBS volume.
71009	VolumeId *string `locationName:"volumeId" type:"string"`
71010}
71011
71012// String returns the string representation
71013func (s EbsInstanceBlockDevice) String() string {
71014	return awsutil.Prettify(s)
71015}
71016
71017// GoString returns the string representation
71018func (s EbsInstanceBlockDevice) GoString() string {
71019	return s.String()
71020}
71021
71022// SetAttachTime sets the AttachTime field's value.
71023func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
71024	s.AttachTime = &v
71025	return s
71026}
71027
71028// SetDeleteOnTermination sets the DeleteOnTermination field's value.
71029func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
71030	s.DeleteOnTermination = &v
71031	return s
71032}
71033
71034// SetStatus sets the Status field's value.
71035func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
71036	s.Status = &v
71037	return s
71038}
71039
71040// SetVolumeId sets the VolumeId field's value.
71041func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
71042	s.VolumeId = &v
71043	return s
71044}
71045
71046// Describes information used to set up an EBS volume specified in a block device
71047// mapping.
71048type EbsInstanceBlockDeviceSpecification struct {
71049	_ struct{} `type:"structure"`
71050
71051	// Indicates whether the volume is deleted on instance termination.
71052	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
71053
71054	// The ID of the EBS volume.
71055	VolumeId *string `locationName:"volumeId" type:"string"`
71056}
71057
71058// String returns the string representation
71059func (s EbsInstanceBlockDeviceSpecification) String() string {
71060	return awsutil.Prettify(s)
71061}
71062
71063// GoString returns the string representation
71064func (s EbsInstanceBlockDeviceSpecification) GoString() string {
71065	return s.String()
71066}
71067
71068// SetDeleteOnTermination sets the DeleteOnTermination field's value.
71069func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
71070	s.DeleteOnTermination = &v
71071	return s
71072}
71073
71074// SetVolumeId sets the VolumeId field's value.
71075func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
71076	s.VolumeId = &v
71077	return s
71078}
71079
71080// Describes an egress-only internet gateway.
71081type EgressOnlyInternetGateway struct {
71082	_ struct{} `type:"structure"`
71083
71084	// Information about the attachment of the egress-only internet gateway.
71085	Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
71086
71087	// The ID of the egress-only internet gateway.
71088	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
71089
71090	// The tags assigned to the egress-only internet gateway.
71091	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
71092}
71093
71094// String returns the string representation
71095func (s EgressOnlyInternetGateway) String() string {
71096	return awsutil.Prettify(s)
71097}
71098
71099// GoString returns the string representation
71100func (s EgressOnlyInternetGateway) GoString() string {
71101	return s.String()
71102}
71103
71104// SetAttachments sets the Attachments field's value.
71105func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
71106	s.Attachments = v
71107	return s
71108}
71109
71110// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
71111func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
71112	s.EgressOnlyInternetGatewayId = &v
71113	return s
71114}
71115
71116// SetTags sets the Tags field's value.
71117func (s *EgressOnlyInternetGateway) SetTags(v []*Tag) *EgressOnlyInternetGateway {
71118	s.Tags = v
71119	return s
71120}
71121
71122// Describes the association between an instance and an Elastic Graphics accelerator.
71123type ElasticGpuAssociation struct {
71124	_ struct{} `type:"structure"`
71125
71126	// The ID of the association.
71127	ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
71128
71129	// The state of the association between the instance and the Elastic Graphics
71130	// accelerator.
71131	ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
71132
71133	// The time the Elastic Graphics accelerator was associated with the instance.
71134	ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
71135
71136	// The ID of the Elastic Graphics accelerator.
71137	ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
71138}
71139
71140// String returns the string representation
71141func (s ElasticGpuAssociation) String() string {
71142	return awsutil.Prettify(s)
71143}
71144
71145// GoString returns the string representation
71146func (s ElasticGpuAssociation) GoString() string {
71147	return s.String()
71148}
71149
71150// SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
71151func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
71152	s.ElasticGpuAssociationId = &v
71153	return s
71154}
71155
71156// SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
71157func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
71158	s.ElasticGpuAssociationState = &v
71159	return s
71160}
71161
71162// SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
71163func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
71164	s.ElasticGpuAssociationTime = &v
71165	return s
71166}
71167
71168// SetElasticGpuId sets the ElasticGpuId field's value.
71169func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
71170	s.ElasticGpuId = &v
71171	return s
71172}
71173
71174// Describes the status of an Elastic Graphics accelerator.
71175type ElasticGpuHealth struct {
71176	_ struct{} `type:"structure"`
71177
71178	// The health status.
71179	Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
71180}
71181
71182// String returns the string representation
71183func (s ElasticGpuHealth) String() string {
71184	return awsutil.Prettify(s)
71185}
71186
71187// GoString returns the string representation
71188func (s ElasticGpuHealth) GoString() string {
71189	return s.String()
71190}
71191
71192// SetStatus sets the Status field's value.
71193func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
71194	s.Status = &v
71195	return s
71196}
71197
71198// A specification for an Elastic Graphics accelerator.
71199type ElasticGpuSpecification struct {
71200	_ struct{} `type:"structure"`
71201
71202	// The type of Elastic Graphics accelerator. For more information about the
71203	// values to specify for Type, see Elastic Graphics Basics (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html#elastic-graphics-basics),
71204	// specifically the Elastic Graphics accelerator column, in the Amazon Elastic
71205	// Compute Cloud User Guide for Windows Instances.
71206	//
71207	// Type is a required field
71208	Type *string `type:"string" required:"true"`
71209}
71210
71211// String returns the string representation
71212func (s ElasticGpuSpecification) String() string {
71213	return awsutil.Prettify(s)
71214}
71215
71216// GoString returns the string representation
71217func (s ElasticGpuSpecification) GoString() string {
71218	return s.String()
71219}
71220
71221// Validate inspects the fields of the type to determine if they are valid.
71222func (s *ElasticGpuSpecification) Validate() error {
71223	invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
71224	if s.Type == nil {
71225		invalidParams.Add(request.NewErrParamRequired("Type"))
71226	}
71227
71228	if invalidParams.Len() > 0 {
71229		return invalidParams
71230	}
71231	return nil
71232}
71233
71234// SetType sets the Type field's value.
71235func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
71236	s.Type = &v
71237	return s
71238}
71239
71240// Describes an elastic GPU.
71241type ElasticGpuSpecificationResponse struct {
71242	_ struct{} `type:"structure"`
71243
71244	// The elastic GPU type.
71245	Type *string `locationName:"type" type:"string"`
71246}
71247
71248// String returns the string representation
71249func (s ElasticGpuSpecificationResponse) String() string {
71250	return awsutil.Prettify(s)
71251}
71252
71253// GoString returns the string representation
71254func (s ElasticGpuSpecificationResponse) GoString() string {
71255	return s.String()
71256}
71257
71258// SetType sets the Type field's value.
71259func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecificationResponse {
71260	s.Type = &v
71261	return s
71262}
71263
71264// Describes an Elastic Graphics accelerator.
71265type ElasticGpus struct {
71266	_ struct{} `type:"structure"`
71267
71268	// The Availability Zone in the which the Elastic Graphics accelerator resides.
71269	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
71270
71271	// The status of the Elastic Graphics accelerator.
71272	ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
71273
71274	// The ID of the Elastic Graphics accelerator.
71275	ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
71276
71277	// The state of the Elastic Graphics accelerator.
71278	ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
71279
71280	// The type of Elastic Graphics accelerator.
71281	ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
71282
71283	// The ID of the instance to which the Elastic Graphics accelerator is attached.
71284	InstanceId *string `locationName:"instanceId" type:"string"`
71285
71286	// The tags assigned to the Elastic Graphics accelerator.
71287	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
71288}
71289
71290// String returns the string representation
71291func (s ElasticGpus) String() string {
71292	return awsutil.Prettify(s)
71293}
71294
71295// GoString returns the string representation
71296func (s ElasticGpus) GoString() string {
71297	return s.String()
71298}
71299
71300// SetAvailabilityZone sets the AvailabilityZone field's value.
71301func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
71302	s.AvailabilityZone = &v
71303	return s
71304}
71305
71306// SetElasticGpuHealth sets the ElasticGpuHealth field's value.
71307func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
71308	s.ElasticGpuHealth = v
71309	return s
71310}
71311
71312// SetElasticGpuId sets the ElasticGpuId field's value.
71313func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
71314	s.ElasticGpuId = &v
71315	return s
71316}
71317
71318// SetElasticGpuState sets the ElasticGpuState field's value.
71319func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
71320	s.ElasticGpuState = &v
71321	return s
71322}
71323
71324// SetElasticGpuType sets the ElasticGpuType field's value.
71325func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
71326	s.ElasticGpuType = &v
71327	return s
71328}
71329
71330// SetInstanceId sets the InstanceId field's value.
71331func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
71332	s.InstanceId = &v
71333	return s
71334}
71335
71336// SetTags sets the Tags field's value.
71337func (s *ElasticGpus) SetTags(v []*Tag) *ElasticGpus {
71338	s.Tags = v
71339	return s
71340}
71341
71342// Describes an elastic inference accelerator.
71343type ElasticInferenceAccelerator struct {
71344	_ struct{} `type:"structure"`
71345
71346	// The number of elastic inference accelerators to attach to the instance.
71347	//
71348	// Default: 1
71349	Count *int64 `min:"1" type:"integer"`
71350
71351	// The type of elastic inference accelerator. The possible values are eia1.medium,
71352	// eia1.large, and eia1.xlarge.
71353	//
71354	// Type is a required field
71355	Type *string `type:"string" required:"true"`
71356}
71357
71358// String returns the string representation
71359func (s ElasticInferenceAccelerator) String() string {
71360	return awsutil.Prettify(s)
71361}
71362
71363// GoString returns the string representation
71364func (s ElasticInferenceAccelerator) GoString() string {
71365	return s.String()
71366}
71367
71368// Validate inspects the fields of the type to determine if they are valid.
71369func (s *ElasticInferenceAccelerator) Validate() error {
71370	invalidParams := request.ErrInvalidParams{Context: "ElasticInferenceAccelerator"}
71371	if s.Count != nil && *s.Count < 1 {
71372		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
71373	}
71374	if s.Type == nil {
71375		invalidParams.Add(request.NewErrParamRequired("Type"))
71376	}
71377
71378	if invalidParams.Len() > 0 {
71379		return invalidParams
71380	}
71381	return nil
71382}
71383
71384// SetCount sets the Count field's value.
71385func (s *ElasticInferenceAccelerator) SetCount(v int64) *ElasticInferenceAccelerator {
71386	s.Count = &v
71387	return s
71388}
71389
71390// SetType sets the Type field's value.
71391func (s *ElasticInferenceAccelerator) SetType(v string) *ElasticInferenceAccelerator {
71392	s.Type = &v
71393	return s
71394}
71395
71396// Describes the association between an instance and an elastic inference accelerator.
71397type ElasticInferenceAcceleratorAssociation struct {
71398	_ struct{} `type:"structure"`
71399
71400	// The Amazon Resource Name (ARN) of the elastic inference accelerator.
71401	ElasticInferenceAcceleratorArn *string `locationName:"elasticInferenceAcceleratorArn" type:"string"`
71402
71403	// The ID of the association.
71404	ElasticInferenceAcceleratorAssociationId *string `locationName:"elasticInferenceAcceleratorAssociationId" type:"string"`
71405
71406	// The state of the elastic inference accelerator.
71407	ElasticInferenceAcceleratorAssociationState *string `locationName:"elasticInferenceAcceleratorAssociationState" type:"string"`
71408
71409	// The time at which the elastic inference accelerator is associated with an
71410	// instance.
71411	ElasticInferenceAcceleratorAssociationTime *time.Time `locationName:"elasticInferenceAcceleratorAssociationTime" type:"timestamp"`
71412}
71413
71414// String returns the string representation
71415func (s ElasticInferenceAcceleratorAssociation) String() string {
71416	return awsutil.Prettify(s)
71417}
71418
71419// GoString returns the string representation
71420func (s ElasticInferenceAcceleratorAssociation) GoString() string {
71421	return s.String()
71422}
71423
71424// SetElasticInferenceAcceleratorArn sets the ElasticInferenceAcceleratorArn field's value.
71425func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorArn(v string) *ElasticInferenceAcceleratorAssociation {
71426	s.ElasticInferenceAcceleratorArn = &v
71427	return s
71428}
71429
71430// SetElasticInferenceAcceleratorAssociationId sets the ElasticInferenceAcceleratorAssociationId field's value.
71431func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationId(v string) *ElasticInferenceAcceleratorAssociation {
71432	s.ElasticInferenceAcceleratorAssociationId = &v
71433	return s
71434}
71435
71436// SetElasticInferenceAcceleratorAssociationState sets the ElasticInferenceAcceleratorAssociationState field's value.
71437func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationState(v string) *ElasticInferenceAcceleratorAssociation {
71438	s.ElasticInferenceAcceleratorAssociationState = &v
71439	return s
71440}
71441
71442// SetElasticInferenceAcceleratorAssociationTime sets the ElasticInferenceAcceleratorAssociationTime field's value.
71443func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationTime(v time.Time) *ElasticInferenceAcceleratorAssociation {
71444	s.ElasticInferenceAcceleratorAssociationTime = &v
71445	return s
71446}
71447
71448type EnableEbsEncryptionByDefaultInput struct {
71449	_ struct{} `type:"structure"`
71450
71451	// Checks whether you have the required permissions for the action, without
71452	// actually making the request, and provides an error response. If you have
71453	// the required permissions, the error response is DryRunOperation. Otherwise,
71454	// it is UnauthorizedOperation.
71455	DryRun *bool `type:"boolean"`
71456}
71457
71458// String returns the string representation
71459func (s EnableEbsEncryptionByDefaultInput) String() string {
71460	return awsutil.Prettify(s)
71461}
71462
71463// GoString returns the string representation
71464func (s EnableEbsEncryptionByDefaultInput) GoString() string {
71465	return s.String()
71466}
71467
71468// SetDryRun sets the DryRun field's value.
71469func (s *EnableEbsEncryptionByDefaultInput) SetDryRun(v bool) *EnableEbsEncryptionByDefaultInput {
71470	s.DryRun = &v
71471	return s
71472}
71473
71474type EnableEbsEncryptionByDefaultOutput struct {
71475	_ struct{} `type:"structure"`
71476
71477	// The updated status of encryption by default.
71478	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
71479}
71480
71481// String returns the string representation
71482func (s EnableEbsEncryptionByDefaultOutput) String() string {
71483	return awsutil.Prettify(s)
71484}
71485
71486// GoString returns the string representation
71487func (s EnableEbsEncryptionByDefaultOutput) GoString() string {
71488	return s.String()
71489}
71490
71491// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
71492func (s *EnableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *EnableEbsEncryptionByDefaultOutput {
71493	s.EbsEncryptionByDefault = &v
71494	return s
71495}
71496
71497// Contains information about the errors that occurred when enabling fast snapshot
71498// restores.
71499type EnableFastSnapshotRestoreErrorItem struct {
71500	_ struct{} `type:"structure"`
71501
71502	// The errors.
71503	FastSnapshotRestoreStateErrors []*EnableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"`
71504
71505	// The ID of the snapshot.
71506	SnapshotId *string `locationName:"snapshotId" type:"string"`
71507}
71508
71509// String returns the string representation
71510func (s EnableFastSnapshotRestoreErrorItem) String() string {
71511	return awsutil.Prettify(s)
71512}
71513
71514// GoString returns the string representation
71515func (s EnableFastSnapshotRestoreErrorItem) GoString() string {
71516	return s.String()
71517}
71518
71519// SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value.
71520func (s *EnableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*EnableFastSnapshotRestoreStateErrorItem) *EnableFastSnapshotRestoreErrorItem {
71521	s.FastSnapshotRestoreStateErrors = v
71522	return s
71523}
71524
71525// SetSnapshotId sets the SnapshotId field's value.
71526func (s *EnableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreErrorItem {
71527	s.SnapshotId = &v
71528	return s
71529}
71530
71531// Describes an error that occurred when enabling fast snapshot restores.
71532type EnableFastSnapshotRestoreStateError struct {
71533	_ struct{} `type:"structure"`
71534
71535	// The error code.
71536	Code *string `locationName:"code" type:"string"`
71537
71538	// The error message.
71539	Message *string `locationName:"message" type:"string"`
71540}
71541
71542// String returns the string representation
71543func (s EnableFastSnapshotRestoreStateError) String() string {
71544	return awsutil.Prettify(s)
71545}
71546
71547// GoString returns the string representation
71548func (s EnableFastSnapshotRestoreStateError) GoString() string {
71549	return s.String()
71550}
71551
71552// SetCode sets the Code field's value.
71553func (s *EnableFastSnapshotRestoreStateError) SetCode(v string) *EnableFastSnapshotRestoreStateError {
71554	s.Code = &v
71555	return s
71556}
71557
71558// SetMessage sets the Message field's value.
71559func (s *EnableFastSnapshotRestoreStateError) SetMessage(v string) *EnableFastSnapshotRestoreStateError {
71560	s.Message = &v
71561	return s
71562}
71563
71564// Contains information about an error that occurred when enabling fast snapshot
71565// restores.
71566type EnableFastSnapshotRestoreStateErrorItem struct {
71567	_ struct{} `type:"structure"`
71568
71569	// The Availability Zone.
71570	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
71571
71572	// The error.
71573	Error *EnableFastSnapshotRestoreStateError `locationName:"error" type:"structure"`
71574}
71575
71576// String returns the string representation
71577func (s EnableFastSnapshotRestoreStateErrorItem) String() string {
71578	return awsutil.Prettify(s)
71579}
71580
71581// GoString returns the string representation
71582func (s EnableFastSnapshotRestoreStateErrorItem) GoString() string {
71583	return s.String()
71584}
71585
71586// SetAvailabilityZone sets the AvailabilityZone field's value.
71587func (s *EnableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreStateErrorItem {
71588	s.AvailabilityZone = &v
71589	return s
71590}
71591
71592// SetError sets the Error field's value.
71593func (s *EnableFastSnapshotRestoreStateErrorItem) SetError(v *EnableFastSnapshotRestoreStateError) *EnableFastSnapshotRestoreStateErrorItem {
71594	s.Error = v
71595	return s
71596}
71597
71598// Describes fast snapshot restores that were successfully enabled.
71599type EnableFastSnapshotRestoreSuccessItem struct {
71600	_ struct{} `type:"structure"`
71601
71602	// The Availability Zone.
71603	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
71604
71605	// The time at which fast snapshot restores entered the disabled state.
71606	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
71607
71608	// The time at which fast snapshot restores entered the disabling state.
71609	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
71610
71611	// The time at which fast snapshot restores entered the enabled state.
71612	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
71613
71614	// The time at which fast snapshot restores entered the enabling state.
71615	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
71616
71617	// The time at which fast snapshot restores entered the optimizing state.
71618	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
71619
71620	// The alias of the snapshot owner.
71621	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
71622
71623	// The ID of the AWS account that owns the snapshot.
71624	OwnerId *string `locationName:"ownerId" type:"string"`
71625
71626	// The ID of the snapshot.
71627	SnapshotId *string `locationName:"snapshotId" type:"string"`
71628
71629	// The state of fast snapshot restores.
71630	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
71631
71632	// The reason for the state transition. The possible values are as follows:
71633	//
71634	//    * Client.UserInitiated - The state successfully transitioned to enabling
71635	//    or disabling.
71636	//
71637	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
71638	//    transitioned to optimizing, enabled, or disabled.
71639	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
71640}
71641
71642// String returns the string representation
71643func (s EnableFastSnapshotRestoreSuccessItem) String() string {
71644	return awsutil.Prettify(s)
71645}
71646
71647// GoString returns the string representation
71648func (s EnableFastSnapshotRestoreSuccessItem) GoString() string {
71649	return s.String()
71650}
71651
71652// SetAvailabilityZone sets the AvailabilityZone field's value.
71653func (s *EnableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreSuccessItem {
71654	s.AvailabilityZone = &v
71655	return s
71656}
71657
71658// SetDisabledTime sets the DisabledTime field's value.
71659func (s *EnableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
71660	s.DisabledTime = &v
71661	return s
71662}
71663
71664// SetDisablingTime sets the DisablingTime field's value.
71665func (s *EnableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
71666	s.DisablingTime = &v
71667	return s
71668}
71669
71670// SetEnabledTime sets the EnabledTime field's value.
71671func (s *EnableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
71672	s.EnabledTime = &v
71673	return s
71674}
71675
71676// SetEnablingTime sets the EnablingTime field's value.
71677func (s *EnableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
71678	s.EnablingTime = &v
71679	return s
71680}
71681
71682// SetOptimizingTime sets the OptimizingTime field's value.
71683func (s *EnableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
71684	s.OptimizingTime = &v
71685	return s
71686}
71687
71688// SetOwnerAlias sets the OwnerAlias field's value.
71689func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *EnableFastSnapshotRestoreSuccessItem {
71690	s.OwnerAlias = &v
71691	return s
71692}
71693
71694// SetOwnerId sets the OwnerId field's value.
71695func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *EnableFastSnapshotRestoreSuccessItem {
71696	s.OwnerId = &v
71697	return s
71698}
71699
71700// SetSnapshotId sets the SnapshotId field's value.
71701func (s *EnableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreSuccessItem {
71702	s.SnapshotId = &v
71703	return s
71704}
71705
71706// SetState sets the State field's value.
71707func (s *EnableFastSnapshotRestoreSuccessItem) SetState(v string) *EnableFastSnapshotRestoreSuccessItem {
71708	s.State = &v
71709	return s
71710}
71711
71712// SetStateTransitionReason sets the StateTransitionReason field's value.
71713func (s *EnableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *EnableFastSnapshotRestoreSuccessItem {
71714	s.StateTransitionReason = &v
71715	return s
71716}
71717
71718type EnableFastSnapshotRestoresInput struct {
71719	_ struct{} `type:"structure"`
71720
71721	// One or more Availability Zones. For example, us-east-2a.
71722	//
71723	// AvailabilityZones is a required field
71724	AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"`
71725
71726	// Checks whether you have the required permissions for the action, without
71727	// actually making the request, and provides an error response. If you have
71728	// the required permissions, the error response is DryRunOperation. Otherwise,
71729	// it is UnauthorizedOperation.
71730	DryRun *bool `type:"boolean"`
71731
71732	// The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You
71733	// can specify a snapshot that was shared with you from another AWS account.
71734	//
71735	// SourceSnapshotIds is a required field
71736	SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"`
71737}
71738
71739// String returns the string representation
71740func (s EnableFastSnapshotRestoresInput) String() string {
71741	return awsutil.Prettify(s)
71742}
71743
71744// GoString returns the string representation
71745func (s EnableFastSnapshotRestoresInput) GoString() string {
71746	return s.String()
71747}
71748
71749// Validate inspects the fields of the type to determine if they are valid.
71750func (s *EnableFastSnapshotRestoresInput) Validate() error {
71751	invalidParams := request.ErrInvalidParams{Context: "EnableFastSnapshotRestoresInput"}
71752	if s.AvailabilityZones == nil {
71753		invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
71754	}
71755	if s.SourceSnapshotIds == nil {
71756		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds"))
71757	}
71758
71759	if invalidParams.Len() > 0 {
71760		return invalidParams
71761	}
71762	return nil
71763}
71764
71765// SetAvailabilityZones sets the AvailabilityZones field's value.
71766func (s *EnableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *EnableFastSnapshotRestoresInput {
71767	s.AvailabilityZones = v
71768	return s
71769}
71770
71771// SetDryRun sets the DryRun field's value.
71772func (s *EnableFastSnapshotRestoresInput) SetDryRun(v bool) *EnableFastSnapshotRestoresInput {
71773	s.DryRun = &v
71774	return s
71775}
71776
71777// SetSourceSnapshotIds sets the SourceSnapshotIds field's value.
71778func (s *EnableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *EnableFastSnapshotRestoresInput {
71779	s.SourceSnapshotIds = v
71780	return s
71781}
71782
71783type EnableFastSnapshotRestoresOutput struct {
71784	_ struct{} `type:"structure"`
71785
71786	// Information about the snapshots for which fast snapshot restores were successfully
71787	// enabled.
71788	Successful []*EnableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"`
71789
71790	// Information about the snapshots for which fast snapshot restores could not
71791	// be enabled.
71792	Unsuccessful []*EnableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
71793}
71794
71795// String returns the string representation
71796func (s EnableFastSnapshotRestoresOutput) String() string {
71797	return awsutil.Prettify(s)
71798}
71799
71800// GoString returns the string representation
71801func (s EnableFastSnapshotRestoresOutput) GoString() string {
71802	return s.String()
71803}
71804
71805// SetSuccessful sets the Successful field's value.
71806func (s *EnableFastSnapshotRestoresOutput) SetSuccessful(v []*EnableFastSnapshotRestoreSuccessItem) *EnableFastSnapshotRestoresOutput {
71807	s.Successful = v
71808	return s
71809}
71810
71811// SetUnsuccessful sets the Unsuccessful field's value.
71812func (s *EnableFastSnapshotRestoresOutput) SetUnsuccessful(v []*EnableFastSnapshotRestoreErrorItem) *EnableFastSnapshotRestoresOutput {
71813	s.Unsuccessful = v
71814	return s
71815}
71816
71817type EnableTransitGatewayRouteTablePropagationInput struct {
71818	_ struct{} `type:"structure"`
71819
71820	// Checks whether you have the required permissions for the action, without
71821	// actually making the request, and provides an error response. If you have
71822	// the required permissions, the error response is DryRunOperation. Otherwise,
71823	// it is UnauthorizedOperation.
71824	DryRun *bool `type:"boolean"`
71825
71826	// The ID of the attachment.
71827	//
71828	// TransitGatewayAttachmentId is a required field
71829	TransitGatewayAttachmentId *string `type:"string" required:"true"`
71830
71831	// The ID of the propagation route table.
71832	//
71833	// TransitGatewayRouteTableId is a required field
71834	TransitGatewayRouteTableId *string `type:"string" required:"true"`
71835}
71836
71837// String returns the string representation
71838func (s EnableTransitGatewayRouteTablePropagationInput) String() string {
71839	return awsutil.Prettify(s)
71840}
71841
71842// GoString returns the string representation
71843func (s EnableTransitGatewayRouteTablePropagationInput) GoString() string {
71844	return s.String()
71845}
71846
71847// Validate inspects the fields of the type to determine if they are valid.
71848func (s *EnableTransitGatewayRouteTablePropagationInput) Validate() error {
71849	invalidParams := request.ErrInvalidParams{Context: "EnableTransitGatewayRouteTablePropagationInput"}
71850	if s.TransitGatewayAttachmentId == nil {
71851		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
71852	}
71853	if s.TransitGatewayRouteTableId == nil {
71854		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
71855	}
71856
71857	if invalidParams.Len() > 0 {
71858		return invalidParams
71859	}
71860	return nil
71861}
71862
71863// SetDryRun sets the DryRun field's value.
71864func (s *EnableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *EnableTransitGatewayRouteTablePropagationInput {
71865	s.DryRun = &v
71866	return s
71867}
71868
71869// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
71870func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *EnableTransitGatewayRouteTablePropagationInput {
71871	s.TransitGatewayAttachmentId = &v
71872	return s
71873}
71874
71875// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
71876func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *EnableTransitGatewayRouteTablePropagationInput {
71877	s.TransitGatewayRouteTableId = &v
71878	return s
71879}
71880
71881type EnableTransitGatewayRouteTablePropagationOutput struct {
71882	_ struct{} `type:"structure"`
71883
71884	// Information about route propagation.
71885	Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
71886}
71887
71888// String returns the string representation
71889func (s EnableTransitGatewayRouteTablePropagationOutput) String() string {
71890	return awsutil.Prettify(s)
71891}
71892
71893// GoString returns the string representation
71894func (s EnableTransitGatewayRouteTablePropagationOutput) GoString() string {
71895	return s.String()
71896}
71897
71898// SetPropagation sets the Propagation field's value.
71899func (s *EnableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *EnableTransitGatewayRouteTablePropagationOutput {
71900	s.Propagation = v
71901	return s
71902}
71903
71904// Contains the parameters for EnableVgwRoutePropagation.
71905type EnableVgwRoutePropagationInput struct {
71906	_ struct{} `type:"structure"`
71907
71908	// Checks whether you have the required permissions for the action, without
71909	// actually making the request, and provides an error response. If you have
71910	// the required permissions, the error response is DryRunOperation. Otherwise,
71911	// it is UnauthorizedOperation.
71912	DryRun *bool `type:"boolean"`
71913
71914	// The ID of the virtual private gateway that is attached to a VPC. The virtual
71915	// private gateway must be attached to the same VPC that the routing tables
71916	// are associated with.
71917	//
71918	// GatewayId is a required field
71919	GatewayId *string `type:"string" required:"true"`
71920
71921	// The ID of the route table. The routing table must be associated with the
71922	// same VPC that the virtual private gateway is attached to.
71923	//
71924	// RouteTableId is a required field
71925	RouteTableId *string `type:"string" required:"true"`
71926}
71927
71928// String returns the string representation
71929func (s EnableVgwRoutePropagationInput) String() string {
71930	return awsutil.Prettify(s)
71931}
71932
71933// GoString returns the string representation
71934func (s EnableVgwRoutePropagationInput) GoString() string {
71935	return s.String()
71936}
71937
71938// Validate inspects the fields of the type to determine if they are valid.
71939func (s *EnableVgwRoutePropagationInput) Validate() error {
71940	invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
71941	if s.GatewayId == nil {
71942		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
71943	}
71944	if s.RouteTableId == nil {
71945		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
71946	}
71947
71948	if invalidParams.Len() > 0 {
71949		return invalidParams
71950	}
71951	return nil
71952}
71953
71954// SetDryRun sets the DryRun field's value.
71955func (s *EnableVgwRoutePropagationInput) SetDryRun(v bool) *EnableVgwRoutePropagationInput {
71956	s.DryRun = &v
71957	return s
71958}
71959
71960// SetGatewayId sets the GatewayId field's value.
71961func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
71962	s.GatewayId = &v
71963	return s
71964}
71965
71966// SetRouteTableId sets the RouteTableId field's value.
71967func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
71968	s.RouteTableId = &v
71969	return s
71970}
71971
71972type EnableVgwRoutePropagationOutput struct {
71973	_ struct{} `type:"structure"`
71974}
71975
71976// String returns the string representation
71977func (s EnableVgwRoutePropagationOutput) String() string {
71978	return awsutil.Prettify(s)
71979}
71980
71981// GoString returns the string representation
71982func (s EnableVgwRoutePropagationOutput) GoString() string {
71983	return s.String()
71984}
71985
71986type EnableVolumeIOInput struct {
71987	_ struct{} `type:"structure"`
71988
71989	// Checks whether you have the required permissions for the action, without
71990	// actually making the request, and provides an error response. If you have
71991	// the required permissions, the error response is DryRunOperation. Otherwise,
71992	// it is UnauthorizedOperation.
71993	DryRun *bool `locationName:"dryRun" type:"boolean"`
71994
71995	// The ID of the volume.
71996	//
71997	// VolumeId is a required field
71998	VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
71999}
72000
72001// String returns the string representation
72002func (s EnableVolumeIOInput) String() string {
72003	return awsutil.Prettify(s)
72004}
72005
72006// GoString returns the string representation
72007func (s EnableVolumeIOInput) GoString() string {
72008	return s.String()
72009}
72010
72011// Validate inspects the fields of the type to determine if they are valid.
72012func (s *EnableVolumeIOInput) Validate() error {
72013	invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
72014	if s.VolumeId == nil {
72015		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
72016	}
72017
72018	if invalidParams.Len() > 0 {
72019		return invalidParams
72020	}
72021	return nil
72022}
72023
72024// SetDryRun sets the DryRun field's value.
72025func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
72026	s.DryRun = &v
72027	return s
72028}
72029
72030// SetVolumeId sets the VolumeId field's value.
72031func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
72032	s.VolumeId = &v
72033	return s
72034}
72035
72036type EnableVolumeIOOutput struct {
72037	_ struct{} `type:"structure"`
72038}
72039
72040// String returns the string representation
72041func (s EnableVolumeIOOutput) String() string {
72042	return awsutil.Prettify(s)
72043}
72044
72045// GoString returns the string representation
72046func (s EnableVolumeIOOutput) GoString() string {
72047	return s.String()
72048}
72049
72050type EnableVpcClassicLinkDnsSupportInput struct {
72051	_ struct{} `type:"structure"`
72052
72053	// The ID of the VPC.
72054	VpcId *string `type:"string"`
72055}
72056
72057// String returns the string representation
72058func (s EnableVpcClassicLinkDnsSupportInput) String() string {
72059	return awsutil.Prettify(s)
72060}
72061
72062// GoString returns the string representation
72063func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
72064	return s.String()
72065}
72066
72067// SetVpcId sets the VpcId field's value.
72068func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
72069	s.VpcId = &v
72070	return s
72071}
72072
72073type EnableVpcClassicLinkDnsSupportOutput struct {
72074	_ struct{} `type:"structure"`
72075
72076	// Returns true if the request succeeds; otherwise, it returns an error.
72077	Return *bool `locationName:"return" type:"boolean"`
72078}
72079
72080// String returns the string representation
72081func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
72082	return awsutil.Prettify(s)
72083}
72084
72085// GoString returns the string representation
72086func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
72087	return s.String()
72088}
72089
72090// SetReturn sets the Return field's value.
72091func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
72092	s.Return = &v
72093	return s
72094}
72095
72096type EnableVpcClassicLinkInput struct {
72097	_ struct{} `type:"structure"`
72098
72099	// Checks whether you have the required permissions for the action, without
72100	// actually making the request, and provides an error response. If you have
72101	// the required permissions, the error response is DryRunOperation. Otherwise,
72102	// it is UnauthorizedOperation.
72103	DryRun *bool `locationName:"dryRun" type:"boolean"`
72104
72105	// The ID of the VPC.
72106	//
72107	// VpcId is a required field
72108	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
72109}
72110
72111// String returns the string representation
72112func (s EnableVpcClassicLinkInput) String() string {
72113	return awsutil.Prettify(s)
72114}
72115
72116// GoString returns the string representation
72117func (s EnableVpcClassicLinkInput) GoString() string {
72118	return s.String()
72119}
72120
72121// Validate inspects the fields of the type to determine if they are valid.
72122func (s *EnableVpcClassicLinkInput) Validate() error {
72123	invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
72124	if s.VpcId == nil {
72125		invalidParams.Add(request.NewErrParamRequired("VpcId"))
72126	}
72127
72128	if invalidParams.Len() > 0 {
72129		return invalidParams
72130	}
72131	return nil
72132}
72133
72134// SetDryRun sets the DryRun field's value.
72135func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
72136	s.DryRun = &v
72137	return s
72138}
72139
72140// SetVpcId sets the VpcId field's value.
72141func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
72142	s.VpcId = &v
72143	return s
72144}
72145
72146type EnableVpcClassicLinkOutput struct {
72147	_ struct{} `type:"structure"`
72148
72149	// Returns true if the request succeeds; otherwise, it returns an error.
72150	Return *bool `locationName:"return" type:"boolean"`
72151}
72152
72153// String returns the string representation
72154func (s EnableVpcClassicLinkOutput) String() string {
72155	return awsutil.Prettify(s)
72156}
72157
72158// GoString returns the string representation
72159func (s EnableVpcClassicLinkOutput) GoString() string {
72160	return s.String()
72161}
72162
72163// SetReturn sets the Return field's value.
72164func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
72165	s.Return = &v
72166	return s
72167}
72168
72169// Describes an EC2 Fleet or Spot Fleet event.
72170type EventInformation struct {
72171	_ struct{} `type:"structure"`
72172
72173	// The description of the event.
72174	EventDescription *string `locationName:"eventDescription" type:"string"`
72175
72176	// The event.
72177	//
72178	// The following are the error events:
72179	//
72180	//    * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet did not have the required
72181	//    permissions either to launch or terminate an instance.
72182	//
72183	//    * spotFleetRequestConfigurationInvalid - The configuration is not valid.
72184	//    For more information, see the description of the event.
72185	//
72186	//    * spotInstanceCountLimitExceeded - You've reached the limit on the number
72187	//    of Spot Instances that you can launch.
72188	//
72189	// The following are the fleetRequestChange events:
72190	//
72191	//    * active - The EC2 Fleet or Spot Fleet request has been validated and
72192	//    Amazon EC2 is attempting to maintain the target number of running Spot
72193	//    Instances.
72194	//
72195	//    * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has
72196	//    no running Spot Instances. The EC2 Fleet or Spot Fleet will be deleted
72197	//    two days after its instances were terminated.
72198	//
72199	//    * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled
72200	//    and does not launch additional Spot Instances. Existing Spot Instances
72201	//    continue to run until they are interrupted or terminated.
72202	//
72203	//    * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled
72204	//    and its Spot Instances are terminating.
72205	//
72206	//    * expired - The EC2 Fleet or Spot Fleet request has expired. A subsequent
72207	//    event indicates that the instances were terminated, if the request was
72208	//    created with TerminateInstancesWithExpiration set.
72209	//
72210	//    * modify_in_progress - A request to modify the EC2 Fleet or Spot Fleet
72211	//    request was accepted and is in progress.
72212	//
72213	//    * modify_successful - The EC2 Fleet or Spot Fleet request was modified.
72214	//
72215	//    * price_update - The price for a launch configuration was adjusted because
72216	//    it was too high. This change is permanent.
72217	//
72218	//    * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and
72219	//    Amazon EC2 is preparing to launch the target number of Spot Instances.
72220	//
72221	// The following are the instanceChange events:
72222	//
72223	//    * launched - A request was fulfilled and a new instance was launched.
72224	//
72225	//    * terminated - An instance was terminated by the user.
72226	//
72227	// The following are the Information events:
72228	//
72229	//    * launchSpecTemporarilyBlacklisted - The configuration is not valid and
72230	//    several attempts to launch instances have failed. For more information,
72231	//    see the description of the event.
72232	//
72233	//    * launchSpecUnusable - The price in a launch specification is not valid
72234	//    because it is below the Spot price or the Spot price is above the On-Demand
72235	//    price.
72236	//
72237	//    * fleetProgressHalted - The price in every launch specification is not
72238	//    valid. A launch specification might become valid if the Spot price changes.
72239	EventSubType *string `locationName:"eventSubType" type:"string"`
72240
72241	// The ID of the instance. This information is available only for instanceChange
72242	// events.
72243	InstanceId *string `locationName:"instanceId" type:"string"`
72244}
72245
72246// String returns the string representation
72247func (s EventInformation) String() string {
72248	return awsutil.Prettify(s)
72249}
72250
72251// GoString returns the string representation
72252func (s EventInformation) GoString() string {
72253	return s.String()
72254}
72255
72256// SetEventDescription sets the EventDescription field's value.
72257func (s *EventInformation) SetEventDescription(v string) *EventInformation {
72258	s.EventDescription = &v
72259	return s
72260}
72261
72262// SetEventSubType sets the EventSubType field's value.
72263func (s *EventInformation) SetEventSubType(v string) *EventInformation {
72264	s.EventSubType = &v
72265	return s
72266}
72267
72268// SetInstanceId sets the InstanceId field's value.
72269func (s *EventInformation) SetInstanceId(v string) *EventInformation {
72270	s.InstanceId = &v
72271	return s
72272}
72273
72274type ExportClientVpnClientCertificateRevocationListInput struct {
72275	_ struct{} `type:"structure"`
72276
72277	// The ID of the Client VPN endpoint.
72278	//
72279	// ClientVpnEndpointId is a required field
72280	ClientVpnEndpointId *string `type:"string" required:"true"`
72281
72282	// Checks whether you have the required permissions for the action, without
72283	// actually making the request, and provides an error response. If you have
72284	// the required permissions, the error response is DryRunOperation. Otherwise,
72285	// it is UnauthorizedOperation.
72286	DryRun *bool `type:"boolean"`
72287}
72288
72289// String returns the string representation
72290func (s ExportClientVpnClientCertificateRevocationListInput) String() string {
72291	return awsutil.Prettify(s)
72292}
72293
72294// GoString returns the string representation
72295func (s ExportClientVpnClientCertificateRevocationListInput) GoString() string {
72296	return s.String()
72297}
72298
72299// Validate inspects the fields of the type to determine if they are valid.
72300func (s *ExportClientVpnClientCertificateRevocationListInput) Validate() error {
72301	invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientCertificateRevocationListInput"}
72302	if s.ClientVpnEndpointId == nil {
72303		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
72304	}
72305
72306	if invalidParams.Len() > 0 {
72307		return invalidParams
72308	}
72309	return nil
72310}
72311
72312// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
72313func (s *ExportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientCertificateRevocationListInput {
72314	s.ClientVpnEndpointId = &v
72315	return s
72316}
72317
72318// SetDryRun sets the DryRun field's value.
72319func (s *ExportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ExportClientVpnClientCertificateRevocationListInput {
72320	s.DryRun = &v
72321	return s
72322}
72323
72324type ExportClientVpnClientCertificateRevocationListOutput struct {
72325	_ struct{} `type:"structure"`
72326
72327	// Information about the client certificate revocation list.
72328	CertificateRevocationList *string `locationName:"certificateRevocationList" type:"string"`
72329
72330	// The current state of the client certificate revocation list.
72331	Status *ClientCertificateRevocationListStatus `locationName:"status" type:"structure"`
72332}
72333
72334// String returns the string representation
72335func (s ExportClientVpnClientCertificateRevocationListOutput) String() string {
72336	return awsutil.Prettify(s)
72337}
72338
72339// GoString returns the string representation
72340func (s ExportClientVpnClientCertificateRevocationListOutput) GoString() string {
72341	return s.String()
72342}
72343
72344// SetCertificateRevocationList sets the CertificateRevocationList field's value.
72345func (s *ExportClientVpnClientCertificateRevocationListOutput) SetCertificateRevocationList(v string) *ExportClientVpnClientCertificateRevocationListOutput {
72346	s.CertificateRevocationList = &v
72347	return s
72348}
72349
72350// SetStatus sets the Status field's value.
72351func (s *ExportClientVpnClientCertificateRevocationListOutput) SetStatus(v *ClientCertificateRevocationListStatus) *ExportClientVpnClientCertificateRevocationListOutput {
72352	s.Status = v
72353	return s
72354}
72355
72356type ExportClientVpnClientConfigurationInput struct {
72357	_ struct{} `type:"structure"`
72358
72359	// The ID of the Client VPN endpoint.
72360	//
72361	// ClientVpnEndpointId is a required field
72362	ClientVpnEndpointId *string `type:"string" required:"true"`
72363
72364	// Checks whether you have the required permissions for the action, without
72365	// actually making the request, and provides an error response. If you have
72366	// the required permissions, the error response is DryRunOperation. Otherwise,
72367	// it is UnauthorizedOperation.
72368	DryRun *bool `type:"boolean"`
72369}
72370
72371// String returns the string representation
72372func (s ExportClientVpnClientConfigurationInput) String() string {
72373	return awsutil.Prettify(s)
72374}
72375
72376// GoString returns the string representation
72377func (s ExportClientVpnClientConfigurationInput) GoString() string {
72378	return s.String()
72379}
72380
72381// Validate inspects the fields of the type to determine if they are valid.
72382func (s *ExportClientVpnClientConfigurationInput) Validate() error {
72383	invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientConfigurationInput"}
72384	if s.ClientVpnEndpointId == nil {
72385		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
72386	}
72387
72388	if invalidParams.Len() > 0 {
72389		return invalidParams
72390	}
72391	return nil
72392}
72393
72394// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
72395func (s *ExportClientVpnClientConfigurationInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientConfigurationInput {
72396	s.ClientVpnEndpointId = &v
72397	return s
72398}
72399
72400// SetDryRun sets the DryRun field's value.
72401func (s *ExportClientVpnClientConfigurationInput) SetDryRun(v bool) *ExportClientVpnClientConfigurationInput {
72402	s.DryRun = &v
72403	return s
72404}
72405
72406type ExportClientVpnClientConfigurationOutput struct {
72407	_ struct{} `type:"structure"`
72408
72409	// The contents of the Client VPN endpoint configuration file.
72410	ClientConfiguration *string `locationName:"clientConfiguration" type:"string"`
72411}
72412
72413// String returns the string representation
72414func (s ExportClientVpnClientConfigurationOutput) String() string {
72415	return awsutil.Prettify(s)
72416}
72417
72418// GoString returns the string representation
72419func (s ExportClientVpnClientConfigurationOutput) GoString() string {
72420	return s.String()
72421}
72422
72423// SetClientConfiguration sets the ClientConfiguration field's value.
72424func (s *ExportClientVpnClientConfigurationOutput) SetClientConfiguration(v string) *ExportClientVpnClientConfigurationOutput {
72425	s.ClientConfiguration = &v
72426	return s
72427}
72428
72429type ExportImageInput struct {
72430	_ struct{} `type:"structure"`
72431
72432	// Token to enable idempotency for export image requests.
72433	ClientToken *string `type:"string" idempotencyToken:"true"`
72434
72435	// A description of the image being exported. The maximum length is 255 bytes.
72436	Description *string `type:"string"`
72437
72438	// The disk image format.
72439	//
72440	// DiskImageFormat is a required field
72441	DiskImageFormat *string `type:"string" required:"true" enum:"DiskImageFormat"`
72442
72443	// Checks whether you have the required permissions for the action, without
72444	// actually making the request, and provides an error response. If you have
72445	// the required permissions, the error response is DryRunOperation. Otherwise,
72446	// it is UnauthorizedOperation.
72447	DryRun *bool `type:"boolean"`
72448
72449	// The ID of the image.
72450	//
72451	// ImageId is a required field
72452	ImageId *string `type:"string" required:"true"`
72453
72454	// The name of the role that grants VM Import/Export permission to export images
72455	// to your S3 bucket. If this parameter is not specified, the default role is
72456	// named 'vmimport'.
72457	RoleName *string `type:"string"`
72458
72459	// Information about the destination S3 bucket. The bucket must exist and grant
72460	// WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
72461	//
72462	// S3ExportLocation is a required field
72463	S3ExportLocation *ExportTaskS3LocationRequest `type:"structure" required:"true"`
72464}
72465
72466// String returns the string representation
72467func (s ExportImageInput) String() string {
72468	return awsutil.Prettify(s)
72469}
72470
72471// GoString returns the string representation
72472func (s ExportImageInput) GoString() string {
72473	return s.String()
72474}
72475
72476// Validate inspects the fields of the type to determine if they are valid.
72477func (s *ExportImageInput) Validate() error {
72478	invalidParams := request.ErrInvalidParams{Context: "ExportImageInput"}
72479	if s.DiskImageFormat == nil {
72480		invalidParams.Add(request.NewErrParamRequired("DiskImageFormat"))
72481	}
72482	if s.ImageId == nil {
72483		invalidParams.Add(request.NewErrParamRequired("ImageId"))
72484	}
72485	if s.S3ExportLocation == nil {
72486		invalidParams.Add(request.NewErrParamRequired("S3ExportLocation"))
72487	}
72488	if s.S3ExportLocation != nil {
72489		if err := s.S3ExportLocation.Validate(); err != nil {
72490			invalidParams.AddNested("S3ExportLocation", err.(request.ErrInvalidParams))
72491		}
72492	}
72493
72494	if invalidParams.Len() > 0 {
72495		return invalidParams
72496	}
72497	return nil
72498}
72499
72500// SetClientToken sets the ClientToken field's value.
72501func (s *ExportImageInput) SetClientToken(v string) *ExportImageInput {
72502	s.ClientToken = &v
72503	return s
72504}
72505
72506// SetDescription sets the Description field's value.
72507func (s *ExportImageInput) SetDescription(v string) *ExportImageInput {
72508	s.Description = &v
72509	return s
72510}
72511
72512// SetDiskImageFormat sets the DiskImageFormat field's value.
72513func (s *ExportImageInput) SetDiskImageFormat(v string) *ExportImageInput {
72514	s.DiskImageFormat = &v
72515	return s
72516}
72517
72518// SetDryRun sets the DryRun field's value.
72519func (s *ExportImageInput) SetDryRun(v bool) *ExportImageInput {
72520	s.DryRun = &v
72521	return s
72522}
72523
72524// SetImageId sets the ImageId field's value.
72525func (s *ExportImageInput) SetImageId(v string) *ExportImageInput {
72526	s.ImageId = &v
72527	return s
72528}
72529
72530// SetRoleName sets the RoleName field's value.
72531func (s *ExportImageInput) SetRoleName(v string) *ExportImageInput {
72532	s.RoleName = &v
72533	return s
72534}
72535
72536// SetS3ExportLocation sets the S3ExportLocation field's value.
72537func (s *ExportImageInput) SetS3ExportLocation(v *ExportTaskS3LocationRequest) *ExportImageInput {
72538	s.S3ExportLocation = v
72539	return s
72540}
72541
72542type ExportImageOutput struct {
72543	_ struct{} `type:"structure"`
72544
72545	// A description of the image being exported.
72546	Description *string `locationName:"description" type:"string"`
72547
72548	// The disk image format for the exported image.
72549	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
72550
72551	// The ID of the export image task.
72552	ExportImageTaskId *string `locationName:"exportImageTaskId" type:"string"`
72553
72554	// The ID of the image.
72555	ImageId *string `locationName:"imageId" type:"string"`
72556
72557	// The percent complete of the export image task.
72558	Progress *string `locationName:"progress" type:"string"`
72559
72560	// The name of the role that grants VM Import/Export permission to export images
72561	// to your S3 bucket.
72562	RoleName *string `locationName:"roleName" type:"string"`
72563
72564	// Information about the destination S3 bucket.
72565	S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"`
72566
72567	// The status of the export image task. The possible values are active, completed,
72568	// deleting, and deleted.
72569	Status *string `locationName:"status" type:"string"`
72570
72571	// The status message for the export image task.
72572	StatusMessage *string `locationName:"statusMessage" type:"string"`
72573}
72574
72575// String returns the string representation
72576func (s ExportImageOutput) String() string {
72577	return awsutil.Prettify(s)
72578}
72579
72580// GoString returns the string representation
72581func (s ExportImageOutput) GoString() string {
72582	return s.String()
72583}
72584
72585// SetDescription sets the Description field's value.
72586func (s *ExportImageOutput) SetDescription(v string) *ExportImageOutput {
72587	s.Description = &v
72588	return s
72589}
72590
72591// SetDiskImageFormat sets the DiskImageFormat field's value.
72592func (s *ExportImageOutput) SetDiskImageFormat(v string) *ExportImageOutput {
72593	s.DiskImageFormat = &v
72594	return s
72595}
72596
72597// SetExportImageTaskId sets the ExportImageTaskId field's value.
72598func (s *ExportImageOutput) SetExportImageTaskId(v string) *ExportImageOutput {
72599	s.ExportImageTaskId = &v
72600	return s
72601}
72602
72603// SetImageId sets the ImageId field's value.
72604func (s *ExportImageOutput) SetImageId(v string) *ExportImageOutput {
72605	s.ImageId = &v
72606	return s
72607}
72608
72609// SetProgress sets the Progress field's value.
72610func (s *ExportImageOutput) SetProgress(v string) *ExportImageOutput {
72611	s.Progress = &v
72612	return s
72613}
72614
72615// SetRoleName sets the RoleName field's value.
72616func (s *ExportImageOutput) SetRoleName(v string) *ExportImageOutput {
72617	s.RoleName = &v
72618	return s
72619}
72620
72621// SetS3ExportLocation sets the S3ExportLocation field's value.
72622func (s *ExportImageOutput) SetS3ExportLocation(v *ExportTaskS3Location) *ExportImageOutput {
72623	s.S3ExportLocation = v
72624	return s
72625}
72626
72627// SetStatus sets the Status field's value.
72628func (s *ExportImageOutput) SetStatus(v string) *ExportImageOutput {
72629	s.Status = &v
72630	return s
72631}
72632
72633// SetStatusMessage sets the StatusMessage field's value.
72634func (s *ExportImageOutput) SetStatusMessage(v string) *ExportImageOutput {
72635	s.StatusMessage = &v
72636	return s
72637}
72638
72639// Describes an export image task.
72640type ExportImageTask struct {
72641	_ struct{} `type:"structure"`
72642
72643	// A description of the image being exported.
72644	Description *string `locationName:"description" type:"string"`
72645
72646	// The ID of the export image task.
72647	ExportImageTaskId *string `locationName:"exportImageTaskId" type:"string"`
72648
72649	// The ID of the image.
72650	ImageId *string `locationName:"imageId" type:"string"`
72651
72652	// The percent complete of the export image task.
72653	Progress *string `locationName:"progress" type:"string"`
72654
72655	// Information about the destination S3 bucket.
72656	S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"`
72657
72658	// The status of the export image task. The possible values are active, completed,
72659	// deleting, and deleted.
72660	Status *string `locationName:"status" type:"string"`
72661
72662	// The status message for the export image task.
72663	StatusMessage *string `locationName:"statusMessage" type:"string"`
72664}
72665
72666// String returns the string representation
72667func (s ExportImageTask) String() string {
72668	return awsutil.Prettify(s)
72669}
72670
72671// GoString returns the string representation
72672func (s ExportImageTask) GoString() string {
72673	return s.String()
72674}
72675
72676// SetDescription sets the Description field's value.
72677func (s *ExportImageTask) SetDescription(v string) *ExportImageTask {
72678	s.Description = &v
72679	return s
72680}
72681
72682// SetExportImageTaskId sets the ExportImageTaskId field's value.
72683func (s *ExportImageTask) SetExportImageTaskId(v string) *ExportImageTask {
72684	s.ExportImageTaskId = &v
72685	return s
72686}
72687
72688// SetImageId sets the ImageId field's value.
72689func (s *ExportImageTask) SetImageId(v string) *ExportImageTask {
72690	s.ImageId = &v
72691	return s
72692}
72693
72694// SetProgress sets the Progress field's value.
72695func (s *ExportImageTask) SetProgress(v string) *ExportImageTask {
72696	s.Progress = &v
72697	return s
72698}
72699
72700// SetS3ExportLocation sets the S3ExportLocation field's value.
72701func (s *ExportImageTask) SetS3ExportLocation(v *ExportTaskS3Location) *ExportImageTask {
72702	s.S3ExportLocation = v
72703	return s
72704}
72705
72706// SetStatus sets the Status field's value.
72707func (s *ExportImageTask) SetStatus(v string) *ExportImageTask {
72708	s.Status = &v
72709	return s
72710}
72711
72712// SetStatusMessage sets the StatusMessage field's value.
72713func (s *ExportImageTask) SetStatusMessage(v string) *ExportImageTask {
72714	s.StatusMessage = &v
72715	return s
72716}
72717
72718// Describes an instance export task.
72719type ExportTask struct {
72720	_ struct{} `type:"structure"`
72721
72722	// A description of the resource being exported.
72723	Description *string `locationName:"description" type:"string"`
72724
72725	// The ID of the export task.
72726	ExportTaskId *string `locationName:"exportTaskId" type:"string"`
72727
72728	// Information about the export task.
72729	ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
72730
72731	// Information about the instance to export.
72732	InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
72733
72734	// The state of the export task.
72735	State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
72736
72737	// The status message related to the export task.
72738	StatusMessage *string `locationName:"statusMessage" type:"string"`
72739
72740	// The tags for the export task.
72741	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
72742}
72743
72744// String returns the string representation
72745func (s ExportTask) String() string {
72746	return awsutil.Prettify(s)
72747}
72748
72749// GoString returns the string representation
72750func (s ExportTask) GoString() string {
72751	return s.String()
72752}
72753
72754// SetDescription sets the Description field's value.
72755func (s *ExportTask) SetDescription(v string) *ExportTask {
72756	s.Description = &v
72757	return s
72758}
72759
72760// SetExportTaskId sets the ExportTaskId field's value.
72761func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
72762	s.ExportTaskId = &v
72763	return s
72764}
72765
72766// SetExportToS3Task sets the ExportToS3Task field's value.
72767func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
72768	s.ExportToS3Task = v
72769	return s
72770}
72771
72772// SetInstanceExportDetails sets the InstanceExportDetails field's value.
72773func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
72774	s.InstanceExportDetails = v
72775	return s
72776}
72777
72778// SetState sets the State field's value.
72779func (s *ExportTask) SetState(v string) *ExportTask {
72780	s.State = &v
72781	return s
72782}
72783
72784// SetStatusMessage sets the StatusMessage field's value.
72785func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
72786	s.StatusMessage = &v
72787	return s
72788}
72789
72790// SetTags sets the Tags field's value.
72791func (s *ExportTask) SetTags(v []*Tag) *ExportTask {
72792	s.Tags = v
72793	return s
72794}
72795
72796// Describes the destination for an export image task.
72797type ExportTaskS3Location struct {
72798	_ struct{} `type:"structure"`
72799
72800	// The destination S3 bucket.
72801	S3Bucket *string `locationName:"s3Bucket" type:"string"`
72802
72803	// The prefix (logical hierarchy) in the bucket.
72804	S3Prefix *string `locationName:"s3Prefix" type:"string"`
72805}
72806
72807// String returns the string representation
72808func (s ExportTaskS3Location) String() string {
72809	return awsutil.Prettify(s)
72810}
72811
72812// GoString returns the string representation
72813func (s ExportTaskS3Location) GoString() string {
72814	return s.String()
72815}
72816
72817// SetS3Bucket sets the S3Bucket field's value.
72818func (s *ExportTaskS3Location) SetS3Bucket(v string) *ExportTaskS3Location {
72819	s.S3Bucket = &v
72820	return s
72821}
72822
72823// SetS3Prefix sets the S3Prefix field's value.
72824func (s *ExportTaskS3Location) SetS3Prefix(v string) *ExportTaskS3Location {
72825	s.S3Prefix = &v
72826	return s
72827}
72828
72829// Describes the destination for an export image task.
72830type ExportTaskS3LocationRequest struct {
72831	_ struct{} `type:"structure"`
72832
72833	// The destination S3 bucket.
72834	//
72835	// S3Bucket is a required field
72836	S3Bucket *string `type:"string" required:"true"`
72837
72838	// The prefix (logical hierarchy) in the bucket.
72839	S3Prefix *string `type:"string"`
72840}
72841
72842// String returns the string representation
72843func (s ExportTaskS3LocationRequest) String() string {
72844	return awsutil.Prettify(s)
72845}
72846
72847// GoString returns the string representation
72848func (s ExportTaskS3LocationRequest) GoString() string {
72849	return s.String()
72850}
72851
72852// Validate inspects the fields of the type to determine if they are valid.
72853func (s *ExportTaskS3LocationRequest) Validate() error {
72854	invalidParams := request.ErrInvalidParams{Context: "ExportTaskS3LocationRequest"}
72855	if s.S3Bucket == nil {
72856		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
72857	}
72858
72859	if invalidParams.Len() > 0 {
72860		return invalidParams
72861	}
72862	return nil
72863}
72864
72865// SetS3Bucket sets the S3Bucket field's value.
72866func (s *ExportTaskS3LocationRequest) SetS3Bucket(v string) *ExportTaskS3LocationRequest {
72867	s.S3Bucket = &v
72868	return s
72869}
72870
72871// SetS3Prefix sets the S3Prefix field's value.
72872func (s *ExportTaskS3LocationRequest) SetS3Prefix(v string) *ExportTaskS3LocationRequest {
72873	s.S3Prefix = &v
72874	return s
72875}
72876
72877// Describes the format and location for an instance export task.
72878type ExportToS3Task struct {
72879	_ struct{} `type:"structure"`
72880
72881	// The container format used to combine disk images with metadata (such as OVF).
72882	// If absent, only the disk image is exported.
72883	ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
72884
72885	// The format for the exported image.
72886	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
72887
72888	// The S3 bucket for the destination image. The destination bucket must exist
72889	// and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
72890	S3Bucket *string `locationName:"s3Bucket" type:"string"`
72891
72892	// The encryption key for your S3 bucket.
72893	S3Key *string `locationName:"s3Key" type:"string"`
72894}
72895
72896// String returns the string representation
72897func (s ExportToS3Task) String() string {
72898	return awsutil.Prettify(s)
72899}
72900
72901// GoString returns the string representation
72902func (s ExportToS3Task) GoString() string {
72903	return s.String()
72904}
72905
72906// SetContainerFormat sets the ContainerFormat field's value.
72907func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
72908	s.ContainerFormat = &v
72909	return s
72910}
72911
72912// SetDiskImageFormat sets the DiskImageFormat field's value.
72913func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
72914	s.DiskImageFormat = &v
72915	return s
72916}
72917
72918// SetS3Bucket sets the S3Bucket field's value.
72919func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
72920	s.S3Bucket = &v
72921	return s
72922}
72923
72924// SetS3Key sets the S3Key field's value.
72925func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
72926	s.S3Key = &v
72927	return s
72928}
72929
72930// Describes an instance export task.
72931type ExportToS3TaskSpecification struct {
72932	_ struct{} `type:"structure"`
72933
72934	// The container format used to combine disk images with metadata (such as OVF).
72935	// If absent, only the disk image is exported.
72936	ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
72937
72938	// The format for the exported image.
72939	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
72940
72941	// The S3 bucket for the destination image. The destination bucket must exist
72942	// and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
72943	S3Bucket *string `locationName:"s3Bucket" type:"string"`
72944
72945	// The image is written to a single object in the S3 bucket at the S3 key s3prefix
72946	// + exportTaskId + '.' + diskImageFormat.
72947	S3Prefix *string `locationName:"s3Prefix" type:"string"`
72948}
72949
72950// String returns the string representation
72951func (s ExportToS3TaskSpecification) String() string {
72952	return awsutil.Prettify(s)
72953}
72954
72955// GoString returns the string representation
72956func (s ExportToS3TaskSpecification) GoString() string {
72957	return s.String()
72958}
72959
72960// SetContainerFormat sets the ContainerFormat field's value.
72961func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
72962	s.ContainerFormat = &v
72963	return s
72964}
72965
72966// SetDiskImageFormat sets the DiskImageFormat field's value.
72967func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
72968	s.DiskImageFormat = &v
72969	return s
72970}
72971
72972// SetS3Bucket sets the S3Bucket field's value.
72973func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
72974	s.S3Bucket = &v
72975	return s
72976}
72977
72978// SetS3Prefix sets the S3Prefix field's value.
72979func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
72980	s.S3Prefix = &v
72981	return s
72982}
72983
72984type ExportTransitGatewayRoutesInput struct {
72985	_ struct{} `type:"structure"`
72986
72987	// Checks whether you have the required permissions for the action, without
72988	// actually making the request, and provides an error response. If you have
72989	// the required permissions, the error response is DryRunOperation. Otherwise,
72990	// it is UnauthorizedOperation.
72991	DryRun *bool `type:"boolean"`
72992
72993	// One or more filters. The possible values are:
72994	//
72995	//    * attachment.transit-gateway-attachment-id - The id of the transit gateway
72996	//    attachment.
72997	//
72998	//    * attachment.resource-id - The resource id of the transit gateway attachment.
72999	//
73000	//    * route-search.exact-match - The exact match of the specified filter.
73001	//
73002	//    * route-search.longest-prefix-match - The longest prefix that matches
73003	//    the route.
73004	//
73005	//    * route-search.subnet-of-match - The routes with a subnet that match the
73006	//    specified CIDR filter.
73007	//
73008	//    * route-search.supernet-of-match - The routes with a CIDR that encompass
73009	//    the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
73010	//    routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
73011	//    then the result returns 10.0.1.0/29.
73012	//
73013	//    * state - The state of the attachment (available | deleted | deleting
73014	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
73015	//    | rejecting).
73016	//
73017	//    * transit-gateway-route-destination-cidr-block - The CIDR range.
73018	//
73019	//    * type - The type of route (active | blackhole).
73020	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73021
73022	// The name of the S3 bucket.
73023	//
73024	// S3Bucket is a required field
73025	S3Bucket *string `type:"string" required:"true"`
73026
73027	// The ID of the route table.
73028	//
73029	// TransitGatewayRouteTableId is a required field
73030	TransitGatewayRouteTableId *string `type:"string" required:"true"`
73031}
73032
73033// String returns the string representation
73034func (s ExportTransitGatewayRoutesInput) String() string {
73035	return awsutil.Prettify(s)
73036}
73037
73038// GoString returns the string representation
73039func (s ExportTransitGatewayRoutesInput) GoString() string {
73040	return s.String()
73041}
73042
73043// Validate inspects the fields of the type to determine if they are valid.
73044func (s *ExportTransitGatewayRoutesInput) Validate() error {
73045	invalidParams := request.ErrInvalidParams{Context: "ExportTransitGatewayRoutesInput"}
73046	if s.S3Bucket == nil {
73047		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
73048	}
73049	if s.TransitGatewayRouteTableId == nil {
73050		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
73051	}
73052
73053	if invalidParams.Len() > 0 {
73054		return invalidParams
73055	}
73056	return nil
73057}
73058
73059// SetDryRun sets the DryRun field's value.
73060func (s *ExportTransitGatewayRoutesInput) SetDryRun(v bool) *ExportTransitGatewayRoutesInput {
73061	s.DryRun = &v
73062	return s
73063}
73064
73065// SetFilters sets the Filters field's value.
73066func (s *ExportTransitGatewayRoutesInput) SetFilters(v []*Filter) *ExportTransitGatewayRoutesInput {
73067	s.Filters = v
73068	return s
73069}
73070
73071// SetS3Bucket sets the S3Bucket field's value.
73072func (s *ExportTransitGatewayRoutesInput) SetS3Bucket(v string) *ExportTransitGatewayRoutesInput {
73073	s.S3Bucket = &v
73074	return s
73075}
73076
73077// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
73078func (s *ExportTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *ExportTransitGatewayRoutesInput {
73079	s.TransitGatewayRouteTableId = &v
73080	return s
73081}
73082
73083type ExportTransitGatewayRoutesOutput struct {
73084	_ struct{} `type:"structure"`
73085
73086	// The URL of the exported file in Amazon S3. For example, s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.
73087	S3Location *string `locationName:"s3Location" type:"string"`
73088}
73089
73090// String returns the string representation
73091func (s ExportTransitGatewayRoutesOutput) String() string {
73092	return awsutil.Prettify(s)
73093}
73094
73095// GoString returns the string representation
73096func (s ExportTransitGatewayRoutesOutput) GoString() string {
73097	return s.String()
73098}
73099
73100// SetS3Location sets the S3Location field's value.
73101func (s *ExportTransitGatewayRoutesOutput) SetS3Location(v string) *ExportTransitGatewayRoutesOutput {
73102	s.S3Location = &v
73103	return s
73104}
73105
73106// Describes a Reserved Instance whose queued purchase was not deleted.
73107type FailedQueuedPurchaseDeletion struct {
73108	_ struct{} `type:"structure"`
73109
73110	// The error.
73111	Error *DeleteQueuedReservedInstancesError `locationName:"error" type:"structure"`
73112
73113	// The ID of the Reserved Instance.
73114	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
73115}
73116
73117// String returns the string representation
73118func (s FailedQueuedPurchaseDeletion) String() string {
73119	return awsutil.Prettify(s)
73120}
73121
73122// GoString returns the string representation
73123func (s FailedQueuedPurchaseDeletion) GoString() string {
73124	return s.String()
73125}
73126
73127// SetError sets the Error field's value.
73128func (s *FailedQueuedPurchaseDeletion) SetError(v *DeleteQueuedReservedInstancesError) *FailedQueuedPurchaseDeletion {
73129	s.Error = v
73130	return s
73131}
73132
73133// SetReservedInstancesId sets the ReservedInstancesId field's value.
73134func (s *FailedQueuedPurchaseDeletion) SetReservedInstancesId(v string) *FailedQueuedPurchaseDeletion {
73135	s.ReservedInstancesId = &v
73136	return s
73137}
73138
73139// A filter name and value pair that is used to return a more specific list
73140// of results from a describe operation. Filters can be used to match a set
73141// of resources by specific criteria, such as tags, attributes, or IDs. The
73142// filters supported by a describe operation are documented with the describe
73143// operation. For example:
73144//
73145//    * DescribeAvailabilityZones
73146//
73147//    * DescribeImages
73148//
73149//    * DescribeInstances
73150//
73151//    * DescribeKeyPairs
73152//
73153//    * DescribeSecurityGroups
73154//
73155//    * DescribeSnapshots
73156//
73157//    * DescribeSubnets
73158//
73159//    * DescribeTags
73160//
73161//    * DescribeVolumes
73162//
73163//    * DescribeVpcs
73164type Filter struct {
73165	_ struct{} `type:"structure"`
73166
73167	// The name of the filter. Filter names are case-sensitive.
73168	Name *string `type:"string"`
73169
73170	// The filter values. Filter values are case-sensitive.
73171	Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
73172}
73173
73174// String returns the string representation
73175func (s Filter) String() string {
73176	return awsutil.Prettify(s)
73177}
73178
73179// GoString returns the string representation
73180func (s Filter) GoString() string {
73181	return s.String()
73182}
73183
73184// SetName sets the Name field's value.
73185func (s *Filter) SetName(v string) *Filter {
73186	s.Name = &v
73187	return s
73188}
73189
73190// SetValues sets the Values field's value.
73191func (s *Filter) SetValues(v []*string) *Filter {
73192	s.Values = v
73193	return s
73194}
73195
73196// Describes an EC2 Fleet.
73197type FleetData struct {
73198	_ struct{} `type:"structure"`
73199
73200	// The progress of the EC2 Fleet. If there is an error, the status is error.
73201	// After all requests are placed, the status is pending_fulfillment. If the
73202	// size of the EC2 Fleet is equal to or greater than its target capacity, the
73203	// status is fulfilled. If the size of the EC2 Fleet is decreased, the status
73204	// is pending_termination while instances are terminating.
73205	ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"FleetActivityStatus"`
73206
73207	// Unique, case-sensitive identifier that you provide to ensure the idempotency
73208	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
73209	//
73210	// Constraints: Maximum 64 ASCII characters
73211	ClientToken *string `locationName:"clientToken" type:"string"`
73212
73213	// The creation date and time of the EC2 Fleet.
73214	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
73215
73216	// Information about the instances that could not be launched by the fleet.
73217	// Valid only when Type is set to instant.
73218	Errors []*DescribeFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
73219
73220	// Indicates whether running instances should be terminated if the target capacity
73221	// of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
73222	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
73223
73224	// The ID of the EC2 Fleet.
73225	FleetId *string `locationName:"fleetId" type:"string"`
73226
73227	// The state of the EC2 Fleet.
73228	FleetState *string `locationName:"fleetState" type:"string" enum:"FleetStateCode"`
73229
73230	// The number of units fulfilled by this request compared to the set target
73231	// capacity.
73232	FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
73233
73234	// The number of units fulfilled by this request compared to the set target
73235	// On-Demand capacity.
73236	FulfilledOnDemandCapacity *float64 `locationName:"fulfilledOnDemandCapacity" type:"double"`
73237
73238	// Information about the instances that were launched by the fleet. Valid only
73239	// when Type is set to instant.
73240	Instances []*DescribeFleetsInstances `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
73241
73242	// The launch template and overrides.
73243	LaunchTemplateConfigs []*FleetLaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
73244
73245	// The allocation strategy of On-Demand Instances in an EC2 Fleet.
73246	OnDemandOptions *OnDemandOptions `locationName:"onDemandOptions" type:"structure"`
73247
73248	// Indicates whether EC2 Fleet should replace unhealthy instances.
73249	ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
73250
73251	// The configuration of Spot Instances in an EC2 Fleet.
73252	SpotOptions *SpotOptions `locationName:"spotOptions" type:"structure"`
73253
73254	// The tags for an EC2 Fleet resource.
73255	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
73256
73257	// The number of units to request. You can choose to set the target capacity
73258	// in terms of instances or a performance characteristic that is important to
73259	// your application workload, such as vCPUs, memory, or I/O. If the request
73260	// type is maintain, you can specify a target capacity of 0 and add capacity
73261	// later.
73262	TargetCapacitySpecification *TargetCapacitySpecification `locationName:"targetCapacitySpecification" type:"structure"`
73263
73264	// Indicates whether running instances should be terminated when the EC2 Fleet
73265	// expires.
73266	TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
73267
73268	// The type of request. Indicates whether the EC2 Fleet only requests the target
73269	// capacity, or also attempts to maintain it. If you request a certain target
73270	// capacity, EC2 Fleet only places the required requests; it does not attempt
73271	// to replenish instances if capacity is diminished, and it does not submit
73272	// requests in alternative capacity pools if capacity is unavailable. To maintain
73273	// a certain target capacity, EC2 Fleet places the required requests to meet
73274	// this target capacity. It also automatically replenishes any interrupted Spot
73275	// Instances. Default: maintain.
73276	Type *string `locationName:"type" type:"string" enum:"FleetType"`
73277
73278	// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
73279	// The default is to start fulfilling the request immediately.
73280	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
73281
73282	// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
73283	// At this point, no new instance requests are placed or able to fulfill the
73284	// request. The default end date is 7 days from the current date.
73285	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
73286}
73287
73288// String returns the string representation
73289func (s FleetData) String() string {
73290	return awsutil.Prettify(s)
73291}
73292
73293// GoString returns the string representation
73294func (s FleetData) GoString() string {
73295	return s.String()
73296}
73297
73298// SetActivityStatus sets the ActivityStatus field's value.
73299func (s *FleetData) SetActivityStatus(v string) *FleetData {
73300	s.ActivityStatus = &v
73301	return s
73302}
73303
73304// SetClientToken sets the ClientToken field's value.
73305func (s *FleetData) SetClientToken(v string) *FleetData {
73306	s.ClientToken = &v
73307	return s
73308}
73309
73310// SetCreateTime sets the CreateTime field's value.
73311func (s *FleetData) SetCreateTime(v time.Time) *FleetData {
73312	s.CreateTime = &v
73313	return s
73314}
73315
73316// SetErrors sets the Errors field's value.
73317func (s *FleetData) SetErrors(v []*DescribeFleetError) *FleetData {
73318	s.Errors = v
73319	return s
73320}
73321
73322// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
73323func (s *FleetData) SetExcessCapacityTerminationPolicy(v string) *FleetData {
73324	s.ExcessCapacityTerminationPolicy = &v
73325	return s
73326}
73327
73328// SetFleetId sets the FleetId field's value.
73329func (s *FleetData) SetFleetId(v string) *FleetData {
73330	s.FleetId = &v
73331	return s
73332}
73333
73334// SetFleetState sets the FleetState field's value.
73335func (s *FleetData) SetFleetState(v string) *FleetData {
73336	s.FleetState = &v
73337	return s
73338}
73339
73340// SetFulfilledCapacity sets the FulfilledCapacity field's value.
73341func (s *FleetData) SetFulfilledCapacity(v float64) *FleetData {
73342	s.FulfilledCapacity = &v
73343	return s
73344}
73345
73346// SetFulfilledOnDemandCapacity sets the FulfilledOnDemandCapacity field's value.
73347func (s *FleetData) SetFulfilledOnDemandCapacity(v float64) *FleetData {
73348	s.FulfilledOnDemandCapacity = &v
73349	return s
73350}
73351
73352// SetInstances sets the Instances field's value.
73353func (s *FleetData) SetInstances(v []*DescribeFleetsInstances) *FleetData {
73354	s.Instances = v
73355	return s
73356}
73357
73358// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
73359func (s *FleetData) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfig) *FleetData {
73360	s.LaunchTemplateConfigs = v
73361	return s
73362}
73363
73364// SetOnDemandOptions sets the OnDemandOptions field's value.
73365func (s *FleetData) SetOnDemandOptions(v *OnDemandOptions) *FleetData {
73366	s.OnDemandOptions = v
73367	return s
73368}
73369
73370// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
73371func (s *FleetData) SetReplaceUnhealthyInstances(v bool) *FleetData {
73372	s.ReplaceUnhealthyInstances = &v
73373	return s
73374}
73375
73376// SetSpotOptions sets the SpotOptions field's value.
73377func (s *FleetData) SetSpotOptions(v *SpotOptions) *FleetData {
73378	s.SpotOptions = v
73379	return s
73380}
73381
73382// SetTags sets the Tags field's value.
73383func (s *FleetData) SetTags(v []*Tag) *FleetData {
73384	s.Tags = v
73385	return s
73386}
73387
73388// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
73389func (s *FleetData) SetTargetCapacitySpecification(v *TargetCapacitySpecification) *FleetData {
73390	s.TargetCapacitySpecification = v
73391	return s
73392}
73393
73394// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
73395func (s *FleetData) SetTerminateInstancesWithExpiration(v bool) *FleetData {
73396	s.TerminateInstancesWithExpiration = &v
73397	return s
73398}
73399
73400// SetType sets the Type field's value.
73401func (s *FleetData) SetType(v string) *FleetData {
73402	s.Type = &v
73403	return s
73404}
73405
73406// SetValidFrom sets the ValidFrom field's value.
73407func (s *FleetData) SetValidFrom(v time.Time) *FleetData {
73408	s.ValidFrom = &v
73409	return s
73410}
73411
73412// SetValidUntil sets the ValidUntil field's value.
73413func (s *FleetData) SetValidUntil(v time.Time) *FleetData {
73414	s.ValidUntil = &v
73415	return s
73416}
73417
73418// Describes a launch template and overrides.
73419type FleetLaunchTemplateConfig struct {
73420	_ struct{} `type:"structure"`
73421
73422	// The launch template.
73423	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
73424
73425	// Any parameters that you specify override the same parameters in the launch
73426	// template.
73427	Overrides []*FleetLaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
73428}
73429
73430// String returns the string representation
73431func (s FleetLaunchTemplateConfig) String() string {
73432	return awsutil.Prettify(s)
73433}
73434
73435// GoString returns the string representation
73436func (s FleetLaunchTemplateConfig) GoString() string {
73437	return s.String()
73438}
73439
73440// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
73441func (s *FleetLaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *FleetLaunchTemplateConfig {
73442	s.LaunchTemplateSpecification = v
73443	return s
73444}
73445
73446// SetOverrides sets the Overrides field's value.
73447func (s *FleetLaunchTemplateConfig) SetOverrides(v []*FleetLaunchTemplateOverrides) *FleetLaunchTemplateConfig {
73448	s.Overrides = v
73449	return s
73450}
73451
73452// Describes a launch template and overrides.
73453type FleetLaunchTemplateConfigRequest struct {
73454	_ struct{} `type:"structure"`
73455
73456	// The launch template to use. You must specify either the launch template ID
73457	// or launch template name in the request.
73458	LaunchTemplateSpecification *FleetLaunchTemplateSpecificationRequest `type:"structure"`
73459
73460	// Any parameters that you specify override the same parameters in the launch
73461	// template.
73462	Overrides []*FleetLaunchTemplateOverridesRequest `locationNameList:"item" type:"list"`
73463}
73464
73465// String returns the string representation
73466func (s FleetLaunchTemplateConfigRequest) String() string {
73467	return awsutil.Prettify(s)
73468}
73469
73470// GoString returns the string representation
73471func (s FleetLaunchTemplateConfigRequest) GoString() string {
73472	return s.String()
73473}
73474
73475// Validate inspects the fields of the type to determine if they are valid.
73476func (s *FleetLaunchTemplateConfigRequest) Validate() error {
73477	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateConfigRequest"}
73478	if s.LaunchTemplateSpecification != nil {
73479		if err := s.LaunchTemplateSpecification.Validate(); err != nil {
73480			invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
73481		}
73482	}
73483
73484	if invalidParams.Len() > 0 {
73485		return invalidParams
73486	}
73487	return nil
73488}
73489
73490// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
73491func (s *FleetLaunchTemplateConfigRequest) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecificationRequest) *FleetLaunchTemplateConfigRequest {
73492	s.LaunchTemplateSpecification = v
73493	return s
73494}
73495
73496// SetOverrides sets the Overrides field's value.
73497func (s *FleetLaunchTemplateConfigRequest) SetOverrides(v []*FleetLaunchTemplateOverridesRequest) *FleetLaunchTemplateConfigRequest {
73498	s.Overrides = v
73499	return s
73500}
73501
73502// Describes overrides for a launch template.
73503type FleetLaunchTemplateOverrides struct {
73504	_ struct{} `type:"structure"`
73505
73506	// The Availability Zone in which to launch the instances.
73507	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
73508
73509	// The instance type.
73510	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
73511
73512	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
73513	MaxPrice *string `locationName:"maxPrice" type:"string"`
73514
73515	// The location where the instance launched, if applicable.
73516	Placement *PlacementResponse `locationName:"placement" type:"structure"`
73517
73518	// The priority for the launch template override. If AllocationStrategy is set
73519	// to prioritized, EC2 Fleet uses priority to determine which launch template
73520	// override to use first in fulfilling On-Demand capacity. The highest priority
73521	// is launched first. Valid values are whole numbers starting at 0. The lower
73522	// the number, the higher the priority. If no number is set, the override has
73523	// the lowest priority.
73524	Priority *float64 `locationName:"priority" type:"double"`
73525
73526	// The ID of the subnet in which to launch the instances.
73527	SubnetId *string `locationName:"subnetId" type:"string"`
73528
73529	// The number of units provided by the specified instance type.
73530	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
73531}
73532
73533// String returns the string representation
73534func (s FleetLaunchTemplateOverrides) String() string {
73535	return awsutil.Prettify(s)
73536}
73537
73538// GoString returns the string representation
73539func (s FleetLaunchTemplateOverrides) GoString() string {
73540	return s.String()
73541}
73542
73543// SetAvailabilityZone sets the AvailabilityZone field's value.
73544func (s *FleetLaunchTemplateOverrides) SetAvailabilityZone(v string) *FleetLaunchTemplateOverrides {
73545	s.AvailabilityZone = &v
73546	return s
73547}
73548
73549// SetInstanceType sets the InstanceType field's value.
73550func (s *FleetLaunchTemplateOverrides) SetInstanceType(v string) *FleetLaunchTemplateOverrides {
73551	s.InstanceType = &v
73552	return s
73553}
73554
73555// SetMaxPrice sets the MaxPrice field's value.
73556func (s *FleetLaunchTemplateOverrides) SetMaxPrice(v string) *FleetLaunchTemplateOverrides {
73557	s.MaxPrice = &v
73558	return s
73559}
73560
73561// SetPlacement sets the Placement field's value.
73562func (s *FleetLaunchTemplateOverrides) SetPlacement(v *PlacementResponse) *FleetLaunchTemplateOverrides {
73563	s.Placement = v
73564	return s
73565}
73566
73567// SetPriority sets the Priority field's value.
73568func (s *FleetLaunchTemplateOverrides) SetPriority(v float64) *FleetLaunchTemplateOverrides {
73569	s.Priority = &v
73570	return s
73571}
73572
73573// SetSubnetId sets the SubnetId field's value.
73574func (s *FleetLaunchTemplateOverrides) SetSubnetId(v string) *FleetLaunchTemplateOverrides {
73575	s.SubnetId = &v
73576	return s
73577}
73578
73579// SetWeightedCapacity sets the WeightedCapacity field's value.
73580func (s *FleetLaunchTemplateOverrides) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverrides {
73581	s.WeightedCapacity = &v
73582	return s
73583}
73584
73585// Describes overrides for a launch template.
73586type FleetLaunchTemplateOverridesRequest struct {
73587	_ struct{} `type:"structure"`
73588
73589	// The Availability Zone in which to launch the instances.
73590	AvailabilityZone *string `type:"string"`
73591
73592	// The instance type.
73593	InstanceType *string `type:"string" enum:"InstanceType"`
73594
73595	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
73596	MaxPrice *string `type:"string"`
73597
73598	// The location where the instance launched, if applicable.
73599	Placement *Placement `type:"structure"`
73600
73601	// The priority for the launch template override. If AllocationStrategy is set
73602	// to prioritized, EC2 Fleet uses priority to determine which launch template
73603	// override to use first in fulfilling On-Demand capacity. The highest priority
73604	// is launched first. Valid values are whole numbers starting at 0. The lower
73605	// the number, the higher the priority. If no number is set, the launch template
73606	// override has the lowest priority.
73607	Priority *float64 `type:"double"`
73608
73609	// The IDs of the subnets in which to launch the instances. Separate multiple
73610	// subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2).
73611	// A request of type instant can have only one subnet ID.
73612	SubnetId *string `type:"string"`
73613
73614	// The number of units provided by the specified instance type.
73615	WeightedCapacity *float64 `type:"double"`
73616}
73617
73618// String returns the string representation
73619func (s FleetLaunchTemplateOverridesRequest) String() string {
73620	return awsutil.Prettify(s)
73621}
73622
73623// GoString returns the string representation
73624func (s FleetLaunchTemplateOverridesRequest) GoString() string {
73625	return s.String()
73626}
73627
73628// SetAvailabilityZone sets the AvailabilityZone field's value.
73629func (s *FleetLaunchTemplateOverridesRequest) SetAvailabilityZone(v string) *FleetLaunchTemplateOverridesRequest {
73630	s.AvailabilityZone = &v
73631	return s
73632}
73633
73634// SetInstanceType sets the InstanceType field's value.
73635func (s *FleetLaunchTemplateOverridesRequest) SetInstanceType(v string) *FleetLaunchTemplateOverridesRequest {
73636	s.InstanceType = &v
73637	return s
73638}
73639
73640// SetMaxPrice sets the MaxPrice field's value.
73641func (s *FleetLaunchTemplateOverridesRequest) SetMaxPrice(v string) *FleetLaunchTemplateOverridesRequest {
73642	s.MaxPrice = &v
73643	return s
73644}
73645
73646// SetPlacement sets the Placement field's value.
73647func (s *FleetLaunchTemplateOverridesRequest) SetPlacement(v *Placement) *FleetLaunchTemplateOverridesRequest {
73648	s.Placement = v
73649	return s
73650}
73651
73652// SetPriority sets the Priority field's value.
73653func (s *FleetLaunchTemplateOverridesRequest) SetPriority(v float64) *FleetLaunchTemplateOverridesRequest {
73654	s.Priority = &v
73655	return s
73656}
73657
73658// SetSubnetId sets the SubnetId field's value.
73659func (s *FleetLaunchTemplateOverridesRequest) SetSubnetId(v string) *FleetLaunchTemplateOverridesRequest {
73660	s.SubnetId = &v
73661	return s
73662}
73663
73664// SetWeightedCapacity sets the WeightedCapacity field's value.
73665func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverridesRequest {
73666	s.WeightedCapacity = &v
73667	return s
73668}
73669
73670// Describes a launch template.
73671type FleetLaunchTemplateSpecification struct {
73672	_ struct{} `type:"structure"`
73673
73674	// The ID of the launch template. You must specify either a template ID or a
73675	// template name.
73676	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
73677
73678	// The name of the launch template. You must specify either a template name
73679	// or a template ID.
73680	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
73681
73682	// The version number of the launch template. You must specify a version number.
73683	Version *string `locationName:"version" type:"string"`
73684}
73685
73686// String returns the string representation
73687func (s FleetLaunchTemplateSpecification) String() string {
73688	return awsutil.Prettify(s)
73689}
73690
73691// GoString returns the string representation
73692func (s FleetLaunchTemplateSpecification) GoString() string {
73693	return s.String()
73694}
73695
73696// Validate inspects the fields of the type to determine if they are valid.
73697func (s *FleetLaunchTemplateSpecification) Validate() error {
73698	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecification"}
73699	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
73700		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
73701	}
73702
73703	if invalidParams.Len() > 0 {
73704		return invalidParams
73705	}
73706	return nil
73707}
73708
73709// SetLaunchTemplateId sets the LaunchTemplateId field's value.
73710func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecification {
73711	s.LaunchTemplateId = &v
73712	return s
73713}
73714
73715// SetLaunchTemplateName sets the LaunchTemplateName field's value.
73716func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecification {
73717	s.LaunchTemplateName = &v
73718	return s
73719}
73720
73721// SetVersion sets the Version field's value.
73722func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemplateSpecification {
73723	s.Version = &v
73724	return s
73725}
73726
73727// The launch template to use. You must specify either the launch template ID
73728// or launch template name in the request.
73729type FleetLaunchTemplateSpecificationRequest struct {
73730	_ struct{} `type:"structure"`
73731
73732	// The ID of the launch template.
73733	LaunchTemplateId *string `type:"string"`
73734
73735	// The name of the launch template.
73736	LaunchTemplateName *string `min:"3" type:"string"`
73737
73738	// The version number of the launch template. Note: This is a required parameter
73739	// and will be updated soon.
73740	Version *string `type:"string"`
73741}
73742
73743// String returns the string representation
73744func (s FleetLaunchTemplateSpecificationRequest) String() string {
73745	return awsutil.Prettify(s)
73746}
73747
73748// GoString returns the string representation
73749func (s FleetLaunchTemplateSpecificationRequest) GoString() string {
73750	return s.String()
73751}
73752
73753// Validate inspects the fields of the type to determine if they are valid.
73754func (s *FleetLaunchTemplateSpecificationRequest) Validate() error {
73755	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecificationRequest"}
73756	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
73757		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
73758	}
73759
73760	if invalidParams.Len() > 0 {
73761		return invalidParams
73762	}
73763	return nil
73764}
73765
73766// SetLaunchTemplateId sets the LaunchTemplateId field's value.
73767func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecificationRequest {
73768	s.LaunchTemplateId = &v
73769	return s
73770}
73771
73772// SetLaunchTemplateName sets the LaunchTemplateName field's value.
73773func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecificationRequest {
73774	s.LaunchTemplateName = &v
73775	return s
73776}
73777
73778// SetVersion sets the Version field's value.
73779func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLaunchTemplateSpecificationRequest {
73780	s.Version = &v
73781	return s
73782}
73783
73784// Describes a flow log.
73785type FlowLog struct {
73786	_ struct{} `type:"structure"`
73787
73788	// The date and time the flow log was created.
73789	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
73790
73791	// Information about the error that occurred. Rate limited indicates that CloudWatch
73792	// Logs throttling has been applied for one or more network interfaces, or that
73793	// you've reached the limit on the number of log groups that you can create.
73794	// Access error indicates that the IAM role associated with the flow log does
73795	// not have sufficient permissions to publish to CloudWatch Logs. Unknown error
73796	// indicates an internal error.
73797	DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
73798
73799	// The ARN of the IAM role that posts logs to CloudWatch Logs.
73800	DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
73801
73802	// The status of the logs delivery (SUCCESS | FAILED).
73803	DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
73804
73805	// The flow log ID.
73806	FlowLogId *string `locationName:"flowLogId" type:"string"`
73807
73808	// The status of the flow log (ACTIVE).
73809	FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
73810
73811	// Specifies the destination to which the flow log data is published. Flow log
73812	// data can be published to an CloudWatch Logs log group or an Amazon S3 bucket.
73813	// If the flow log publishes to CloudWatch Logs, this element indicates the
73814	// Amazon Resource Name (ARN) of the CloudWatch Logs log group to which the
73815	// data is published. If the flow log publishes to Amazon S3, this element indicates
73816	// the ARN of the Amazon S3 bucket to which the data is published.
73817	LogDestination *string `locationName:"logDestination" type:"string"`
73818
73819	// Specifies the type of destination to which the flow log data is published.
73820	// Flow log data can be published to CloudWatch Logs or Amazon S3.
73821	LogDestinationType *string `locationName:"logDestinationType" type:"string" enum:"LogDestinationType"`
73822
73823	// The format of the flow log record.
73824	LogFormat *string `locationName:"logFormat" type:"string"`
73825
73826	// The name of the flow log group.
73827	LogGroupName *string `locationName:"logGroupName" type:"string"`
73828
73829	// The maximum interval of time, in seconds, during which a flow of packets
73830	// is captured and aggregated into a flow log record.
73831	//
73832	// 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),
73833	// the aggregation interval is always 60 seconds (1 minute) or less, regardless
73834	// of the specified value.
73835	//
73836	// Valid Values: 60 | 600
73837	MaxAggregationInterval *int64 `locationName:"maxAggregationInterval" type:"integer"`
73838
73839	// The ID of the resource on which the flow log was created.
73840	ResourceId *string `locationName:"resourceId" type:"string"`
73841
73842	// The tags for the flow log.
73843	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
73844
73845	// The type of traffic captured for the flow log.
73846	TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
73847}
73848
73849// String returns the string representation
73850func (s FlowLog) String() string {
73851	return awsutil.Prettify(s)
73852}
73853
73854// GoString returns the string representation
73855func (s FlowLog) GoString() string {
73856	return s.String()
73857}
73858
73859// SetCreationTime sets the CreationTime field's value.
73860func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
73861	s.CreationTime = &v
73862	return s
73863}
73864
73865// SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
73866func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
73867	s.DeliverLogsErrorMessage = &v
73868	return s
73869}
73870
73871// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
73872func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
73873	s.DeliverLogsPermissionArn = &v
73874	return s
73875}
73876
73877// SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
73878func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
73879	s.DeliverLogsStatus = &v
73880	return s
73881}
73882
73883// SetFlowLogId sets the FlowLogId field's value.
73884func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
73885	s.FlowLogId = &v
73886	return s
73887}
73888
73889// SetFlowLogStatus sets the FlowLogStatus field's value.
73890func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
73891	s.FlowLogStatus = &v
73892	return s
73893}
73894
73895// SetLogDestination sets the LogDestination field's value.
73896func (s *FlowLog) SetLogDestination(v string) *FlowLog {
73897	s.LogDestination = &v
73898	return s
73899}
73900
73901// SetLogDestinationType sets the LogDestinationType field's value.
73902func (s *FlowLog) SetLogDestinationType(v string) *FlowLog {
73903	s.LogDestinationType = &v
73904	return s
73905}
73906
73907// SetLogFormat sets the LogFormat field's value.
73908func (s *FlowLog) SetLogFormat(v string) *FlowLog {
73909	s.LogFormat = &v
73910	return s
73911}
73912
73913// SetLogGroupName sets the LogGroupName field's value.
73914func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
73915	s.LogGroupName = &v
73916	return s
73917}
73918
73919// SetMaxAggregationInterval sets the MaxAggregationInterval field's value.
73920func (s *FlowLog) SetMaxAggregationInterval(v int64) *FlowLog {
73921	s.MaxAggregationInterval = &v
73922	return s
73923}
73924
73925// SetResourceId sets the ResourceId field's value.
73926func (s *FlowLog) SetResourceId(v string) *FlowLog {
73927	s.ResourceId = &v
73928	return s
73929}
73930
73931// SetTags sets the Tags field's value.
73932func (s *FlowLog) SetTags(v []*Tag) *FlowLog {
73933	s.Tags = v
73934	return s
73935}
73936
73937// SetTrafficType sets the TrafficType field's value.
73938func (s *FlowLog) SetTrafficType(v string) *FlowLog {
73939	s.TrafficType = &v
73940	return s
73941}
73942
73943// Describes the FPGA accelerator for the instance type.
73944type FpgaDeviceInfo struct {
73945	_ struct{} `type:"structure"`
73946
73947	// The count of FPGA accelerators for the instance type.
73948	Count *int64 `locationName:"count" type:"integer"`
73949
73950	// The manufacturer of the FPGA accelerator.
73951	Manufacturer *string `locationName:"manufacturer" type:"string"`
73952
73953	// Describes the memory for the FPGA accelerator for the instance type.
73954	MemoryInfo *FpgaDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"`
73955
73956	// The name of the FPGA accelerator.
73957	Name *string `locationName:"name" type:"string"`
73958}
73959
73960// String returns the string representation
73961func (s FpgaDeviceInfo) String() string {
73962	return awsutil.Prettify(s)
73963}
73964
73965// GoString returns the string representation
73966func (s FpgaDeviceInfo) GoString() string {
73967	return s.String()
73968}
73969
73970// SetCount sets the Count field's value.
73971func (s *FpgaDeviceInfo) SetCount(v int64) *FpgaDeviceInfo {
73972	s.Count = &v
73973	return s
73974}
73975
73976// SetManufacturer sets the Manufacturer field's value.
73977func (s *FpgaDeviceInfo) SetManufacturer(v string) *FpgaDeviceInfo {
73978	s.Manufacturer = &v
73979	return s
73980}
73981
73982// SetMemoryInfo sets the MemoryInfo field's value.
73983func (s *FpgaDeviceInfo) SetMemoryInfo(v *FpgaDeviceMemoryInfo) *FpgaDeviceInfo {
73984	s.MemoryInfo = v
73985	return s
73986}
73987
73988// SetName sets the Name field's value.
73989func (s *FpgaDeviceInfo) SetName(v string) *FpgaDeviceInfo {
73990	s.Name = &v
73991	return s
73992}
73993
73994// Describes the memory for the FPGA accelerator for the instance type.
73995type FpgaDeviceMemoryInfo struct {
73996	_ struct{} `type:"structure"`
73997
73998	// The size (in MiB) for the memory available to the FPGA accelerator.
73999	SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
74000}
74001
74002// String returns the string representation
74003func (s FpgaDeviceMemoryInfo) String() string {
74004	return awsutil.Prettify(s)
74005}
74006
74007// GoString returns the string representation
74008func (s FpgaDeviceMemoryInfo) GoString() string {
74009	return s.String()
74010}
74011
74012// SetSizeInMiB sets the SizeInMiB field's value.
74013func (s *FpgaDeviceMemoryInfo) SetSizeInMiB(v int64) *FpgaDeviceMemoryInfo {
74014	s.SizeInMiB = &v
74015	return s
74016}
74017
74018// Describes an Amazon FPGA image (AFI).
74019type FpgaImage struct {
74020	_ struct{} `type:"structure"`
74021
74022	// The date and time the AFI was created.
74023	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
74024
74025	// Indicates whether data retention support is enabled for the AFI.
74026	DataRetentionSupport *bool `locationName:"dataRetentionSupport" type:"boolean"`
74027
74028	// The description of the AFI.
74029	Description *string `locationName:"description" type:"string"`
74030
74031	// The global FPGA image identifier (AGFI ID).
74032	FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
74033
74034	// The FPGA image identifier (AFI ID).
74035	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
74036
74037	// The name of the AFI.
74038	Name *string `locationName:"name" type:"string"`
74039
74040	// The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
74041	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
74042
74043	// The AWS account ID of the AFI owner.
74044	OwnerId *string `locationName:"ownerId" type:"string"`
74045
74046	// Information about the PCI bus.
74047	PciId *PciId `locationName:"pciId" type:"structure"`
74048
74049	// The product codes for the AFI.
74050	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
74051
74052	// Indicates whether the AFI is public.
74053	Public *bool `locationName:"public" type:"boolean"`
74054
74055	// The version of the AWS Shell that was used to create the bitstream.
74056	ShellVersion *string `locationName:"shellVersion" type:"string"`
74057
74058	// Information about the state of the AFI.
74059	State *FpgaImageState `locationName:"state" type:"structure"`
74060
74061	// Any tags assigned to the AFI.
74062	Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
74063
74064	// The time of the most recent update to the AFI.
74065	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
74066}
74067
74068// String returns the string representation
74069func (s FpgaImage) String() string {
74070	return awsutil.Prettify(s)
74071}
74072
74073// GoString returns the string representation
74074func (s FpgaImage) GoString() string {
74075	return s.String()
74076}
74077
74078// SetCreateTime sets the CreateTime field's value.
74079func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
74080	s.CreateTime = &v
74081	return s
74082}
74083
74084// SetDataRetentionSupport sets the DataRetentionSupport field's value.
74085func (s *FpgaImage) SetDataRetentionSupport(v bool) *FpgaImage {
74086	s.DataRetentionSupport = &v
74087	return s
74088}
74089
74090// SetDescription sets the Description field's value.
74091func (s *FpgaImage) SetDescription(v string) *FpgaImage {
74092	s.Description = &v
74093	return s
74094}
74095
74096// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
74097func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
74098	s.FpgaImageGlobalId = &v
74099	return s
74100}
74101
74102// SetFpgaImageId sets the FpgaImageId field's value.
74103func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
74104	s.FpgaImageId = &v
74105	return s
74106}
74107
74108// SetName sets the Name field's value.
74109func (s *FpgaImage) SetName(v string) *FpgaImage {
74110	s.Name = &v
74111	return s
74112}
74113
74114// SetOwnerAlias sets the OwnerAlias field's value.
74115func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
74116	s.OwnerAlias = &v
74117	return s
74118}
74119
74120// SetOwnerId sets the OwnerId field's value.
74121func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
74122	s.OwnerId = &v
74123	return s
74124}
74125
74126// SetPciId sets the PciId field's value.
74127func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
74128	s.PciId = v
74129	return s
74130}
74131
74132// SetProductCodes sets the ProductCodes field's value.
74133func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
74134	s.ProductCodes = v
74135	return s
74136}
74137
74138// SetPublic sets the Public field's value.
74139func (s *FpgaImage) SetPublic(v bool) *FpgaImage {
74140	s.Public = &v
74141	return s
74142}
74143
74144// SetShellVersion sets the ShellVersion field's value.
74145func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
74146	s.ShellVersion = &v
74147	return s
74148}
74149
74150// SetState sets the State field's value.
74151func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
74152	s.State = v
74153	return s
74154}
74155
74156// SetTags sets the Tags field's value.
74157func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
74158	s.Tags = v
74159	return s
74160}
74161
74162// SetUpdateTime sets the UpdateTime field's value.
74163func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
74164	s.UpdateTime = &v
74165	return s
74166}
74167
74168// Describes an Amazon FPGA image (AFI) attribute.
74169type FpgaImageAttribute struct {
74170	_ struct{} `type:"structure"`
74171
74172	// The description of the AFI.
74173	Description *string `locationName:"description" type:"string"`
74174
74175	// The ID of the AFI.
74176	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
74177
74178	// The load permissions.
74179	LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"`
74180
74181	// The name of the AFI.
74182	Name *string `locationName:"name" type:"string"`
74183
74184	// The product codes.
74185	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
74186}
74187
74188// String returns the string representation
74189func (s FpgaImageAttribute) String() string {
74190	return awsutil.Prettify(s)
74191}
74192
74193// GoString returns the string representation
74194func (s FpgaImageAttribute) GoString() string {
74195	return s.String()
74196}
74197
74198// SetDescription sets the Description field's value.
74199func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute {
74200	s.Description = &v
74201	return s
74202}
74203
74204// SetFpgaImageId sets the FpgaImageId field's value.
74205func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute {
74206	s.FpgaImageId = &v
74207	return s
74208}
74209
74210// SetLoadPermissions sets the LoadPermissions field's value.
74211func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute {
74212	s.LoadPermissions = v
74213	return s
74214}
74215
74216// SetName sets the Name field's value.
74217func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute {
74218	s.Name = &v
74219	return s
74220}
74221
74222// SetProductCodes sets the ProductCodes field's value.
74223func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute {
74224	s.ProductCodes = v
74225	return s
74226}
74227
74228// Describes the state of the bitstream generation process for an Amazon FPGA
74229// image (AFI).
74230type FpgaImageState struct {
74231	_ struct{} `type:"structure"`
74232
74233	// The state. The following are the possible values:
74234	//
74235	//    * pending - AFI bitstream generation is in progress.
74236	//
74237	//    * available - The AFI is available for use.
74238	//
74239	//    * failed - AFI bitstream generation failed.
74240	//
74241	//    * unavailable - The AFI is no longer available for use.
74242	Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
74243
74244	// If the state is failed, this is the error message.
74245	Message *string `locationName:"message" type:"string"`
74246}
74247
74248// String returns the string representation
74249func (s FpgaImageState) String() string {
74250	return awsutil.Prettify(s)
74251}
74252
74253// GoString returns the string representation
74254func (s FpgaImageState) GoString() string {
74255	return s.String()
74256}
74257
74258// SetCode sets the Code field's value.
74259func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
74260	s.Code = &v
74261	return s
74262}
74263
74264// SetMessage sets the Message field's value.
74265func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
74266	s.Message = &v
74267	return s
74268}
74269
74270// Describes the FPGAs for the instance type.
74271type FpgaInfo struct {
74272	_ struct{} `type:"structure"`
74273
74274	// Describes the FPGAs for the instance type.
74275	Fpgas []*FpgaDeviceInfo `locationName:"fpgas" locationNameList:"item" type:"list"`
74276
74277	// The total memory of all FPGA accelerators for the instance type.
74278	TotalFpgaMemoryInMiB *int64 `locationName:"totalFpgaMemoryInMiB" type:"integer"`
74279}
74280
74281// String returns the string representation
74282func (s FpgaInfo) String() string {
74283	return awsutil.Prettify(s)
74284}
74285
74286// GoString returns the string representation
74287func (s FpgaInfo) GoString() string {
74288	return s.String()
74289}
74290
74291// SetFpgas sets the Fpgas field's value.
74292func (s *FpgaInfo) SetFpgas(v []*FpgaDeviceInfo) *FpgaInfo {
74293	s.Fpgas = v
74294	return s
74295}
74296
74297// SetTotalFpgaMemoryInMiB sets the TotalFpgaMemoryInMiB field's value.
74298func (s *FpgaInfo) SetTotalFpgaMemoryInMiB(v int64) *FpgaInfo {
74299	s.TotalFpgaMemoryInMiB = &v
74300	return s
74301}
74302
74303type GetAssociatedIpv6PoolCidrsInput struct {
74304	_ struct{} `type:"structure"`
74305
74306	// Checks whether you have the required permissions for the action, without
74307	// actually making the request, and provides an error response. If you have
74308	// the required permissions, the error response is DryRunOperation. Otherwise,
74309	// it is UnauthorizedOperation.
74310	DryRun *bool `type:"boolean"`
74311
74312	// The maximum number of results to return with a single call. To retrieve the
74313	// remaining results, make another call with the returned nextToken value.
74314	MaxResults *int64 `min:"1" type:"integer"`
74315
74316	// The token for the next page of results.
74317	NextToken *string `type:"string"`
74318
74319	// The ID of the IPv6 address pool.
74320	//
74321	// PoolId is a required field
74322	PoolId *string `type:"string" required:"true"`
74323}
74324
74325// String returns the string representation
74326func (s GetAssociatedIpv6PoolCidrsInput) String() string {
74327	return awsutil.Prettify(s)
74328}
74329
74330// GoString returns the string representation
74331func (s GetAssociatedIpv6PoolCidrsInput) GoString() string {
74332	return s.String()
74333}
74334
74335// Validate inspects the fields of the type to determine if they are valid.
74336func (s *GetAssociatedIpv6PoolCidrsInput) Validate() error {
74337	invalidParams := request.ErrInvalidParams{Context: "GetAssociatedIpv6PoolCidrsInput"}
74338	if s.MaxResults != nil && *s.MaxResults < 1 {
74339		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
74340	}
74341	if s.PoolId == nil {
74342		invalidParams.Add(request.NewErrParamRequired("PoolId"))
74343	}
74344
74345	if invalidParams.Len() > 0 {
74346		return invalidParams
74347	}
74348	return nil
74349}
74350
74351// SetDryRun sets the DryRun field's value.
74352func (s *GetAssociatedIpv6PoolCidrsInput) SetDryRun(v bool) *GetAssociatedIpv6PoolCidrsInput {
74353	s.DryRun = &v
74354	return s
74355}
74356
74357// SetMaxResults sets the MaxResults field's value.
74358func (s *GetAssociatedIpv6PoolCidrsInput) SetMaxResults(v int64) *GetAssociatedIpv6PoolCidrsInput {
74359	s.MaxResults = &v
74360	return s
74361}
74362
74363// SetNextToken sets the NextToken field's value.
74364func (s *GetAssociatedIpv6PoolCidrsInput) SetNextToken(v string) *GetAssociatedIpv6PoolCidrsInput {
74365	s.NextToken = &v
74366	return s
74367}
74368
74369// SetPoolId sets the PoolId field's value.
74370func (s *GetAssociatedIpv6PoolCidrsInput) SetPoolId(v string) *GetAssociatedIpv6PoolCidrsInput {
74371	s.PoolId = &v
74372	return s
74373}
74374
74375type GetAssociatedIpv6PoolCidrsOutput struct {
74376	_ struct{} `type:"structure"`
74377
74378	// Information about the IPv6 CIDR block associations.
74379	Ipv6CidrAssociations []*Ipv6CidrAssociation `locationName:"ipv6CidrAssociationSet" locationNameList:"item" type:"list"`
74380
74381	// The token to use to retrieve the next page of results. This value is null
74382	// when there are no more results to return.
74383	NextToken *string `locationName:"nextToken" type:"string"`
74384}
74385
74386// String returns the string representation
74387func (s GetAssociatedIpv6PoolCidrsOutput) String() string {
74388	return awsutil.Prettify(s)
74389}
74390
74391// GoString returns the string representation
74392func (s GetAssociatedIpv6PoolCidrsOutput) GoString() string {
74393	return s.String()
74394}
74395
74396// SetIpv6CidrAssociations sets the Ipv6CidrAssociations field's value.
74397func (s *GetAssociatedIpv6PoolCidrsOutput) SetIpv6CidrAssociations(v []*Ipv6CidrAssociation) *GetAssociatedIpv6PoolCidrsOutput {
74398	s.Ipv6CidrAssociations = v
74399	return s
74400}
74401
74402// SetNextToken sets the NextToken field's value.
74403func (s *GetAssociatedIpv6PoolCidrsOutput) SetNextToken(v string) *GetAssociatedIpv6PoolCidrsOutput {
74404	s.NextToken = &v
74405	return s
74406}
74407
74408type GetCapacityReservationUsageInput struct {
74409	_ struct{} `type:"structure"`
74410
74411	// The ID of the Capacity Reservation.
74412	//
74413	// CapacityReservationId is a required field
74414	CapacityReservationId *string `type:"string" required:"true"`
74415
74416	// Checks whether you have the required permissions for the action, without
74417	// actually making the request, and provides an error response. If you have
74418	// the required permissions, the error response is DryRunOperation. Otherwise,
74419	// it is UnauthorizedOperation.
74420	DryRun *bool `type:"boolean"`
74421
74422	// The maximum number of results to return for the request in a single page.
74423	// The remaining results can be seen by sending another request with the returned
74424	// nextToken value.
74425	//
74426	// Valid range: Minimum value of 1. Maximum value of 1000.
74427	MaxResults *int64 `min:"1" type:"integer"`
74428
74429	// The token to retrieve the next page of results.
74430	NextToken *string `type:"string"`
74431}
74432
74433// String returns the string representation
74434func (s GetCapacityReservationUsageInput) String() string {
74435	return awsutil.Prettify(s)
74436}
74437
74438// GoString returns the string representation
74439func (s GetCapacityReservationUsageInput) GoString() string {
74440	return s.String()
74441}
74442
74443// Validate inspects the fields of the type to determine if they are valid.
74444func (s *GetCapacityReservationUsageInput) Validate() error {
74445	invalidParams := request.ErrInvalidParams{Context: "GetCapacityReservationUsageInput"}
74446	if s.CapacityReservationId == nil {
74447		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
74448	}
74449	if s.MaxResults != nil && *s.MaxResults < 1 {
74450		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
74451	}
74452
74453	if invalidParams.Len() > 0 {
74454		return invalidParams
74455	}
74456	return nil
74457}
74458
74459// SetCapacityReservationId sets the CapacityReservationId field's value.
74460func (s *GetCapacityReservationUsageInput) SetCapacityReservationId(v string) *GetCapacityReservationUsageInput {
74461	s.CapacityReservationId = &v
74462	return s
74463}
74464
74465// SetDryRun sets the DryRun field's value.
74466func (s *GetCapacityReservationUsageInput) SetDryRun(v bool) *GetCapacityReservationUsageInput {
74467	s.DryRun = &v
74468	return s
74469}
74470
74471// SetMaxResults sets the MaxResults field's value.
74472func (s *GetCapacityReservationUsageInput) SetMaxResults(v int64) *GetCapacityReservationUsageInput {
74473	s.MaxResults = &v
74474	return s
74475}
74476
74477// SetNextToken sets the NextToken field's value.
74478func (s *GetCapacityReservationUsageInput) SetNextToken(v string) *GetCapacityReservationUsageInput {
74479	s.NextToken = &v
74480	return s
74481}
74482
74483type GetCapacityReservationUsageOutput struct {
74484	_ struct{} `type:"structure"`
74485
74486	// The remaining capacity. Indicates the number of instances that can be launched
74487	// in the Capacity Reservation.
74488	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
74489
74490	// The ID of the Capacity Reservation.
74491	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
74492
74493	// The type of instance for which the Capacity Reservation reserves capacity.
74494	InstanceType *string `locationName:"instanceType" type:"string"`
74495
74496	// Information about the Capacity Reservation usage.
74497	InstanceUsages []*InstanceUsage `locationName:"instanceUsageSet" locationNameList:"item" type:"list"`
74498
74499	// The token to use to retrieve the next page of results. This value is null
74500	// when there are no more results to return.
74501	NextToken *string `locationName:"nextToken" type:"string"`
74502
74503	// The current state of the Capacity Reservation. A Capacity Reservation can
74504	// be in one of the following states:
74505	//
74506	//    * active - The Capacity Reservation is active and the capacity is available
74507	//    for your use.
74508	//
74509	//    * expired - The Capacity Reservation expired automatically at the date
74510	//    and time specified in your request. The reserved capacity is no longer
74511	//    available for your use.
74512	//
74513	//    * cancelled - The Capacity Reservation was manually cancelled. The reserved
74514	//    capacity is no longer available for your use.
74515	//
74516	//    * pending - The Capacity Reservation request was successful but the capacity
74517	//    provisioning is still pending.
74518	//
74519	//    * failed - The Capacity Reservation request has failed. A request might
74520	//    fail due to invalid request parameters, capacity constraints, or instance
74521	//    limit constraints. Failed requests are retained for 60 minutes.
74522	State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
74523
74524	// The number of instances for which the Capacity Reservation reserves capacity.
74525	TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
74526}
74527
74528// String returns the string representation
74529func (s GetCapacityReservationUsageOutput) String() string {
74530	return awsutil.Prettify(s)
74531}
74532
74533// GoString returns the string representation
74534func (s GetCapacityReservationUsageOutput) GoString() string {
74535	return s.String()
74536}
74537
74538// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
74539func (s *GetCapacityReservationUsageOutput) SetAvailableInstanceCount(v int64) *GetCapacityReservationUsageOutput {
74540	s.AvailableInstanceCount = &v
74541	return s
74542}
74543
74544// SetCapacityReservationId sets the CapacityReservationId field's value.
74545func (s *GetCapacityReservationUsageOutput) SetCapacityReservationId(v string) *GetCapacityReservationUsageOutput {
74546	s.CapacityReservationId = &v
74547	return s
74548}
74549
74550// SetInstanceType sets the InstanceType field's value.
74551func (s *GetCapacityReservationUsageOutput) SetInstanceType(v string) *GetCapacityReservationUsageOutput {
74552	s.InstanceType = &v
74553	return s
74554}
74555
74556// SetInstanceUsages sets the InstanceUsages field's value.
74557func (s *GetCapacityReservationUsageOutput) SetInstanceUsages(v []*InstanceUsage) *GetCapacityReservationUsageOutput {
74558	s.InstanceUsages = v
74559	return s
74560}
74561
74562// SetNextToken sets the NextToken field's value.
74563func (s *GetCapacityReservationUsageOutput) SetNextToken(v string) *GetCapacityReservationUsageOutput {
74564	s.NextToken = &v
74565	return s
74566}
74567
74568// SetState sets the State field's value.
74569func (s *GetCapacityReservationUsageOutput) SetState(v string) *GetCapacityReservationUsageOutput {
74570	s.State = &v
74571	return s
74572}
74573
74574// SetTotalInstanceCount sets the TotalInstanceCount field's value.
74575func (s *GetCapacityReservationUsageOutput) SetTotalInstanceCount(v int64) *GetCapacityReservationUsageOutput {
74576	s.TotalInstanceCount = &v
74577	return s
74578}
74579
74580type GetCoipPoolUsageInput struct {
74581	_ struct{} `type:"structure"`
74582
74583	// Checks whether you have the required permissions for the action, without
74584	// actually making the request, and provides an error response. If you have
74585	// the required permissions, the error response is DryRunOperation. Otherwise,
74586	// it is UnauthorizedOperation.
74587	DryRun *bool `type:"boolean"`
74588
74589	// The filters. The following are the possible values:
74590	//
74591	//    * coip-address-usage.allocation-id
74592	//
74593	//    * coip-address-usage.aws-account-id
74594	//
74595	//    * coip-address-usage.aws-service
74596	//
74597	//    * coip-address-usage.co-ip
74598	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74599
74600	// The maximum number of results to return with a single call. To retrieve the
74601	// remaining results, make another call with the returned nextToken value.
74602	MaxResults *int64 `min:"5" type:"integer"`
74603
74604	// The token for the next page of results.
74605	NextToken *string `type:"string"`
74606
74607	// The ID of the address pool.
74608	//
74609	// PoolId is a required field
74610	PoolId *string `type:"string" required:"true"`
74611}
74612
74613// String returns the string representation
74614func (s GetCoipPoolUsageInput) String() string {
74615	return awsutil.Prettify(s)
74616}
74617
74618// GoString returns the string representation
74619func (s GetCoipPoolUsageInput) GoString() string {
74620	return s.String()
74621}
74622
74623// Validate inspects the fields of the type to determine if they are valid.
74624func (s *GetCoipPoolUsageInput) Validate() error {
74625	invalidParams := request.ErrInvalidParams{Context: "GetCoipPoolUsageInput"}
74626	if s.MaxResults != nil && *s.MaxResults < 5 {
74627		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
74628	}
74629	if s.PoolId == nil {
74630		invalidParams.Add(request.NewErrParamRequired("PoolId"))
74631	}
74632
74633	if invalidParams.Len() > 0 {
74634		return invalidParams
74635	}
74636	return nil
74637}
74638
74639// SetDryRun sets the DryRun field's value.
74640func (s *GetCoipPoolUsageInput) SetDryRun(v bool) *GetCoipPoolUsageInput {
74641	s.DryRun = &v
74642	return s
74643}
74644
74645// SetFilters sets the Filters field's value.
74646func (s *GetCoipPoolUsageInput) SetFilters(v []*Filter) *GetCoipPoolUsageInput {
74647	s.Filters = v
74648	return s
74649}
74650
74651// SetMaxResults sets the MaxResults field's value.
74652func (s *GetCoipPoolUsageInput) SetMaxResults(v int64) *GetCoipPoolUsageInput {
74653	s.MaxResults = &v
74654	return s
74655}
74656
74657// SetNextToken sets the NextToken field's value.
74658func (s *GetCoipPoolUsageInput) SetNextToken(v string) *GetCoipPoolUsageInput {
74659	s.NextToken = &v
74660	return s
74661}
74662
74663// SetPoolId sets the PoolId field's value.
74664func (s *GetCoipPoolUsageInput) SetPoolId(v string) *GetCoipPoolUsageInput {
74665	s.PoolId = &v
74666	return s
74667}
74668
74669type GetCoipPoolUsageOutput struct {
74670	_ struct{} `type:"structure"`
74671
74672	// Information about the address usage.
74673	CoipAddressUsages []*CoipAddressUsage `locationName:"coipAddressUsageSet" locationNameList:"item" type:"list"`
74674
74675	// The ID of the customer-owned address pool.
74676	CoipPoolId *string `locationName:"coipPoolId" type:"string"`
74677
74678	// The ID of the local gateway route table.
74679	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
74680}
74681
74682// String returns the string representation
74683func (s GetCoipPoolUsageOutput) String() string {
74684	return awsutil.Prettify(s)
74685}
74686
74687// GoString returns the string representation
74688func (s GetCoipPoolUsageOutput) GoString() string {
74689	return s.String()
74690}
74691
74692// SetCoipAddressUsages sets the CoipAddressUsages field's value.
74693func (s *GetCoipPoolUsageOutput) SetCoipAddressUsages(v []*CoipAddressUsage) *GetCoipPoolUsageOutput {
74694	s.CoipAddressUsages = v
74695	return s
74696}
74697
74698// SetCoipPoolId sets the CoipPoolId field's value.
74699func (s *GetCoipPoolUsageOutput) SetCoipPoolId(v string) *GetCoipPoolUsageOutput {
74700	s.CoipPoolId = &v
74701	return s
74702}
74703
74704// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
74705func (s *GetCoipPoolUsageOutput) SetLocalGatewayRouteTableId(v string) *GetCoipPoolUsageOutput {
74706	s.LocalGatewayRouteTableId = &v
74707	return s
74708}
74709
74710type GetConsoleOutputInput struct {
74711	_ struct{} `type:"structure"`
74712
74713	// Checks whether you have the required permissions for the action, without
74714	// actually making the request, and provides an error response. If you have
74715	// the required permissions, the error response is DryRunOperation. Otherwise,
74716	// it is UnauthorizedOperation.
74717	DryRun *bool `locationName:"dryRun" type:"boolean"`
74718
74719	// The ID of the instance.
74720	//
74721	// InstanceId is a required field
74722	InstanceId *string `type:"string" required:"true"`
74723
74724	// When enabled, retrieves the latest console output for the instance.
74725	//
74726	// Default: disabled (false)
74727	Latest *bool `type:"boolean"`
74728}
74729
74730// String returns the string representation
74731func (s GetConsoleOutputInput) String() string {
74732	return awsutil.Prettify(s)
74733}
74734
74735// GoString returns the string representation
74736func (s GetConsoleOutputInput) GoString() string {
74737	return s.String()
74738}
74739
74740// Validate inspects the fields of the type to determine if they are valid.
74741func (s *GetConsoleOutputInput) Validate() error {
74742	invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
74743	if s.InstanceId == nil {
74744		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
74745	}
74746
74747	if invalidParams.Len() > 0 {
74748		return invalidParams
74749	}
74750	return nil
74751}
74752
74753// SetDryRun sets the DryRun field's value.
74754func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
74755	s.DryRun = &v
74756	return s
74757}
74758
74759// SetInstanceId sets the InstanceId field's value.
74760func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
74761	s.InstanceId = &v
74762	return s
74763}
74764
74765// SetLatest sets the Latest field's value.
74766func (s *GetConsoleOutputInput) SetLatest(v bool) *GetConsoleOutputInput {
74767	s.Latest = &v
74768	return s
74769}
74770
74771type GetConsoleOutputOutput struct {
74772	_ struct{} `type:"structure"`
74773
74774	// The ID of the instance.
74775	InstanceId *string `locationName:"instanceId" type:"string"`
74776
74777	// The console output, base64-encoded. If you are using a command line tool,
74778	// the tool decodes the output for you.
74779	Output *string `locationName:"output" type:"string"`
74780
74781	// The time at which the output was last updated.
74782	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
74783}
74784
74785// String returns the string representation
74786func (s GetConsoleOutputOutput) String() string {
74787	return awsutil.Prettify(s)
74788}
74789
74790// GoString returns the string representation
74791func (s GetConsoleOutputOutput) GoString() string {
74792	return s.String()
74793}
74794
74795// SetInstanceId sets the InstanceId field's value.
74796func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
74797	s.InstanceId = &v
74798	return s
74799}
74800
74801// SetOutput sets the Output field's value.
74802func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
74803	s.Output = &v
74804	return s
74805}
74806
74807// SetTimestamp sets the Timestamp field's value.
74808func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
74809	s.Timestamp = &v
74810	return s
74811}
74812
74813type GetConsoleScreenshotInput struct {
74814	_ struct{} `type:"structure"`
74815
74816	// Checks whether you have the required permissions for the action, without
74817	// actually making the request, and provides an error response. If you have
74818	// the required permissions, the error response is DryRunOperation. Otherwise,
74819	// it is UnauthorizedOperation.
74820	DryRun *bool `type:"boolean"`
74821
74822	// The ID of the instance.
74823	//
74824	// InstanceId is a required field
74825	InstanceId *string `type:"string" required:"true"`
74826
74827	// When set to true, acts as keystroke input and wakes up an instance that's
74828	// in standby or "sleep" mode.
74829	WakeUp *bool `type:"boolean"`
74830}
74831
74832// String returns the string representation
74833func (s GetConsoleScreenshotInput) String() string {
74834	return awsutil.Prettify(s)
74835}
74836
74837// GoString returns the string representation
74838func (s GetConsoleScreenshotInput) GoString() string {
74839	return s.String()
74840}
74841
74842// Validate inspects the fields of the type to determine if they are valid.
74843func (s *GetConsoleScreenshotInput) Validate() error {
74844	invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
74845	if s.InstanceId == nil {
74846		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
74847	}
74848
74849	if invalidParams.Len() > 0 {
74850		return invalidParams
74851	}
74852	return nil
74853}
74854
74855// SetDryRun sets the DryRun field's value.
74856func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
74857	s.DryRun = &v
74858	return s
74859}
74860
74861// SetInstanceId sets the InstanceId field's value.
74862func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
74863	s.InstanceId = &v
74864	return s
74865}
74866
74867// SetWakeUp sets the WakeUp field's value.
74868func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
74869	s.WakeUp = &v
74870	return s
74871}
74872
74873type GetConsoleScreenshotOutput struct {
74874	_ struct{} `type:"structure"`
74875
74876	// The data that comprises the image.
74877	ImageData *string `locationName:"imageData" type:"string"`
74878
74879	// The ID of the instance.
74880	InstanceId *string `locationName:"instanceId" type:"string"`
74881}
74882
74883// String returns the string representation
74884func (s GetConsoleScreenshotOutput) String() string {
74885	return awsutil.Prettify(s)
74886}
74887
74888// GoString returns the string representation
74889func (s GetConsoleScreenshotOutput) GoString() string {
74890	return s.String()
74891}
74892
74893// SetImageData sets the ImageData field's value.
74894func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
74895	s.ImageData = &v
74896	return s
74897}
74898
74899// SetInstanceId sets the InstanceId field's value.
74900func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
74901	s.InstanceId = &v
74902	return s
74903}
74904
74905type GetDefaultCreditSpecificationInput struct {
74906	_ struct{} `type:"structure"`
74907
74908	// Checks whether you have the required permissions for the action, without
74909	// actually making the request, and provides an error response. If you have
74910	// the required permissions, the error response is DryRunOperation. Otherwise,
74911	// it is UnauthorizedOperation.
74912	DryRun *bool `type:"boolean"`
74913
74914	// The instance family.
74915	//
74916	// InstanceFamily is a required field
74917	InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
74918}
74919
74920// String returns the string representation
74921func (s GetDefaultCreditSpecificationInput) String() string {
74922	return awsutil.Prettify(s)
74923}
74924
74925// GoString returns the string representation
74926func (s GetDefaultCreditSpecificationInput) GoString() string {
74927	return s.String()
74928}
74929
74930// Validate inspects the fields of the type to determine if they are valid.
74931func (s *GetDefaultCreditSpecificationInput) Validate() error {
74932	invalidParams := request.ErrInvalidParams{Context: "GetDefaultCreditSpecificationInput"}
74933	if s.InstanceFamily == nil {
74934		invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
74935	}
74936
74937	if invalidParams.Len() > 0 {
74938		return invalidParams
74939	}
74940	return nil
74941}
74942
74943// SetDryRun sets the DryRun field's value.
74944func (s *GetDefaultCreditSpecificationInput) SetDryRun(v bool) *GetDefaultCreditSpecificationInput {
74945	s.DryRun = &v
74946	return s
74947}
74948
74949// SetInstanceFamily sets the InstanceFamily field's value.
74950func (s *GetDefaultCreditSpecificationInput) SetInstanceFamily(v string) *GetDefaultCreditSpecificationInput {
74951	s.InstanceFamily = &v
74952	return s
74953}
74954
74955type GetDefaultCreditSpecificationOutput struct {
74956	_ struct{} `type:"structure"`
74957
74958	// The default credit option for CPU usage of the instance family.
74959	InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
74960}
74961
74962// String returns the string representation
74963func (s GetDefaultCreditSpecificationOutput) String() string {
74964	return awsutil.Prettify(s)
74965}
74966
74967// GoString returns the string representation
74968func (s GetDefaultCreditSpecificationOutput) GoString() string {
74969	return s.String()
74970}
74971
74972// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
74973func (s *GetDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *GetDefaultCreditSpecificationOutput {
74974	s.InstanceFamilyCreditSpecification = v
74975	return s
74976}
74977
74978type GetEbsDefaultKmsKeyIdInput struct {
74979	_ struct{} `type:"structure"`
74980
74981	// Checks whether you have the required permissions for the action, without
74982	// actually making the request, and provides an error response. If you have
74983	// the required permissions, the error response is DryRunOperation. Otherwise,
74984	// it is UnauthorizedOperation.
74985	DryRun *bool `type:"boolean"`
74986}
74987
74988// String returns the string representation
74989func (s GetEbsDefaultKmsKeyIdInput) String() string {
74990	return awsutil.Prettify(s)
74991}
74992
74993// GoString returns the string representation
74994func (s GetEbsDefaultKmsKeyIdInput) GoString() string {
74995	return s.String()
74996}
74997
74998// SetDryRun sets the DryRun field's value.
74999func (s *GetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *GetEbsDefaultKmsKeyIdInput {
75000	s.DryRun = &v
75001	return s
75002}
75003
75004type GetEbsDefaultKmsKeyIdOutput struct {
75005	_ struct{} `type:"structure"`
75006
75007	// The Amazon Resource Name (ARN) of the default CMK for encryption by default.
75008	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
75009}
75010
75011// String returns the string representation
75012func (s GetEbsDefaultKmsKeyIdOutput) String() string {
75013	return awsutil.Prettify(s)
75014}
75015
75016// GoString returns the string representation
75017func (s GetEbsDefaultKmsKeyIdOutput) GoString() string {
75018	return s.String()
75019}
75020
75021// SetKmsKeyId sets the KmsKeyId field's value.
75022func (s *GetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *GetEbsDefaultKmsKeyIdOutput {
75023	s.KmsKeyId = &v
75024	return s
75025}
75026
75027type GetEbsEncryptionByDefaultInput struct {
75028	_ struct{} `type:"structure"`
75029
75030	// Checks whether you have the required permissions for the action, without
75031	// actually making the request, and provides an error response. If you have
75032	// the required permissions, the error response is DryRunOperation. Otherwise,
75033	// it is UnauthorizedOperation.
75034	DryRun *bool `type:"boolean"`
75035}
75036
75037// String returns the string representation
75038func (s GetEbsEncryptionByDefaultInput) String() string {
75039	return awsutil.Prettify(s)
75040}
75041
75042// GoString returns the string representation
75043func (s GetEbsEncryptionByDefaultInput) GoString() string {
75044	return s.String()
75045}
75046
75047// SetDryRun sets the DryRun field's value.
75048func (s *GetEbsEncryptionByDefaultInput) SetDryRun(v bool) *GetEbsEncryptionByDefaultInput {
75049	s.DryRun = &v
75050	return s
75051}
75052
75053type GetEbsEncryptionByDefaultOutput struct {
75054	_ struct{} `type:"structure"`
75055
75056	// Indicates whether encryption by default is enabled.
75057	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
75058}
75059
75060// String returns the string representation
75061func (s GetEbsEncryptionByDefaultOutput) String() string {
75062	return awsutil.Prettify(s)
75063}
75064
75065// GoString returns the string representation
75066func (s GetEbsEncryptionByDefaultOutput) GoString() string {
75067	return s.String()
75068}
75069
75070// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
75071func (s *GetEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *GetEbsEncryptionByDefaultOutput {
75072	s.EbsEncryptionByDefault = &v
75073	return s
75074}
75075
75076type GetHostReservationPurchasePreviewInput struct {
75077	_ struct{} `type:"structure"`
75078
75079	// The IDs of the Dedicated Hosts with which the reservation is associated.
75080	//
75081	// HostIdSet is a required field
75082	HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
75083
75084	// The offering ID of the reservation.
75085	//
75086	// OfferingId is a required field
75087	OfferingId *string `type:"string" required:"true"`
75088}
75089
75090// String returns the string representation
75091func (s GetHostReservationPurchasePreviewInput) String() string {
75092	return awsutil.Prettify(s)
75093}
75094
75095// GoString returns the string representation
75096func (s GetHostReservationPurchasePreviewInput) GoString() string {
75097	return s.String()
75098}
75099
75100// Validate inspects the fields of the type to determine if they are valid.
75101func (s *GetHostReservationPurchasePreviewInput) Validate() error {
75102	invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
75103	if s.HostIdSet == nil {
75104		invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
75105	}
75106	if s.OfferingId == nil {
75107		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
75108	}
75109
75110	if invalidParams.Len() > 0 {
75111		return invalidParams
75112	}
75113	return nil
75114}
75115
75116// SetHostIdSet sets the HostIdSet field's value.
75117func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
75118	s.HostIdSet = v
75119	return s
75120}
75121
75122// SetOfferingId sets the OfferingId field's value.
75123func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
75124	s.OfferingId = &v
75125	return s
75126}
75127
75128type GetHostReservationPurchasePreviewOutput struct {
75129	_ struct{} `type:"structure"`
75130
75131	// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
75132	// are specified. At this time, the only supported currency is USD.
75133	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
75134
75135	// The purchase information of the Dedicated Host reservation and the Dedicated
75136	// Hosts associated with it.
75137	Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
75138
75139	// The potential total hourly price of the reservation per hour.
75140	TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
75141
75142	// The potential total upfront price. This is billed immediately.
75143	TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
75144}
75145
75146// String returns the string representation
75147func (s GetHostReservationPurchasePreviewOutput) String() string {
75148	return awsutil.Prettify(s)
75149}
75150
75151// GoString returns the string representation
75152func (s GetHostReservationPurchasePreviewOutput) GoString() string {
75153	return s.String()
75154}
75155
75156// SetCurrencyCode sets the CurrencyCode field's value.
75157func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
75158	s.CurrencyCode = &v
75159	return s
75160}
75161
75162// SetPurchase sets the Purchase field's value.
75163func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
75164	s.Purchase = v
75165	return s
75166}
75167
75168// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
75169func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
75170	s.TotalHourlyPrice = &v
75171	return s
75172}
75173
75174// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
75175func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
75176	s.TotalUpfrontPrice = &v
75177	return s
75178}
75179
75180type GetLaunchTemplateDataInput struct {
75181	_ struct{} `type:"structure"`
75182
75183	// Checks whether you have the required permissions for the action, without
75184	// actually making the request, and provides an error response. If you have
75185	// the required permissions, the error response is DryRunOperation. Otherwise,
75186	// it is UnauthorizedOperation.
75187	DryRun *bool `type:"boolean"`
75188
75189	// The ID of the instance.
75190	//
75191	// InstanceId is a required field
75192	InstanceId *string `type:"string" required:"true"`
75193}
75194
75195// String returns the string representation
75196func (s GetLaunchTemplateDataInput) String() string {
75197	return awsutil.Prettify(s)
75198}
75199
75200// GoString returns the string representation
75201func (s GetLaunchTemplateDataInput) GoString() string {
75202	return s.String()
75203}
75204
75205// Validate inspects the fields of the type to determine if they are valid.
75206func (s *GetLaunchTemplateDataInput) Validate() error {
75207	invalidParams := request.ErrInvalidParams{Context: "GetLaunchTemplateDataInput"}
75208	if s.InstanceId == nil {
75209		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
75210	}
75211
75212	if invalidParams.Len() > 0 {
75213		return invalidParams
75214	}
75215	return nil
75216}
75217
75218// SetDryRun sets the DryRun field's value.
75219func (s *GetLaunchTemplateDataInput) SetDryRun(v bool) *GetLaunchTemplateDataInput {
75220	s.DryRun = &v
75221	return s
75222}
75223
75224// SetInstanceId sets the InstanceId field's value.
75225func (s *GetLaunchTemplateDataInput) SetInstanceId(v string) *GetLaunchTemplateDataInput {
75226	s.InstanceId = &v
75227	return s
75228}
75229
75230type GetLaunchTemplateDataOutput struct {
75231	_ struct{} `type:"structure"`
75232
75233	// The instance data.
75234	LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
75235}
75236
75237// String returns the string representation
75238func (s GetLaunchTemplateDataOutput) String() string {
75239	return awsutil.Prettify(s)
75240}
75241
75242// GoString returns the string representation
75243func (s GetLaunchTemplateDataOutput) GoString() string {
75244	return s.String()
75245}
75246
75247// SetLaunchTemplateData sets the LaunchTemplateData field's value.
75248func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *GetLaunchTemplateDataOutput {
75249	s.LaunchTemplateData = v
75250	return s
75251}
75252
75253type GetPasswordDataInput struct {
75254	_ struct{} `type:"structure"`
75255
75256	// Checks whether you have the required permissions for the action, without
75257	// actually making the request, and provides an error response. If you have
75258	// the required permissions, the error response is DryRunOperation. Otherwise,
75259	// it is UnauthorizedOperation.
75260	DryRun *bool `locationName:"dryRun" type:"boolean"`
75261
75262	// The ID of the Windows instance.
75263	//
75264	// InstanceId is a required field
75265	InstanceId *string `type:"string" required:"true"`
75266}
75267
75268// String returns the string representation
75269func (s GetPasswordDataInput) String() string {
75270	return awsutil.Prettify(s)
75271}
75272
75273// GoString returns the string representation
75274func (s GetPasswordDataInput) GoString() string {
75275	return s.String()
75276}
75277
75278// Validate inspects the fields of the type to determine if they are valid.
75279func (s *GetPasswordDataInput) Validate() error {
75280	invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
75281	if s.InstanceId == nil {
75282		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
75283	}
75284
75285	if invalidParams.Len() > 0 {
75286		return invalidParams
75287	}
75288	return nil
75289}
75290
75291// SetDryRun sets the DryRun field's value.
75292func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
75293	s.DryRun = &v
75294	return s
75295}
75296
75297// SetInstanceId sets the InstanceId field's value.
75298func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
75299	s.InstanceId = &v
75300	return s
75301}
75302
75303type GetPasswordDataOutput struct {
75304	_ struct{} `type:"structure"`
75305
75306	// The ID of the Windows instance.
75307	InstanceId *string `locationName:"instanceId" type:"string"`
75308
75309	// The password of the instance. Returns an empty string if the password is
75310	// not available.
75311	PasswordData *string `locationName:"passwordData" type:"string"`
75312
75313	// The time the data was last updated.
75314	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
75315}
75316
75317// String returns the string representation
75318func (s GetPasswordDataOutput) String() string {
75319	return awsutil.Prettify(s)
75320}
75321
75322// GoString returns the string representation
75323func (s GetPasswordDataOutput) GoString() string {
75324	return s.String()
75325}
75326
75327// SetInstanceId sets the InstanceId field's value.
75328func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
75329	s.InstanceId = &v
75330	return s
75331}
75332
75333// SetPasswordData sets the PasswordData field's value.
75334func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
75335	s.PasswordData = &v
75336	return s
75337}
75338
75339// SetTimestamp sets the Timestamp field's value.
75340func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
75341	s.Timestamp = &v
75342	return s
75343}
75344
75345// Contains the parameters for GetReservedInstanceExchangeQuote.
75346type GetReservedInstancesExchangeQuoteInput struct {
75347	_ struct{} `type:"structure"`
75348
75349	// Checks whether you have the required permissions for the action, without
75350	// actually making the request, and provides an error response. If you have
75351	// the required permissions, the error response is DryRunOperation. Otherwise,
75352	// it is UnauthorizedOperation.
75353	DryRun *bool `type:"boolean"`
75354
75355	// The IDs of the Convertible Reserved Instances to exchange.
75356	//
75357	// ReservedInstanceIds is a required field
75358	ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
75359
75360	// The configuration of the target Convertible Reserved Instance to exchange
75361	// for your current Convertible Reserved Instances.
75362	TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
75363}
75364
75365// String returns the string representation
75366func (s GetReservedInstancesExchangeQuoteInput) String() string {
75367	return awsutil.Prettify(s)
75368}
75369
75370// GoString returns the string representation
75371func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
75372	return s.String()
75373}
75374
75375// Validate inspects the fields of the type to determine if they are valid.
75376func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
75377	invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
75378	if s.ReservedInstanceIds == nil {
75379		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
75380	}
75381	if s.TargetConfigurations != nil {
75382		for i, v := range s.TargetConfigurations {
75383			if v == nil {
75384				continue
75385			}
75386			if err := v.Validate(); err != nil {
75387				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
75388			}
75389		}
75390	}
75391
75392	if invalidParams.Len() > 0 {
75393		return invalidParams
75394	}
75395	return nil
75396}
75397
75398// SetDryRun sets the DryRun field's value.
75399func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
75400	s.DryRun = &v
75401	return s
75402}
75403
75404// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
75405func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
75406	s.ReservedInstanceIds = v
75407	return s
75408}
75409
75410// SetTargetConfigurations sets the TargetConfigurations field's value.
75411func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
75412	s.TargetConfigurations = v
75413	return s
75414}
75415
75416// Contains the output of GetReservedInstancesExchangeQuote.
75417type GetReservedInstancesExchangeQuoteOutput struct {
75418	_ struct{} `type:"structure"`
75419
75420	// The currency of the transaction.
75421	CurrencyCode *string `locationName:"currencyCode" type:"string"`
75422
75423	// If true, the exchange is valid. If false, the exchange cannot be completed.
75424	IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
75425
75426	// The new end date of the reservation term.
75427	OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp"`
75428
75429	// The total true upfront charge for the exchange.
75430	PaymentDue *string `locationName:"paymentDue" type:"string"`
75431
75432	// The cost associated with the Reserved Instance.
75433	ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
75434
75435	// The configuration of your Convertible Reserved Instances.
75436	ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
75437
75438	// The cost associated with the Reserved Instance.
75439	TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
75440
75441	// The values of the target Convertible Reserved Instances.
75442	TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
75443
75444	// Describes the reason why the exchange cannot be completed.
75445	ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
75446}
75447
75448// String returns the string representation
75449func (s GetReservedInstancesExchangeQuoteOutput) String() string {
75450	return awsutil.Prettify(s)
75451}
75452
75453// GoString returns the string representation
75454func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
75455	return s.String()
75456}
75457
75458// SetCurrencyCode sets the CurrencyCode field's value.
75459func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
75460	s.CurrencyCode = &v
75461	return s
75462}
75463
75464// SetIsValidExchange sets the IsValidExchange field's value.
75465func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
75466	s.IsValidExchange = &v
75467	return s
75468}
75469
75470// SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
75471func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
75472	s.OutputReservedInstancesWillExpireAt = &v
75473	return s
75474}
75475
75476// SetPaymentDue sets the PaymentDue field's value.
75477func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
75478	s.PaymentDue = &v
75479	return s
75480}
75481
75482// SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
75483func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
75484	s.ReservedInstanceValueRollup = v
75485	return s
75486}
75487
75488// SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
75489func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
75490	s.ReservedInstanceValueSet = v
75491	return s
75492}
75493
75494// SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
75495func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
75496	s.TargetConfigurationValueRollup = v
75497	return s
75498}
75499
75500// SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
75501func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
75502	s.TargetConfigurationValueSet = v
75503	return s
75504}
75505
75506// SetValidationFailureReason sets the ValidationFailureReason field's value.
75507func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
75508	s.ValidationFailureReason = &v
75509	return s
75510}
75511
75512type GetTransitGatewayAttachmentPropagationsInput struct {
75513	_ struct{} `type:"structure"`
75514
75515	// Checks whether you have the required permissions for the action, without
75516	// actually making the request, and provides an error response. If you have
75517	// the required permissions, the error response is DryRunOperation. Otherwise,
75518	// it is UnauthorizedOperation.
75519	DryRun *bool `type:"boolean"`
75520
75521	// One or more filters. The possible values are:
75522	//
75523	//    * transit-gateway-route-table-id - The ID of the transit gateway route
75524	//    table.
75525	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75526
75527	// The maximum number of results to return with a single call. To retrieve the
75528	// remaining results, make another call with the returned nextToken value.
75529	MaxResults *int64 `min:"5" type:"integer"`
75530
75531	// The token for the next page of results.
75532	NextToken *string `type:"string"`
75533
75534	// The ID of the attachment.
75535	//
75536	// TransitGatewayAttachmentId is a required field
75537	TransitGatewayAttachmentId *string `type:"string" required:"true"`
75538}
75539
75540// String returns the string representation
75541func (s GetTransitGatewayAttachmentPropagationsInput) String() string {
75542	return awsutil.Prettify(s)
75543}
75544
75545// GoString returns the string representation
75546func (s GetTransitGatewayAttachmentPropagationsInput) GoString() string {
75547	return s.String()
75548}
75549
75550// Validate inspects the fields of the type to determine if they are valid.
75551func (s *GetTransitGatewayAttachmentPropagationsInput) Validate() error {
75552	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayAttachmentPropagationsInput"}
75553	if s.MaxResults != nil && *s.MaxResults < 5 {
75554		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75555	}
75556	if s.TransitGatewayAttachmentId == nil {
75557		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
75558	}
75559
75560	if invalidParams.Len() > 0 {
75561		return invalidParams
75562	}
75563	return nil
75564}
75565
75566// SetDryRun sets the DryRun field's value.
75567func (s *GetTransitGatewayAttachmentPropagationsInput) SetDryRun(v bool) *GetTransitGatewayAttachmentPropagationsInput {
75568	s.DryRun = &v
75569	return s
75570}
75571
75572// SetFilters sets the Filters field's value.
75573func (s *GetTransitGatewayAttachmentPropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayAttachmentPropagationsInput {
75574	s.Filters = v
75575	return s
75576}
75577
75578// SetMaxResults sets the MaxResults field's value.
75579func (s *GetTransitGatewayAttachmentPropagationsInput) SetMaxResults(v int64) *GetTransitGatewayAttachmentPropagationsInput {
75580	s.MaxResults = &v
75581	return s
75582}
75583
75584// SetNextToken sets the NextToken field's value.
75585func (s *GetTransitGatewayAttachmentPropagationsInput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsInput {
75586	s.NextToken = &v
75587	return s
75588}
75589
75590// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
75591func (s *GetTransitGatewayAttachmentPropagationsInput) SetTransitGatewayAttachmentId(v string) *GetTransitGatewayAttachmentPropagationsInput {
75592	s.TransitGatewayAttachmentId = &v
75593	return s
75594}
75595
75596type GetTransitGatewayAttachmentPropagationsOutput struct {
75597	_ struct{} `type:"structure"`
75598
75599	// The token to use to retrieve the next page of results. This value is null
75600	// when there are no more results to return.
75601	NextToken *string `locationName:"nextToken" type:"string"`
75602
75603	// Information about the propagation route tables.
75604	TransitGatewayAttachmentPropagations []*TransitGatewayAttachmentPropagation `locationName:"transitGatewayAttachmentPropagations" locationNameList:"item" type:"list"`
75605}
75606
75607// String returns the string representation
75608func (s GetTransitGatewayAttachmentPropagationsOutput) String() string {
75609	return awsutil.Prettify(s)
75610}
75611
75612// GoString returns the string representation
75613func (s GetTransitGatewayAttachmentPropagationsOutput) GoString() string {
75614	return s.String()
75615}
75616
75617// SetNextToken sets the NextToken field's value.
75618func (s *GetTransitGatewayAttachmentPropagationsOutput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsOutput {
75619	s.NextToken = &v
75620	return s
75621}
75622
75623// SetTransitGatewayAttachmentPropagations sets the TransitGatewayAttachmentPropagations field's value.
75624func (s *GetTransitGatewayAttachmentPropagationsOutput) SetTransitGatewayAttachmentPropagations(v []*TransitGatewayAttachmentPropagation) *GetTransitGatewayAttachmentPropagationsOutput {
75625	s.TransitGatewayAttachmentPropagations = v
75626	return s
75627}
75628
75629type GetTransitGatewayMulticastDomainAssociationsInput struct {
75630	_ struct{} `type:"structure"`
75631
75632	// Checks whether you have the required permissions for the action, without
75633	// actually making the request, and provides an error response. If you have
75634	// the required permissions, the error response is DryRunOperation. Otherwise,
75635	// it is UnauthorizedOperation.
75636	DryRun *bool `type:"boolean"`
75637
75638	// One or more filters. The possible values are:
75639	//
75640	//    * resource-id - The ID of the resource.
75641	//
75642	//    * resource-type - The type of resource. The valid value is: vpc.
75643	//
75644	//    * state - The state of the subnet association. Valid values are associated
75645	//    | associating | disassociated | disassociating.
75646	//
75647	//    * subnet-id - The ID of the subnet.
75648	//
75649	//    * transit-gateway-attachment-id - The id of the transit gateway attachment.
75650	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75651
75652	// The maximum number of results to return with a single call. To retrieve the
75653	// remaining results, make another call with the returned nextToken value.
75654	MaxResults *int64 `min:"5" type:"integer"`
75655
75656	// The token for the next page of results.
75657	NextToken *string `type:"string"`
75658
75659	// The ID of the transit gateway multicast domain.
75660	TransitGatewayMulticastDomainId *string `type:"string"`
75661}
75662
75663// String returns the string representation
75664func (s GetTransitGatewayMulticastDomainAssociationsInput) String() string {
75665	return awsutil.Prettify(s)
75666}
75667
75668// GoString returns the string representation
75669func (s GetTransitGatewayMulticastDomainAssociationsInput) GoString() string {
75670	return s.String()
75671}
75672
75673// Validate inspects the fields of the type to determine if they are valid.
75674func (s *GetTransitGatewayMulticastDomainAssociationsInput) Validate() error {
75675	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayMulticastDomainAssociationsInput"}
75676	if s.MaxResults != nil && *s.MaxResults < 5 {
75677		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75678	}
75679
75680	if invalidParams.Len() > 0 {
75681		return invalidParams
75682	}
75683	return nil
75684}
75685
75686// SetDryRun sets the DryRun field's value.
75687func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetDryRun(v bool) *GetTransitGatewayMulticastDomainAssociationsInput {
75688	s.DryRun = &v
75689	return s
75690}
75691
75692// SetFilters sets the Filters field's value.
75693func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayMulticastDomainAssociationsInput {
75694	s.Filters = v
75695	return s
75696}
75697
75698// SetMaxResults sets the MaxResults field's value.
75699func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayMulticastDomainAssociationsInput {
75700	s.MaxResults = &v
75701	return s
75702}
75703
75704// SetNextToken sets the NextToken field's value.
75705func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
75706	s.NextToken = &v
75707	return s
75708}
75709
75710// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
75711func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayMulticastDomainId(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
75712	s.TransitGatewayMulticastDomainId = &v
75713	return s
75714}
75715
75716type GetTransitGatewayMulticastDomainAssociationsOutput struct {
75717	_ struct{} `type:"structure"`
75718
75719	// Information about the multicast domain associations.
75720	MulticastDomainAssociations []*TransitGatewayMulticastDomainAssociation `locationName:"multicastDomainAssociations" locationNameList:"item" type:"list"`
75721
75722	// The token to use to retrieve the next page of results. This value is null
75723	// when there are no more results to return.
75724	NextToken *string `locationName:"nextToken" type:"string"`
75725}
75726
75727// String returns the string representation
75728func (s GetTransitGatewayMulticastDomainAssociationsOutput) String() string {
75729	return awsutil.Prettify(s)
75730}
75731
75732// GoString returns the string representation
75733func (s GetTransitGatewayMulticastDomainAssociationsOutput) GoString() string {
75734	return s.String()
75735}
75736
75737// SetMulticastDomainAssociations sets the MulticastDomainAssociations field's value.
75738func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetMulticastDomainAssociations(v []*TransitGatewayMulticastDomainAssociation) *GetTransitGatewayMulticastDomainAssociationsOutput {
75739	s.MulticastDomainAssociations = v
75740	return s
75741}
75742
75743// SetNextToken sets the NextToken field's value.
75744func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsOutput {
75745	s.NextToken = &v
75746	return s
75747}
75748
75749type GetTransitGatewayRouteTableAssociationsInput struct {
75750	_ struct{} `type:"structure"`
75751
75752	// Checks whether you have the required permissions for the action, without
75753	// actually making the request, and provides an error response. If you have
75754	// the required permissions, the error response is DryRunOperation. Otherwise,
75755	// it is UnauthorizedOperation.
75756	DryRun *bool `type:"boolean"`
75757
75758	// One or more filters. The possible values are:
75759	//
75760	//    * resource-id - The ID of the resource.
75761	//
75762	//    * resource-type - The resource type (vpc | vpn).
75763	//
75764	//    * transit-gateway-attachment-id - The ID of the attachment.
75765	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75766
75767	// The maximum number of results to return with a single call. To retrieve the
75768	// remaining results, make another call with the returned nextToken value.
75769	MaxResults *int64 `min:"5" type:"integer"`
75770
75771	// The token for the next page of results.
75772	NextToken *string `type:"string"`
75773
75774	// The ID of the transit gateway route table.
75775	//
75776	// TransitGatewayRouteTableId is a required field
75777	TransitGatewayRouteTableId *string `type:"string" required:"true"`
75778}
75779
75780// String returns the string representation
75781func (s GetTransitGatewayRouteTableAssociationsInput) String() string {
75782	return awsutil.Prettify(s)
75783}
75784
75785// GoString returns the string representation
75786func (s GetTransitGatewayRouteTableAssociationsInput) GoString() string {
75787	return s.String()
75788}
75789
75790// Validate inspects the fields of the type to determine if they are valid.
75791func (s *GetTransitGatewayRouteTableAssociationsInput) Validate() error {
75792	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTableAssociationsInput"}
75793	if s.MaxResults != nil && *s.MaxResults < 5 {
75794		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75795	}
75796	if s.TransitGatewayRouteTableId == nil {
75797		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
75798	}
75799
75800	if invalidParams.Len() > 0 {
75801		return invalidParams
75802	}
75803	return nil
75804}
75805
75806// SetDryRun sets the DryRun field's value.
75807func (s *GetTransitGatewayRouteTableAssociationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTableAssociationsInput {
75808	s.DryRun = &v
75809	return s
75810}
75811
75812// SetFilters sets the Filters field's value.
75813func (s *GetTransitGatewayRouteTableAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTableAssociationsInput {
75814	s.Filters = v
75815	return s
75816}
75817
75818// SetMaxResults sets the MaxResults field's value.
75819func (s *GetTransitGatewayRouteTableAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTableAssociationsInput {
75820	s.MaxResults = &v
75821	return s
75822}
75823
75824// SetNextToken sets the NextToken field's value.
75825func (s *GetTransitGatewayRouteTableAssociationsInput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsInput {
75826	s.NextToken = &v
75827	return s
75828}
75829
75830// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
75831func (s *GetTransitGatewayRouteTableAssociationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTableAssociationsInput {
75832	s.TransitGatewayRouteTableId = &v
75833	return s
75834}
75835
75836type GetTransitGatewayRouteTableAssociationsOutput struct {
75837	_ struct{} `type:"structure"`
75838
75839	// Information about the associations.
75840	Associations []*TransitGatewayRouteTableAssociation `locationName:"associations" locationNameList:"item" type:"list"`
75841
75842	// The token to use to retrieve the next page of results. This value is null
75843	// when there are no more results to return.
75844	NextToken *string `locationName:"nextToken" type:"string"`
75845}
75846
75847// String returns the string representation
75848func (s GetTransitGatewayRouteTableAssociationsOutput) String() string {
75849	return awsutil.Prettify(s)
75850}
75851
75852// GoString returns the string representation
75853func (s GetTransitGatewayRouteTableAssociationsOutput) GoString() string {
75854	return s.String()
75855}
75856
75857// SetAssociations sets the Associations field's value.
75858func (s *GetTransitGatewayRouteTableAssociationsOutput) SetAssociations(v []*TransitGatewayRouteTableAssociation) *GetTransitGatewayRouteTableAssociationsOutput {
75859	s.Associations = v
75860	return s
75861}
75862
75863// SetNextToken sets the NextToken field's value.
75864func (s *GetTransitGatewayRouteTableAssociationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsOutput {
75865	s.NextToken = &v
75866	return s
75867}
75868
75869type GetTransitGatewayRouteTablePropagationsInput struct {
75870	_ struct{} `type:"structure"`
75871
75872	// Checks whether you have the required permissions for the action, without
75873	// actually making the request, and provides an error response. If you have
75874	// the required permissions, the error response is DryRunOperation. Otherwise,
75875	// it is UnauthorizedOperation.
75876	DryRun *bool `type:"boolean"`
75877
75878	// One or more filters. The possible values are:
75879	//
75880	//    * resource-id - The ID of the resource.
75881	//
75882	//    * resource-type - The resource type (vpc | vpn).
75883	//
75884	//    * transit-gateway-attachment-id - The ID of the attachment.
75885	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
75886
75887	// The maximum number of results to return with a single call. To retrieve the
75888	// remaining results, make another call with the returned nextToken value.
75889	MaxResults *int64 `min:"5" type:"integer"`
75890
75891	// The token for the next page of results.
75892	NextToken *string `type:"string"`
75893
75894	// The ID of the transit gateway route table.
75895	//
75896	// TransitGatewayRouteTableId is a required field
75897	TransitGatewayRouteTableId *string `type:"string" required:"true"`
75898}
75899
75900// String returns the string representation
75901func (s GetTransitGatewayRouteTablePropagationsInput) String() string {
75902	return awsutil.Prettify(s)
75903}
75904
75905// GoString returns the string representation
75906func (s GetTransitGatewayRouteTablePropagationsInput) GoString() string {
75907	return s.String()
75908}
75909
75910// Validate inspects the fields of the type to determine if they are valid.
75911func (s *GetTransitGatewayRouteTablePropagationsInput) Validate() error {
75912	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTablePropagationsInput"}
75913	if s.MaxResults != nil && *s.MaxResults < 5 {
75914		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
75915	}
75916	if s.TransitGatewayRouteTableId == nil {
75917		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
75918	}
75919
75920	if invalidParams.Len() > 0 {
75921		return invalidParams
75922	}
75923	return nil
75924}
75925
75926// SetDryRun sets the DryRun field's value.
75927func (s *GetTransitGatewayRouteTablePropagationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTablePropagationsInput {
75928	s.DryRun = &v
75929	return s
75930}
75931
75932// SetFilters sets the Filters field's value.
75933func (s *GetTransitGatewayRouteTablePropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTablePropagationsInput {
75934	s.Filters = v
75935	return s
75936}
75937
75938// SetMaxResults sets the MaxResults field's value.
75939func (s *GetTransitGatewayRouteTablePropagationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTablePropagationsInput {
75940	s.MaxResults = &v
75941	return s
75942}
75943
75944// SetNextToken sets the NextToken field's value.
75945func (s *GetTransitGatewayRouteTablePropagationsInput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsInput {
75946	s.NextToken = &v
75947	return s
75948}
75949
75950// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
75951func (s *GetTransitGatewayRouteTablePropagationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTablePropagationsInput {
75952	s.TransitGatewayRouteTableId = &v
75953	return s
75954}
75955
75956type GetTransitGatewayRouteTablePropagationsOutput struct {
75957	_ struct{} `type:"structure"`
75958
75959	// The token to use to retrieve the next page of results. This value is null
75960	// when there are no more results to return.
75961	NextToken *string `locationName:"nextToken" type:"string"`
75962
75963	// Information about the route table propagations.
75964	TransitGatewayRouteTablePropagations []*TransitGatewayRouteTablePropagation `locationName:"transitGatewayRouteTablePropagations" locationNameList:"item" type:"list"`
75965}
75966
75967// String returns the string representation
75968func (s GetTransitGatewayRouteTablePropagationsOutput) String() string {
75969	return awsutil.Prettify(s)
75970}
75971
75972// GoString returns the string representation
75973func (s GetTransitGatewayRouteTablePropagationsOutput) GoString() string {
75974	return s.String()
75975}
75976
75977// SetNextToken sets the NextToken field's value.
75978func (s *GetTransitGatewayRouteTablePropagationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsOutput {
75979	s.NextToken = &v
75980	return s
75981}
75982
75983// SetTransitGatewayRouteTablePropagations sets the TransitGatewayRouteTablePropagations field's value.
75984func (s *GetTransitGatewayRouteTablePropagationsOutput) SetTransitGatewayRouteTablePropagations(v []*TransitGatewayRouteTablePropagation) *GetTransitGatewayRouteTablePropagationsOutput {
75985	s.TransitGatewayRouteTablePropagations = v
75986	return s
75987}
75988
75989// Describes the GPU accelerators for the instance type.
75990type GpuDeviceInfo struct {
75991	_ struct{} `type:"structure"`
75992
75993	// The number of GPUs for the instance type.
75994	Count *int64 `locationName:"count" type:"integer"`
75995
75996	// The manufacturer of the GPU accelerator.
75997	Manufacturer *string `locationName:"manufacturer" type:"string"`
75998
75999	// Describes the memory available to the GPU accelerator.
76000	MemoryInfo *GpuDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"`
76001
76002	// The name of the GPU accelerator.
76003	Name *string `locationName:"name" type:"string"`
76004}
76005
76006// String returns the string representation
76007func (s GpuDeviceInfo) String() string {
76008	return awsutil.Prettify(s)
76009}
76010
76011// GoString returns the string representation
76012func (s GpuDeviceInfo) GoString() string {
76013	return s.String()
76014}
76015
76016// SetCount sets the Count field's value.
76017func (s *GpuDeviceInfo) SetCount(v int64) *GpuDeviceInfo {
76018	s.Count = &v
76019	return s
76020}
76021
76022// SetManufacturer sets the Manufacturer field's value.
76023func (s *GpuDeviceInfo) SetManufacturer(v string) *GpuDeviceInfo {
76024	s.Manufacturer = &v
76025	return s
76026}
76027
76028// SetMemoryInfo sets the MemoryInfo field's value.
76029func (s *GpuDeviceInfo) SetMemoryInfo(v *GpuDeviceMemoryInfo) *GpuDeviceInfo {
76030	s.MemoryInfo = v
76031	return s
76032}
76033
76034// SetName sets the Name field's value.
76035func (s *GpuDeviceInfo) SetName(v string) *GpuDeviceInfo {
76036	s.Name = &v
76037	return s
76038}
76039
76040// Describes the memory available to the GPU accelerator.
76041type GpuDeviceMemoryInfo struct {
76042	_ struct{} `type:"structure"`
76043
76044	// The size (in MiB) for the memory available to the GPU accelerator.
76045	SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
76046}
76047
76048// String returns the string representation
76049func (s GpuDeviceMemoryInfo) String() string {
76050	return awsutil.Prettify(s)
76051}
76052
76053// GoString returns the string representation
76054func (s GpuDeviceMemoryInfo) GoString() string {
76055	return s.String()
76056}
76057
76058// SetSizeInMiB sets the SizeInMiB field's value.
76059func (s *GpuDeviceMemoryInfo) SetSizeInMiB(v int64) *GpuDeviceMemoryInfo {
76060	s.SizeInMiB = &v
76061	return s
76062}
76063
76064// Describes the GPU accelerators for the instance type.
76065type GpuInfo struct {
76066	_ struct{} `type:"structure"`
76067
76068	// Describes the GPU accelerators for the instance type.
76069	Gpus []*GpuDeviceInfo `locationName:"gpus" locationNameList:"item" type:"list"`
76070
76071	// The total size of the memory for the GPU accelerators for the instance type.
76072	TotalGpuMemoryInMiB *int64 `locationName:"totalGpuMemoryInMiB" type:"integer"`
76073}
76074
76075// String returns the string representation
76076func (s GpuInfo) String() string {
76077	return awsutil.Prettify(s)
76078}
76079
76080// GoString returns the string representation
76081func (s GpuInfo) GoString() string {
76082	return s.String()
76083}
76084
76085// SetGpus sets the Gpus field's value.
76086func (s *GpuInfo) SetGpus(v []*GpuDeviceInfo) *GpuInfo {
76087	s.Gpus = v
76088	return s
76089}
76090
76091// SetTotalGpuMemoryInMiB sets the TotalGpuMemoryInMiB field's value.
76092func (s *GpuInfo) SetTotalGpuMemoryInMiB(v int64) *GpuInfo {
76093	s.TotalGpuMemoryInMiB = &v
76094	return s
76095}
76096
76097// Describes a security group.
76098type GroupIdentifier struct {
76099	_ struct{} `type:"structure"`
76100
76101	// The ID of the security group.
76102	GroupId *string `locationName:"groupId" type:"string"`
76103
76104	// The name of the security group.
76105	GroupName *string `locationName:"groupName" type:"string"`
76106}
76107
76108// String returns the string representation
76109func (s GroupIdentifier) String() string {
76110	return awsutil.Prettify(s)
76111}
76112
76113// GoString returns the string representation
76114func (s GroupIdentifier) GoString() string {
76115	return s.String()
76116}
76117
76118// SetGroupId sets the GroupId field's value.
76119func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
76120	s.GroupId = &v
76121	return s
76122}
76123
76124// SetGroupName sets the GroupName field's value.
76125func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
76126	s.GroupName = &v
76127	return s
76128}
76129
76130// Indicates whether your instance is configured for hibernation. This parameter
76131// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
76132// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
76133// in the Amazon Elastic Compute Cloud User Guide.
76134type HibernationOptions struct {
76135	_ struct{} `type:"structure"`
76136
76137	// If this parameter is set to true, your instance is enabled for hibernation;
76138	// otherwise, it is not enabled for hibernation.
76139	Configured *bool `locationName:"configured" type:"boolean"`
76140}
76141
76142// String returns the string representation
76143func (s HibernationOptions) String() string {
76144	return awsutil.Prettify(s)
76145}
76146
76147// GoString returns the string representation
76148func (s HibernationOptions) GoString() string {
76149	return s.String()
76150}
76151
76152// SetConfigured sets the Configured field's value.
76153func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions {
76154	s.Configured = &v
76155	return s
76156}
76157
76158// Indicates whether your instance is configured for hibernation. This parameter
76159// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
76160// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
76161// in the Amazon Elastic Compute Cloud User Guide.
76162type HibernationOptionsRequest struct {
76163	_ struct{} `type:"structure"`
76164
76165	// If you set this parameter to true, your instance is enabled for hibernation.
76166	//
76167	// Default: false
76168	Configured *bool `type:"boolean"`
76169}
76170
76171// String returns the string representation
76172func (s HibernationOptionsRequest) String() string {
76173	return awsutil.Prettify(s)
76174}
76175
76176// GoString returns the string representation
76177func (s HibernationOptionsRequest) GoString() string {
76178	return s.String()
76179}
76180
76181// SetConfigured sets the Configured field's value.
76182func (s *HibernationOptionsRequest) SetConfigured(v bool) *HibernationOptionsRequest {
76183	s.Configured = &v
76184	return s
76185}
76186
76187// Describes an event in the history of the Spot Fleet request.
76188type HistoryRecord struct {
76189	_ struct{} `type:"structure"`
76190
76191	// Information about the event.
76192	EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
76193
76194	// The event type.
76195	//
76196	//    * error - An error with the Spot Fleet request.
76197	//
76198	//    * fleetRequestChange - A change in the status or configuration of the
76199	//    Spot Fleet request.
76200	//
76201	//    * instanceChange - An instance was launched or terminated.
76202	//
76203	//    * Information - An informational event.
76204	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
76205
76206	// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
76207	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
76208}
76209
76210// String returns the string representation
76211func (s HistoryRecord) String() string {
76212	return awsutil.Prettify(s)
76213}
76214
76215// GoString returns the string representation
76216func (s HistoryRecord) GoString() string {
76217	return s.String()
76218}
76219
76220// SetEventInformation sets the EventInformation field's value.
76221func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
76222	s.EventInformation = v
76223	return s
76224}
76225
76226// SetEventType sets the EventType field's value.
76227func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
76228	s.EventType = &v
76229	return s
76230}
76231
76232// SetTimestamp sets the Timestamp field's value.
76233func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
76234	s.Timestamp = &v
76235	return s
76236}
76237
76238// Describes an event in the history of an EC2 Fleet.
76239type HistoryRecordEntry struct {
76240	_ struct{} `type:"structure"`
76241
76242	// Information about the event.
76243	EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
76244
76245	// The event type.
76246	EventType *string `locationName:"eventType" type:"string" enum:"FleetEventType"`
76247
76248	// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
76249	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
76250}
76251
76252// String returns the string representation
76253func (s HistoryRecordEntry) String() string {
76254	return awsutil.Prettify(s)
76255}
76256
76257// GoString returns the string representation
76258func (s HistoryRecordEntry) GoString() string {
76259	return s.String()
76260}
76261
76262// SetEventInformation sets the EventInformation field's value.
76263func (s *HistoryRecordEntry) SetEventInformation(v *EventInformation) *HistoryRecordEntry {
76264	s.EventInformation = v
76265	return s
76266}
76267
76268// SetEventType sets the EventType field's value.
76269func (s *HistoryRecordEntry) SetEventType(v string) *HistoryRecordEntry {
76270	s.EventType = &v
76271	return s
76272}
76273
76274// SetTimestamp sets the Timestamp field's value.
76275func (s *HistoryRecordEntry) SetTimestamp(v time.Time) *HistoryRecordEntry {
76276	s.Timestamp = &v
76277	return s
76278}
76279
76280// Describes the properties of the Dedicated Host.
76281type Host struct {
76282	_ struct{} `type:"structure"`
76283
76284	// The time that the Dedicated Host was allocated.
76285	AllocationTime *time.Time `locationName:"allocationTime" type:"timestamp"`
76286
76287	// Indicates whether the Dedicated Host supports multiple instance types of
76288	// the same instance family, or a specific instance type only. one indicates
76289	// that the Dedicated Host supports multiple instance types in the instance
76290	// family. off indicates that the Dedicated Host supports a single instance
76291	// type only.
76292	AllowsMultipleInstanceTypes *string `locationName:"allowsMultipleInstanceTypes" type:"string" enum:"AllowsMultipleInstanceTypes"`
76293
76294	// Whether auto-placement is on or off.
76295	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
76296
76297	// The Availability Zone of the Dedicated Host.
76298	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
76299
76300	// The ID of the Availability Zone in which the Dedicated Host is allocated.
76301	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
76302
76303	// Information about the instances running on the Dedicated Host.
76304	AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
76305
76306	// Unique, case-sensitive identifier that you provide to ensure the idempotency
76307	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
76308	ClientToken *string `locationName:"clientToken" type:"string"`
76309
76310	// The ID of the Dedicated Host.
76311	HostId *string `locationName:"hostId" type:"string"`
76312
76313	// The hardware specifications of the Dedicated Host.
76314	HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
76315
76316	// Indicates whether host recovery is enabled or disabled for the Dedicated
76317	// Host.
76318	HostRecovery *string `locationName:"hostRecovery" type:"string" enum:"HostRecovery"`
76319
76320	// The reservation ID of the Dedicated Host. This returns a null response if
76321	// the Dedicated Host doesn't have an associated reservation.
76322	HostReservationId *string `locationName:"hostReservationId" type:"string"`
76323
76324	// The IDs and instance type that are currently running on the Dedicated Host.
76325	Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
76326
76327	// Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup
76328	// is true, the host is in a host resource group; otherwise, it is not.
76329	MemberOfServiceLinkedResourceGroup *bool `locationName:"memberOfServiceLinkedResourceGroup" type:"boolean"`
76330
76331	// The ID of the AWS account that owns the Dedicated Host.
76332	OwnerId *string `locationName:"ownerId" type:"string"`
76333
76334	// The time that the Dedicated Host was released.
76335	ReleaseTime *time.Time `locationName:"releaseTime" type:"timestamp"`
76336
76337	// The Dedicated Host's state.
76338	State *string `locationName:"state" type:"string" enum:"AllocationState"`
76339
76340	// Any tags assigned to the Dedicated Host.
76341	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
76342}
76343
76344// String returns the string representation
76345func (s Host) String() string {
76346	return awsutil.Prettify(s)
76347}
76348
76349// GoString returns the string representation
76350func (s Host) GoString() string {
76351	return s.String()
76352}
76353
76354// SetAllocationTime sets the AllocationTime field's value.
76355func (s *Host) SetAllocationTime(v time.Time) *Host {
76356	s.AllocationTime = &v
76357	return s
76358}
76359
76360// SetAllowsMultipleInstanceTypes sets the AllowsMultipleInstanceTypes field's value.
76361func (s *Host) SetAllowsMultipleInstanceTypes(v string) *Host {
76362	s.AllowsMultipleInstanceTypes = &v
76363	return s
76364}
76365
76366// SetAutoPlacement sets the AutoPlacement field's value.
76367func (s *Host) SetAutoPlacement(v string) *Host {
76368	s.AutoPlacement = &v
76369	return s
76370}
76371
76372// SetAvailabilityZone sets the AvailabilityZone field's value.
76373func (s *Host) SetAvailabilityZone(v string) *Host {
76374	s.AvailabilityZone = &v
76375	return s
76376}
76377
76378// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
76379func (s *Host) SetAvailabilityZoneId(v string) *Host {
76380	s.AvailabilityZoneId = &v
76381	return s
76382}
76383
76384// SetAvailableCapacity sets the AvailableCapacity field's value.
76385func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
76386	s.AvailableCapacity = v
76387	return s
76388}
76389
76390// SetClientToken sets the ClientToken field's value.
76391func (s *Host) SetClientToken(v string) *Host {
76392	s.ClientToken = &v
76393	return s
76394}
76395
76396// SetHostId sets the HostId field's value.
76397func (s *Host) SetHostId(v string) *Host {
76398	s.HostId = &v
76399	return s
76400}
76401
76402// SetHostProperties sets the HostProperties field's value.
76403func (s *Host) SetHostProperties(v *HostProperties) *Host {
76404	s.HostProperties = v
76405	return s
76406}
76407
76408// SetHostRecovery sets the HostRecovery field's value.
76409func (s *Host) SetHostRecovery(v string) *Host {
76410	s.HostRecovery = &v
76411	return s
76412}
76413
76414// SetHostReservationId sets the HostReservationId field's value.
76415func (s *Host) SetHostReservationId(v string) *Host {
76416	s.HostReservationId = &v
76417	return s
76418}
76419
76420// SetInstances sets the Instances field's value.
76421func (s *Host) SetInstances(v []*HostInstance) *Host {
76422	s.Instances = v
76423	return s
76424}
76425
76426// SetMemberOfServiceLinkedResourceGroup sets the MemberOfServiceLinkedResourceGroup field's value.
76427func (s *Host) SetMemberOfServiceLinkedResourceGroup(v bool) *Host {
76428	s.MemberOfServiceLinkedResourceGroup = &v
76429	return s
76430}
76431
76432// SetOwnerId sets the OwnerId field's value.
76433func (s *Host) SetOwnerId(v string) *Host {
76434	s.OwnerId = &v
76435	return s
76436}
76437
76438// SetReleaseTime sets the ReleaseTime field's value.
76439func (s *Host) SetReleaseTime(v time.Time) *Host {
76440	s.ReleaseTime = &v
76441	return s
76442}
76443
76444// SetState sets the State field's value.
76445func (s *Host) SetState(v string) *Host {
76446	s.State = &v
76447	return s
76448}
76449
76450// SetTags sets the Tags field's value.
76451func (s *Host) SetTags(v []*Tag) *Host {
76452	s.Tags = v
76453	return s
76454}
76455
76456// Describes an instance running on a Dedicated Host.
76457type HostInstance struct {
76458	_ struct{} `type:"structure"`
76459
76460	// The ID of instance that is running on the Dedicated Host.
76461	InstanceId *string `locationName:"instanceId" type:"string"`
76462
76463	// The instance type (for example, m3.medium) of the running instance.
76464	InstanceType *string `locationName:"instanceType" type:"string"`
76465
76466	// The ID of the AWS account that owns the instance.
76467	OwnerId *string `locationName:"ownerId" type:"string"`
76468}
76469
76470// String returns the string representation
76471func (s HostInstance) String() string {
76472	return awsutil.Prettify(s)
76473}
76474
76475// GoString returns the string representation
76476func (s HostInstance) GoString() string {
76477	return s.String()
76478}
76479
76480// SetInstanceId sets the InstanceId field's value.
76481func (s *HostInstance) SetInstanceId(v string) *HostInstance {
76482	s.InstanceId = &v
76483	return s
76484}
76485
76486// SetInstanceType sets the InstanceType field's value.
76487func (s *HostInstance) SetInstanceType(v string) *HostInstance {
76488	s.InstanceType = &v
76489	return s
76490}
76491
76492// SetOwnerId sets the OwnerId field's value.
76493func (s *HostInstance) SetOwnerId(v string) *HostInstance {
76494	s.OwnerId = &v
76495	return s
76496}
76497
76498// Details about the Dedicated Host Reservation offering.
76499type HostOffering struct {
76500	_ struct{} `type:"structure"`
76501
76502	// The currency of the offering.
76503	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
76504
76505	// The duration of the offering (in seconds).
76506	Duration *int64 `locationName:"duration" type:"integer"`
76507
76508	// The hourly price of the offering.
76509	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
76510
76511	// The instance family of the offering.
76512	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
76513
76514	// The ID of the offering.
76515	OfferingId *string `locationName:"offeringId" type:"string"`
76516
76517	// The available payment option.
76518	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
76519
76520	// The upfront price of the offering. Does not apply to No Upfront offerings.
76521	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
76522}
76523
76524// String returns the string representation
76525func (s HostOffering) String() string {
76526	return awsutil.Prettify(s)
76527}
76528
76529// GoString returns the string representation
76530func (s HostOffering) GoString() string {
76531	return s.String()
76532}
76533
76534// SetCurrencyCode sets the CurrencyCode field's value.
76535func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
76536	s.CurrencyCode = &v
76537	return s
76538}
76539
76540// SetDuration sets the Duration field's value.
76541func (s *HostOffering) SetDuration(v int64) *HostOffering {
76542	s.Duration = &v
76543	return s
76544}
76545
76546// SetHourlyPrice sets the HourlyPrice field's value.
76547func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
76548	s.HourlyPrice = &v
76549	return s
76550}
76551
76552// SetInstanceFamily sets the InstanceFamily field's value.
76553func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
76554	s.InstanceFamily = &v
76555	return s
76556}
76557
76558// SetOfferingId sets the OfferingId field's value.
76559func (s *HostOffering) SetOfferingId(v string) *HostOffering {
76560	s.OfferingId = &v
76561	return s
76562}
76563
76564// SetPaymentOption sets the PaymentOption field's value.
76565func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
76566	s.PaymentOption = &v
76567	return s
76568}
76569
76570// SetUpfrontPrice sets the UpfrontPrice field's value.
76571func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
76572	s.UpfrontPrice = &v
76573	return s
76574}
76575
76576// Describes the properties of a Dedicated Host.
76577type HostProperties struct {
76578	_ struct{} `type:"structure"`
76579
76580	// The number of cores on the Dedicated Host.
76581	Cores *int64 `locationName:"cores" type:"integer"`
76582
76583	// The instance family supported by the Dedicated Host. For example, m5.
76584	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
76585
76586	// The instance type supported by the Dedicated Host. For example, m5.large.
76587	// If the host supports multiple instance types, no instanceType is returned.
76588	InstanceType *string `locationName:"instanceType" type:"string"`
76589
76590	// The number of sockets on the Dedicated Host.
76591	Sockets *int64 `locationName:"sockets" type:"integer"`
76592
76593	// The total number of vCPUs on the Dedicated Host.
76594	TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
76595}
76596
76597// String returns the string representation
76598func (s HostProperties) String() string {
76599	return awsutil.Prettify(s)
76600}
76601
76602// GoString returns the string representation
76603func (s HostProperties) GoString() string {
76604	return s.String()
76605}
76606
76607// SetCores sets the Cores field's value.
76608func (s *HostProperties) SetCores(v int64) *HostProperties {
76609	s.Cores = &v
76610	return s
76611}
76612
76613// SetInstanceFamily sets the InstanceFamily field's value.
76614func (s *HostProperties) SetInstanceFamily(v string) *HostProperties {
76615	s.InstanceFamily = &v
76616	return s
76617}
76618
76619// SetInstanceType sets the InstanceType field's value.
76620func (s *HostProperties) SetInstanceType(v string) *HostProperties {
76621	s.InstanceType = &v
76622	return s
76623}
76624
76625// SetSockets sets the Sockets field's value.
76626func (s *HostProperties) SetSockets(v int64) *HostProperties {
76627	s.Sockets = &v
76628	return s
76629}
76630
76631// SetTotalVCpus sets the TotalVCpus field's value.
76632func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
76633	s.TotalVCpus = &v
76634	return s
76635}
76636
76637// Details about the Dedicated Host Reservation and associated Dedicated Hosts.
76638type HostReservation struct {
76639	_ struct{} `type:"structure"`
76640
76641	// The number of Dedicated Hosts the reservation is associated with.
76642	Count *int64 `locationName:"count" type:"integer"`
76643
76644	// The currency in which the upfrontPrice and hourlyPrice amounts are specified.
76645	// At this time, the only supported currency is USD.
76646	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
76647
76648	// The length of the reservation's term, specified in seconds. Can be 31536000
76649	// (1 year) | 94608000 (3 years).
76650	Duration *int64 `locationName:"duration" type:"integer"`
76651
76652	// The date and time that the reservation ends.
76653	End *time.Time `locationName:"end" type:"timestamp"`
76654
76655	// The IDs of the Dedicated Hosts associated with the reservation.
76656	HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
76657
76658	// The ID of the reservation that specifies the associated Dedicated Hosts.
76659	HostReservationId *string `locationName:"hostReservationId" type:"string"`
76660
76661	// The hourly price of the reservation.
76662	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
76663
76664	// The instance family of the Dedicated Host Reservation. The instance family
76665	// on the Dedicated Host must be the same in order for it to benefit from the
76666	// reservation.
76667	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
76668
76669	// The ID of the reservation. This remains the same regardless of which Dedicated
76670	// Hosts are associated with it.
76671	OfferingId *string `locationName:"offeringId" type:"string"`
76672
76673	// The payment option selected for this reservation.
76674	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
76675
76676	// The date and time that the reservation started.
76677	Start *time.Time `locationName:"start" type:"timestamp"`
76678
76679	// The state of the reservation.
76680	State *string `locationName:"state" type:"string" enum:"ReservationState"`
76681
76682	// Any tags assigned to the Dedicated Host Reservation.
76683	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
76684
76685	// The upfront price of the reservation.
76686	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
76687}
76688
76689// String returns the string representation
76690func (s HostReservation) String() string {
76691	return awsutil.Prettify(s)
76692}
76693
76694// GoString returns the string representation
76695func (s HostReservation) GoString() string {
76696	return s.String()
76697}
76698
76699// SetCount sets the Count field's value.
76700func (s *HostReservation) SetCount(v int64) *HostReservation {
76701	s.Count = &v
76702	return s
76703}
76704
76705// SetCurrencyCode sets the CurrencyCode field's value.
76706func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
76707	s.CurrencyCode = &v
76708	return s
76709}
76710
76711// SetDuration sets the Duration field's value.
76712func (s *HostReservation) SetDuration(v int64) *HostReservation {
76713	s.Duration = &v
76714	return s
76715}
76716
76717// SetEnd sets the End field's value.
76718func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
76719	s.End = &v
76720	return s
76721}
76722
76723// SetHostIdSet sets the HostIdSet field's value.
76724func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
76725	s.HostIdSet = v
76726	return s
76727}
76728
76729// SetHostReservationId sets the HostReservationId field's value.
76730func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
76731	s.HostReservationId = &v
76732	return s
76733}
76734
76735// SetHourlyPrice sets the HourlyPrice field's value.
76736func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
76737	s.HourlyPrice = &v
76738	return s
76739}
76740
76741// SetInstanceFamily sets the InstanceFamily field's value.
76742func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
76743	s.InstanceFamily = &v
76744	return s
76745}
76746
76747// SetOfferingId sets the OfferingId field's value.
76748func (s *HostReservation) SetOfferingId(v string) *HostReservation {
76749	s.OfferingId = &v
76750	return s
76751}
76752
76753// SetPaymentOption sets the PaymentOption field's value.
76754func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
76755	s.PaymentOption = &v
76756	return s
76757}
76758
76759// SetStart sets the Start field's value.
76760func (s *HostReservation) SetStart(v time.Time) *HostReservation {
76761	s.Start = &v
76762	return s
76763}
76764
76765// SetState sets the State field's value.
76766func (s *HostReservation) SetState(v string) *HostReservation {
76767	s.State = &v
76768	return s
76769}
76770
76771// SetTags sets the Tags field's value.
76772func (s *HostReservation) SetTags(v []*Tag) *HostReservation {
76773	s.Tags = v
76774	return s
76775}
76776
76777// SetUpfrontPrice sets the UpfrontPrice field's value.
76778func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
76779	s.UpfrontPrice = &v
76780	return s
76781}
76782
76783// The internet key exchange (IKE) version permitted for the VPN tunnel.
76784type IKEVersionsListValue struct {
76785	_ struct{} `type:"structure"`
76786
76787	// The IKE version.
76788	Value *string `locationName:"value" type:"string"`
76789}
76790
76791// String returns the string representation
76792func (s IKEVersionsListValue) String() string {
76793	return awsutil.Prettify(s)
76794}
76795
76796// GoString returns the string representation
76797func (s IKEVersionsListValue) GoString() string {
76798	return s.String()
76799}
76800
76801// SetValue sets the Value field's value.
76802func (s *IKEVersionsListValue) SetValue(v string) *IKEVersionsListValue {
76803	s.Value = &v
76804	return s
76805}
76806
76807// The IKE version that is permitted for the VPN tunnel.
76808type IKEVersionsRequestListValue struct {
76809	_ struct{} `type:"structure"`
76810
76811	// The IKE version.
76812	Value *string `type:"string"`
76813}
76814
76815// String returns the string representation
76816func (s IKEVersionsRequestListValue) String() string {
76817	return awsutil.Prettify(s)
76818}
76819
76820// GoString returns the string representation
76821func (s IKEVersionsRequestListValue) GoString() string {
76822	return s.String()
76823}
76824
76825// SetValue sets the Value field's value.
76826func (s *IKEVersionsRequestListValue) SetValue(v string) *IKEVersionsRequestListValue {
76827	s.Value = &v
76828	return s
76829}
76830
76831// Describes an IAM instance profile.
76832type IamInstanceProfile struct {
76833	_ struct{} `type:"structure"`
76834
76835	// The Amazon Resource Name (ARN) of the instance profile.
76836	Arn *string `locationName:"arn" type:"string"`
76837
76838	// The ID of the instance profile.
76839	Id *string `locationName:"id" type:"string"`
76840}
76841
76842// String returns the string representation
76843func (s IamInstanceProfile) String() string {
76844	return awsutil.Prettify(s)
76845}
76846
76847// GoString returns the string representation
76848func (s IamInstanceProfile) GoString() string {
76849	return s.String()
76850}
76851
76852// SetArn sets the Arn field's value.
76853func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
76854	s.Arn = &v
76855	return s
76856}
76857
76858// SetId sets the Id field's value.
76859func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
76860	s.Id = &v
76861	return s
76862}
76863
76864// Describes an association between an IAM instance profile and an instance.
76865type IamInstanceProfileAssociation struct {
76866	_ struct{} `type:"structure"`
76867
76868	// The ID of the association.
76869	AssociationId *string `locationName:"associationId" type:"string"`
76870
76871	// The IAM instance profile.
76872	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
76873
76874	// The ID of the instance.
76875	InstanceId *string `locationName:"instanceId" type:"string"`
76876
76877	// The state of the association.
76878	State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
76879
76880	// The time the IAM instance profile was associated with the instance.
76881	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
76882}
76883
76884// String returns the string representation
76885func (s IamInstanceProfileAssociation) String() string {
76886	return awsutil.Prettify(s)
76887}
76888
76889// GoString returns the string representation
76890func (s IamInstanceProfileAssociation) GoString() string {
76891	return s.String()
76892}
76893
76894// SetAssociationId sets the AssociationId field's value.
76895func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
76896	s.AssociationId = &v
76897	return s
76898}
76899
76900// SetIamInstanceProfile sets the IamInstanceProfile field's value.
76901func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
76902	s.IamInstanceProfile = v
76903	return s
76904}
76905
76906// SetInstanceId sets the InstanceId field's value.
76907func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
76908	s.InstanceId = &v
76909	return s
76910}
76911
76912// SetState sets the State field's value.
76913func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
76914	s.State = &v
76915	return s
76916}
76917
76918// SetTimestamp sets the Timestamp field's value.
76919func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
76920	s.Timestamp = &v
76921	return s
76922}
76923
76924// Describes an IAM instance profile.
76925type IamInstanceProfileSpecification struct {
76926	_ struct{} `type:"structure"`
76927
76928	// The Amazon Resource Name (ARN) of the instance profile.
76929	Arn *string `locationName:"arn" type:"string"`
76930
76931	// The name of the instance profile.
76932	Name *string `locationName:"name" type:"string"`
76933}
76934
76935// String returns the string representation
76936func (s IamInstanceProfileSpecification) String() string {
76937	return awsutil.Prettify(s)
76938}
76939
76940// GoString returns the string representation
76941func (s IamInstanceProfileSpecification) GoString() string {
76942	return s.String()
76943}
76944
76945// SetArn sets the Arn field's value.
76946func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
76947	s.Arn = &v
76948	return s
76949}
76950
76951// SetName sets the Name field's value.
76952func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
76953	s.Name = &v
76954	return s
76955}
76956
76957// Describes the ICMP type and code.
76958type IcmpTypeCode struct {
76959	_ struct{} `type:"structure"`
76960
76961	// The ICMP code. A value of -1 means all codes for the specified ICMP type.
76962	Code *int64 `locationName:"code" type:"integer"`
76963
76964	// The ICMP type. A value of -1 means all types.
76965	Type *int64 `locationName:"type" type:"integer"`
76966}
76967
76968// String returns the string representation
76969func (s IcmpTypeCode) String() string {
76970	return awsutil.Prettify(s)
76971}
76972
76973// GoString returns the string representation
76974func (s IcmpTypeCode) GoString() string {
76975	return s.String()
76976}
76977
76978// SetCode sets the Code field's value.
76979func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
76980	s.Code = &v
76981	return s
76982}
76983
76984// SetType sets the Type field's value.
76985func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
76986	s.Type = &v
76987	return s
76988}
76989
76990// Describes the ID format for a resource.
76991type IdFormat struct {
76992	_ struct{} `type:"structure"`
76993
76994	// The date in UTC at which you are permanently switched over to using longer
76995	// IDs. If a deadline is not yet available for this resource type, this field
76996	// is not returned.
76997	Deadline *time.Time `locationName:"deadline" type:"timestamp"`
76998
76999	// The type of resource.
77000	Resource *string `locationName:"resource" type:"string"`
77001
77002	// Indicates whether longer IDs (17-character IDs) are enabled for the resource.
77003	UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
77004}
77005
77006// String returns the string representation
77007func (s IdFormat) String() string {
77008	return awsutil.Prettify(s)
77009}
77010
77011// GoString returns the string representation
77012func (s IdFormat) GoString() string {
77013	return s.String()
77014}
77015
77016// SetDeadline sets the Deadline field's value.
77017func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
77018	s.Deadline = &v
77019	return s
77020}
77021
77022// SetResource sets the Resource field's value.
77023func (s *IdFormat) SetResource(v string) *IdFormat {
77024	s.Resource = &v
77025	return s
77026}
77027
77028// SetUseLongIds sets the UseLongIds field's value.
77029func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
77030	s.UseLongIds = &v
77031	return s
77032}
77033
77034// Describes an image.
77035type Image struct {
77036	_ struct{} `type:"structure"`
77037
77038	// The architecture of the image.
77039	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
77040
77041	// Any block device mapping entries.
77042	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
77043
77044	// The date and time the image was created.
77045	CreationDate *string `locationName:"creationDate" type:"string"`
77046
77047	// The description of the AMI that was provided during image creation.
77048	Description *string `locationName:"description" type:"string"`
77049
77050	// Specifies whether enhanced networking with ENA is enabled.
77051	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
77052
77053	// The hypervisor type of the image.
77054	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
77055
77056	// The ID of the AMI.
77057	ImageId *string `locationName:"imageId" type:"string"`
77058
77059	// The location of the AMI.
77060	ImageLocation *string `locationName:"imageLocation" type:"string"`
77061
77062	// The AWS account alias (for example, amazon, self) or the AWS account ID of
77063	// the AMI owner.
77064	ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
77065
77066	// The type of image.
77067	ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
77068
77069	// The kernel associated with the image, if any. Only applicable for machine
77070	// images.
77071	KernelId *string `locationName:"kernelId" type:"string"`
77072
77073	// The name of the AMI that was provided during image creation.
77074	Name *string `locationName:"name" type:"string"`
77075
77076	// The AWS account ID of the image owner.
77077	OwnerId *string `locationName:"imageOwnerId" type:"string"`
77078
77079	// This value is set to windows for Windows AMIs; otherwise, it is blank.
77080	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
77081
77082	// The platform details associated with the billing code of the AMI. For more
77083	// information, see Obtaining Billing Information (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html)
77084	// in the Amazon Elastic Compute Cloud User Guide.
77085	PlatformDetails *string `locationName:"platformDetails" type:"string"`
77086
77087	// Any product codes associated with the AMI.
77088	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
77089
77090	// Indicates whether the image has public launch permissions. The value is true
77091	// if this image has public launch permissions or false if it has only implicit
77092	// and explicit launch permissions.
77093	Public *bool `locationName:"isPublic" type:"boolean"`
77094
77095	// The RAM disk associated with the image, if any. Only applicable for machine
77096	// images.
77097	RamdiskId *string `locationName:"ramdiskId" type:"string"`
77098
77099	// The device name of the root device volume (for example, /dev/sda1).
77100	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
77101
77102	// The type of root device used by the AMI. The AMI can use an EBS volume or
77103	// an instance store volume.
77104	RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
77105
77106	// Specifies whether enhanced networking with the Intel 82599 Virtual Function
77107	// interface is enabled.
77108	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
77109
77110	// The current state of the AMI. If the state is available, the image is successfully
77111	// registered and can be used to launch an instance.
77112	State *string `locationName:"imageState" type:"string" enum:"ImageState"`
77113
77114	// The reason for the state change.
77115	StateReason *StateReason `locationName:"stateReason" type:"structure"`
77116
77117	// Any tags assigned to the image.
77118	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
77119
77120	// The operation of the Amazon EC2 instance and the billing code that is associated
77121	// with the AMI. usageOperation corresponds to the lineitem/Operation (https://docs.aws.amazon.com/cur/latest/userguide/Lineitem-columns.html#Lineitem-details-O-Operation)
77122	// 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).
77123	// For the list of UsageOperation codes, see Platform Details and Usage Operation
77124	// Billing Codes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html#billing-info)
77125	// in the Amazon Elastic Compute Cloud User Guide.
77126	UsageOperation *string `locationName:"usageOperation" type:"string"`
77127
77128	// The type of virtualization of the AMI.
77129	VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
77130}
77131
77132// String returns the string representation
77133func (s Image) String() string {
77134	return awsutil.Prettify(s)
77135}
77136
77137// GoString returns the string representation
77138func (s Image) GoString() string {
77139	return s.String()
77140}
77141
77142// SetArchitecture sets the Architecture field's value.
77143func (s *Image) SetArchitecture(v string) *Image {
77144	s.Architecture = &v
77145	return s
77146}
77147
77148// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
77149func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
77150	s.BlockDeviceMappings = v
77151	return s
77152}
77153
77154// SetCreationDate sets the CreationDate field's value.
77155func (s *Image) SetCreationDate(v string) *Image {
77156	s.CreationDate = &v
77157	return s
77158}
77159
77160// SetDescription sets the Description field's value.
77161func (s *Image) SetDescription(v string) *Image {
77162	s.Description = &v
77163	return s
77164}
77165
77166// SetEnaSupport sets the EnaSupport field's value.
77167func (s *Image) SetEnaSupport(v bool) *Image {
77168	s.EnaSupport = &v
77169	return s
77170}
77171
77172// SetHypervisor sets the Hypervisor field's value.
77173func (s *Image) SetHypervisor(v string) *Image {
77174	s.Hypervisor = &v
77175	return s
77176}
77177
77178// SetImageId sets the ImageId field's value.
77179func (s *Image) SetImageId(v string) *Image {
77180	s.ImageId = &v
77181	return s
77182}
77183
77184// SetImageLocation sets the ImageLocation field's value.
77185func (s *Image) SetImageLocation(v string) *Image {
77186	s.ImageLocation = &v
77187	return s
77188}
77189
77190// SetImageOwnerAlias sets the ImageOwnerAlias field's value.
77191func (s *Image) SetImageOwnerAlias(v string) *Image {
77192	s.ImageOwnerAlias = &v
77193	return s
77194}
77195
77196// SetImageType sets the ImageType field's value.
77197func (s *Image) SetImageType(v string) *Image {
77198	s.ImageType = &v
77199	return s
77200}
77201
77202// SetKernelId sets the KernelId field's value.
77203func (s *Image) SetKernelId(v string) *Image {
77204	s.KernelId = &v
77205	return s
77206}
77207
77208// SetName sets the Name field's value.
77209func (s *Image) SetName(v string) *Image {
77210	s.Name = &v
77211	return s
77212}
77213
77214// SetOwnerId sets the OwnerId field's value.
77215func (s *Image) SetOwnerId(v string) *Image {
77216	s.OwnerId = &v
77217	return s
77218}
77219
77220// SetPlatform sets the Platform field's value.
77221func (s *Image) SetPlatform(v string) *Image {
77222	s.Platform = &v
77223	return s
77224}
77225
77226// SetPlatformDetails sets the PlatformDetails field's value.
77227func (s *Image) SetPlatformDetails(v string) *Image {
77228	s.PlatformDetails = &v
77229	return s
77230}
77231
77232// SetProductCodes sets the ProductCodes field's value.
77233func (s *Image) SetProductCodes(v []*ProductCode) *Image {
77234	s.ProductCodes = v
77235	return s
77236}
77237
77238// SetPublic sets the Public field's value.
77239func (s *Image) SetPublic(v bool) *Image {
77240	s.Public = &v
77241	return s
77242}
77243
77244// SetRamdiskId sets the RamdiskId field's value.
77245func (s *Image) SetRamdiskId(v string) *Image {
77246	s.RamdiskId = &v
77247	return s
77248}
77249
77250// SetRootDeviceName sets the RootDeviceName field's value.
77251func (s *Image) SetRootDeviceName(v string) *Image {
77252	s.RootDeviceName = &v
77253	return s
77254}
77255
77256// SetRootDeviceType sets the RootDeviceType field's value.
77257func (s *Image) SetRootDeviceType(v string) *Image {
77258	s.RootDeviceType = &v
77259	return s
77260}
77261
77262// SetSriovNetSupport sets the SriovNetSupport field's value.
77263func (s *Image) SetSriovNetSupport(v string) *Image {
77264	s.SriovNetSupport = &v
77265	return s
77266}
77267
77268// SetState sets the State field's value.
77269func (s *Image) SetState(v string) *Image {
77270	s.State = &v
77271	return s
77272}
77273
77274// SetStateReason sets the StateReason field's value.
77275func (s *Image) SetStateReason(v *StateReason) *Image {
77276	s.StateReason = v
77277	return s
77278}
77279
77280// SetTags sets the Tags field's value.
77281func (s *Image) SetTags(v []*Tag) *Image {
77282	s.Tags = v
77283	return s
77284}
77285
77286// SetUsageOperation sets the UsageOperation field's value.
77287func (s *Image) SetUsageOperation(v string) *Image {
77288	s.UsageOperation = &v
77289	return s
77290}
77291
77292// SetVirtualizationType sets the VirtualizationType field's value.
77293func (s *Image) SetVirtualizationType(v string) *Image {
77294	s.VirtualizationType = &v
77295	return s
77296}
77297
77298// Describes the disk container object for an import image task.
77299type ImageDiskContainer struct {
77300	_ struct{} `type:"structure"`
77301
77302	// The description of the disk image.
77303	Description *string `type:"string"`
77304
77305	// The block device mapping for the disk.
77306	DeviceName *string `type:"string"`
77307
77308	// The format of the disk image being imported.
77309	//
77310	// Valid values: VHD | VMDK | OVA
77311	Format *string `type:"string"`
77312
77313	// The ID of the EBS snapshot to be used for importing the snapshot.
77314	SnapshotId *string `type:"string"`
77315
77316	// The URL to the Amazon S3-based disk image being imported. The URL can either
77317	// be a https URL (https://..) or an Amazon S3 URL (s3://..)
77318	Url *string `type:"string"`
77319
77320	// The S3 bucket for the disk image.
77321	UserBucket *UserBucket `type:"structure"`
77322}
77323
77324// String returns the string representation
77325func (s ImageDiskContainer) String() string {
77326	return awsutil.Prettify(s)
77327}
77328
77329// GoString returns the string representation
77330func (s ImageDiskContainer) GoString() string {
77331	return s.String()
77332}
77333
77334// SetDescription sets the Description field's value.
77335func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
77336	s.Description = &v
77337	return s
77338}
77339
77340// SetDeviceName sets the DeviceName field's value.
77341func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
77342	s.DeviceName = &v
77343	return s
77344}
77345
77346// SetFormat sets the Format field's value.
77347func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
77348	s.Format = &v
77349	return s
77350}
77351
77352// SetSnapshotId sets the SnapshotId field's value.
77353func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
77354	s.SnapshotId = &v
77355	return s
77356}
77357
77358// SetUrl sets the Url field's value.
77359func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
77360	s.Url = &v
77361	return s
77362}
77363
77364// SetUserBucket sets the UserBucket field's value.
77365func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
77366	s.UserBucket = v
77367	return s
77368}
77369
77370type ImportClientVpnClientCertificateRevocationListInput struct {
77371	_ struct{} `type:"structure"`
77372
77373	// The client certificate revocation list file. For more information, see Generate
77374	// a Client Certificate Revocation List (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-certificates.html#cvpn-working-certificates-generate)
77375	// in the AWS Client VPN Administrator Guide.
77376	//
77377	// CertificateRevocationList is a required field
77378	CertificateRevocationList *string `type:"string" required:"true"`
77379
77380	// The ID of the Client VPN endpoint to which the client certificate revocation
77381	// list applies.
77382	//
77383	// ClientVpnEndpointId is a required field
77384	ClientVpnEndpointId *string `type:"string" required:"true"`
77385
77386	// Checks whether you have the required permissions for the action, without
77387	// actually making the request, and provides an error response. If you have
77388	// the required permissions, the error response is DryRunOperation. Otherwise,
77389	// it is UnauthorizedOperation.
77390	DryRun *bool `type:"boolean"`
77391}
77392
77393// String returns the string representation
77394func (s ImportClientVpnClientCertificateRevocationListInput) String() string {
77395	return awsutil.Prettify(s)
77396}
77397
77398// GoString returns the string representation
77399func (s ImportClientVpnClientCertificateRevocationListInput) GoString() string {
77400	return s.String()
77401}
77402
77403// Validate inspects the fields of the type to determine if they are valid.
77404func (s *ImportClientVpnClientCertificateRevocationListInput) Validate() error {
77405	invalidParams := request.ErrInvalidParams{Context: "ImportClientVpnClientCertificateRevocationListInput"}
77406	if s.CertificateRevocationList == nil {
77407		invalidParams.Add(request.NewErrParamRequired("CertificateRevocationList"))
77408	}
77409	if s.ClientVpnEndpointId == nil {
77410		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
77411	}
77412
77413	if invalidParams.Len() > 0 {
77414		return invalidParams
77415	}
77416	return nil
77417}
77418
77419// SetCertificateRevocationList sets the CertificateRevocationList field's value.
77420func (s *ImportClientVpnClientCertificateRevocationListInput) SetCertificateRevocationList(v string) *ImportClientVpnClientCertificateRevocationListInput {
77421	s.CertificateRevocationList = &v
77422	return s
77423}
77424
77425// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
77426func (s *ImportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ImportClientVpnClientCertificateRevocationListInput {
77427	s.ClientVpnEndpointId = &v
77428	return s
77429}
77430
77431// SetDryRun sets the DryRun field's value.
77432func (s *ImportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ImportClientVpnClientCertificateRevocationListInput {
77433	s.DryRun = &v
77434	return s
77435}
77436
77437type ImportClientVpnClientCertificateRevocationListOutput struct {
77438	_ struct{} `type:"structure"`
77439
77440	// Returns true if the request succeeds; otherwise, it returns an error.
77441	Return *bool `locationName:"return" type:"boolean"`
77442}
77443
77444// String returns the string representation
77445func (s ImportClientVpnClientCertificateRevocationListOutput) String() string {
77446	return awsutil.Prettify(s)
77447}
77448
77449// GoString returns the string representation
77450func (s ImportClientVpnClientCertificateRevocationListOutput) GoString() string {
77451	return s.String()
77452}
77453
77454// SetReturn sets the Return field's value.
77455func (s *ImportClientVpnClientCertificateRevocationListOutput) SetReturn(v bool) *ImportClientVpnClientCertificateRevocationListOutput {
77456	s.Return = &v
77457	return s
77458}
77459
77460type ImportImageInput struct {
77461	_ struct{} `type:"structure"`
77462
77463	// The architecture of the virtual machine.
77464	//
77465	// Valid values: i386 | x86_64 | arm64
77466	Architecture *string `type:"string"`
77467
77468	// The client-specific data.
77469	ClientData *ClientData `type:"structure"`
77470
77471	// The token to enable idempotency for VM import requests.
77472	ClientToken *string `type:"string"`
77473
77474	// A description string for the import image task.
77475	Description *string `type:"string"`
77476
77477	// Information about the disk containers.
77478	DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
77479
77480	// Checks whether you have the required permissions for the action, without
77481	// actually making the request, and provides an error response. If you have
77482	// the required permissions, the error response is DryRunOperation. Otherwise,
77483	// it is UnauthorizedOperation.
77484	DryRun *bool `type:"boolean"`
77485
77486	// Specifies whether the destination AMI of the imported image should be encrypted.
77487	// The default CMK for EBS is used unless you specify a non-default AWS Key
77488	// Management Service (AWS KMS) CMK using KmsKeyId. For more information, see
77489	// Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
77490	// in the Amazon Elastic Compute Cloud User Guide.
77491	Encrypted *bool `type:"boolean"`
77492
77493	// The target hypervisor platform.
77494	//
77495	// Valid values: xen
77496	Hypervisor *string `type:"string"`
77497
77498	// An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
77499	// master key (CMK) to use when creating the encrypted AMI. This parameter is
77500	// only required if you want to use a non-default CMK; if this parameter is
77501	// not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
77502	// the Encrypted flag must also be set.
77503	//
77504	// The CMK identifier may be provided in any of the following formats:
77505	//
77506	//    * Key ID
77507	//
77508	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
77509	//    by the Region of the CMK, the AWS account ID of the CMK owner, the alias
77510	//    namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
77511	//
77512	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
77513	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
77514	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
77515	//
77516	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
77517	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
77518	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
77519	//
77520	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
77521	// appear to complete even though you provided an invalid identifier. This action
77522	// will eventually report failure.
77523	//
77524	// The specified CMK must exist in the Region that the AMI is being copied to.
77525	//
77526	// Amazon EBS does not support asymmetric CMKs.
77527	KmsKeyId *string `type:"string"`
77528
77529	// The ARNs of the license configurations.
77530	LicenseSpecifications []*ImportImageLicenseConfigurationRequest `locationNameList:"item" type:"list"`
77531
77532	// The license type to be used for the Amazon Machine Image (AMI) after importing.
77533	//
77534	// By default, we detect the source-system operating system (OS) and apply the
77535	// appropriate license. Specify AWS to replace the source-system license with
77536	// an AWS license, if appropriate. Specify BYOL to retain the source-system
77537	// license, if appropriate.
77538	//
77539	// To use BYOL, you must have existing licenses with rights to use these licenses
77540	// in a third party cloud, such as AWS. For more information, see Prerequisites
77541	// (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
77542	// in the VM Import/Export User Guide.
77543	LicenseType *string `type:"string"`
77544
77545	// The operating system of the virtual machine.
77546	//
77547	// Valid values: Windows | Linux
77548	Platform *string `type:"string"`
77549
77550	// The name of the role to use when not using the default role, 'vmimport'.
77551	RoleName *string `type:"string"`
77552}
77553
77554// String returns the string representation
77555func (s ImportImageInput) String() string {
77556	return awsutil.Prettify(s)
77557}
77558
77559// GoString returns the string representation
77560func (s ImportImageInput) GoString() string {
77561	return s.String()
77562}
77563
77564// SetArchitecture sets the Architecture field's value.
77565func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
77566	s.Architecture = &v
77567	return s
77568}
77569
77570// SetClientData sets the ClientData field's value.
77571func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
77572	s.ClientData = v
77573	return s
77574}
77575
77576// SetClientToken sets the ClientToken field's value.
77577func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
77578	s.ClientToken = &v
77579	return s
77580}
77581
77582// SetDescription sets the Description field's value.
77583func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
77584	s.Description = &v
77585	return s
77586}
77587
77588// SetDiskContainers sets the DiskContainers field's value.
77589func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
77590	s.DiskContainers = v
77591	return s
77592}
77593
77594// SetDryRun sets the DryRun field's value.
77595func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
77596	s.DryRun = &v
77597	return s
77598}
77599
77600// SetEncrypted sets the Encrypted field's value.
77601func (s *ImportImageInput) SetEncrypted(v bool) *ImportImageInput {
77602	s.Encrypted = &v
77603	return s
77604}
77605
77606// SetHypervisor sets the Hypervisor field's value.
77607func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
77608	s.Hypervisor = &v
77609	return s
77610}
77611
77612// SetKmsKeyId sets the KmsKeyId field's value.
77613func (s *ImportImageInput) SetKmsKeyId(v string) *ImportImageInput {
77614	s.KmsKeyId = &v
77615	return s
77616}
77617
77618// SetLicenseSpecifications sets the LicenseSpecifications field's value.
77619func (s *ImportImageInput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationRequest) *ImportImageInput {
77620	s.LicenseSpecifications = v
77621	return s
77622}
77623
77624// SetLicenseType sets the LicenseType field's value.
77625func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
77626	s.LicenseType = &v
77627	return s
77628}
77629
77630// SetPlatform sets the Platform field's value.
77631func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
77632	s.Platform = &v
77633	return s
77634}
77635
77636// SetRoleName sets the RoleName field's value.
77637func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
77638	s.RoleName = &v
77639	return s
77640}
77641
77642// The request information of license configurations.
77643type ImportImageLicenseConfigurationRequest struct {
77644	_ struct{} `type:"structure"`
77645
77646	// The ARN of a license configuration.
77647	LicenseConfigurationArn *string `type:"string"`
77648}
77649
77650// String returns the string representation
77651func (s ImportImageLicenseConfigurationRequest) String() string {
77652	return awsutil.Prettify(s)
77653}
77654
77655// GoString returns the string representation
77656func (s ImportImageLicenseConfigurationRequest) GoString() string {
77657	return s.String()
77658}
77659
77660// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
77661func (s *ImportImageLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationRequest {
77662	s.LicenseConfigurationArn = &v
77663	return s
77664}
77665
77666// The response information for license configurations.
77667type ImportImageLicenseConfigurationResponse struct {
77668	_ struct{} `type:"structure"`
77669
77670	// The ARN of a license configuration.
77671	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
77672}
77673
77674// String returns the string representation
77675func (s ImportImageLicenseConfigurationResponse) String() string {
77676	return awsutil.Prettify(s)
77677}
77678
77679// GoString returns the string representation
77680func (s ImportImageLicenseConfigurationResponse) GoString() string {
77681	return s.String()
77682}
77683
77684// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
77685func (s *ImportImageLicenseConfigurationResponse) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationResponse {
77686	s.LicenseConfigurationArn = &v
77687	return s
77688}
77689
77690type ImportImageOutput struct {
77691	_ struct{} `type:"structure"`
77692
77693	// The architecture of the virtual machine.
77694	Architecture *string `locationName:"architecture" type:"string"`
77695
77696	// A description of the import task.
77697	Description *string `locationName:"description" type:"string"`
77698
77699	// Indicates whether the AMI is encypted.
77700	Encrypted *bool `locationName:"encrypted" type:"boolean"`
77701
77702	// The target hypervisor of the import task.
77703	Hypervisor *string `locationName:"hypervisor" type:"string"`
77704
77705	// The ID of the Amazon Machine Image (AMI) created by the import task.
77706	ImageId *string `locationName:"imageId" type:"string"`
77707
77708	// The task ID of the import image task.
77709	ImportTaskId *string `locationName:"importTaskId" type:"string"`
77710
77711	// The identifier for the symmetric AWS Key Management Service (AWS KMS) customer
77712	// master key (CMK) that was used to create the encrypted AMI.
77713	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
77714
77715	// The ARNs of the license configurations.
77716	LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"`
77717
77718	// The license type of the virtual machine.
77719	LicenseType *string `locationName:"licenseType" type:"string"`
77720
77721	// The operating system of the virtual machine.
77722	Platform *string `locationName:"platform" type:"string"`
77723
77724	// The progress of the task.
77725	Progress *string `locationName:"progress" type:"string"`
77726
77727	// Information about the snapshots.
77728	SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
77729
77730	// A brief status of the task.
77731	Status *string `locationName:"status" type:"string"`
77732
77733	// A detailed status message of the import task.
77734	StatusMessage *string `locationName:"statusMessage" type:"string"`
77735}
77736
77737// String returns the string representation
77738func (s ImportImageOutput) String() string {
77739	return awsutil.Prettify(s)
77740}
77741
77742// GoString returns the string representation
77743func (s ImportImageOutput) GoString() string {
77744	return s.String()
77745}
77746
77747// SetArchitecture sets the Architecture field's value.
77748func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
77749	s.Architecture = &v
77750	return s
77751}
77752
77753// SetDescription sets the Description field's value.
77754func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
77755	s.Description = &v
77756	return s
77757}
77758
77759// SetEncrypted sets the Encrypted field's value.
77760func (s *ImportImageOutput) SetEncrypted(v bool) *ImportImageOutput {
77761	s.Encrypted = &v
77762	return s
77763}
77764
77765// SetHypervisor sets the Hypervisor field's value.
77766func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
77767	s.Hypervisor = &v
77768	return s
77769}
77770
77771// SetImageId sets the ImageId field's value.
77772func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
77773	s.ImageId = &v
77774	return s
77775}
77776
77777// SetImportTaskId sets the ImportTaskId field's value.
77778func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
77779	s.ImportTaskId = &v
77780	return s
77781}
77782
77783// SetKmsKeyId sets the KmsKeyId field's value.
77784func (s *ImportImageOutput) SetKmsKeyId(v string) *ImportImageOutput {
77785	s.KmsKeyId = &v
77786	return s
77787}
77788
77789// SetLicenseSpecifications sets the LicenseSpecifications field's value.
77790func (s *ImportImageOutput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageOutput {
77791	s.LicenseSpecifications = v
77792	return s
77793}
77794
77795// SetLicenseType sets the LicenseType field's value.
77796func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
77797	s.LicenseType = &v
77798	return s
77799}
77800
77801// SetPlatform sets the Platform field's value.
77802func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
77803	s.Platform = &v
77804	return s
77805}
77806
77807// SetProgress sets the Progress field's value.
77808func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
77809	s.Progress = &v
77810	return s
77811}
77812
77813// SetSnapshotDetails sets the SnapshotDetails field's value.
77814func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
77815	s.SnapshotDetails = v
77816	return s
77817}
77818
77819// SetStatus sets the Status field's value.
77820func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
77821	s.Status = &v
77822	return s
77823}
77824
77825// SetStatusMessage sets the StatusMessage field's value.
77826func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
77827	s.StatusMessage = &v
77828	return s
77829}
77830
77831// Describes an import image task.
77832type ImportImageTask struct {
77833	_ struct{} `type:"structure"`
77834
77835	// The architecture of the virtual machine.
77836	//
77837	// Valid values: i386 | x86_64 | arm64
77838	Architecture *string `locationName:"architecture" type:"string"`
77839
77840	// A description of the import task.
77841	Description *string `locationName:"description" type:"string"`
77842
77843	// Indicates whether the image is encrypted.
77844	Encrypted *bool `locationName:"encrypted" type:"boolean"`
77845
77846	// The target hypervisor for the import task.
77847	//
77848	// Valid values: xen
77849	Hypervisor *string `locationName:"hypervisor" type:"string"`
77850
77851	// The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
77852	ImageId *string `locationName:"imageId" type:"string"`
77853
77854	// The ID of the import image task.
77855	ImportTaskId *string `locationName:"importTaskId" type:"string"`
77856
77857	// The identifier for the AWS Key Management Service (AWS KMS) customer master
77858	// key (CMK) that was used to create the encrypted image.
77859	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
77860
77861	// The ARNs of the license configurations that are associated with the import
77862	// image task.
77863	LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"`
77864
77865	// The license type of the virtual machine.
77866	LicenseType *string `locationName:"licenseType" type:"string"`
77867
77868	// The description string for the import image task.
77869	Platform *string `locationName:"platform" type:"string"`
77870
77871	// The percentage of progress of the import image task.
77872	Progress *string `locationName:"progress" type:"string"`
77873
77874	// Information about the snapshots.
77875	SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
77876
77877	// A brief status for the import image task.
77878	Status *string `locationName:"status" type:"string"`
77879
77880	// A descriptive status message for the import image task.
77881	StatusMessage *string `locationName:"statusMessage" type:"string"`
77882
77883	// The tags for the import image task.
77884	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
77885}
77886
77887// String returns the string representation
77888func (s ImportImageTask) String() string {
77889	return awsutil.Prettify(s)
77890}
77891
77892// GoString returns the string representation
77893func (s ImportImageTask) GoString() string {
77894	return s.String()
77895}
77896
77897// SetArchitecture sets the Architecture field's value.
77898func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
77899	s.Architecture = &v
77900	return s
77901}
77902
77903// SetDescription sets the Description field's value.
77904func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
77905	s.Description = &v
77906	return s
77907}
77908
77909// SetEncrypted sets the Encrypted field's value.
77910func (s *ImportImageTask) SetEncrypted(v bool) *ImportImageTask {
77911	s.Encrypted = &v
77912	return s
77913}
77914
77915// SetHypervisor sets the Hypervisor field's value.
77916func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
77917	s.Hypervisor = &v
77918	return s
77919}
77920
77921// SetImageId sets the ImageId field's value.
77922func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
77923	s.ImageId = &v
77924	return s
77925}
77926
77927// SetImportTaskId sets the ImportTaskId field's value.
77928func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
77929	s.ImportTaskId = &v
77930	return s
77931}
77932
77933// SetKmsKeyId sets the KmsKeyId field's value.
77934func (s *ImportImageTask) SetKmsKeyId(v string) *ImportImageTask {
77935	s.KmsKeyId = &v
77936	return s
77937}
77938
77939// SetLicenseSpecifications sets the LicenseSpecifications field's value.
77940func (s *ImportImageTask) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageTask {
77941	s.LicenseSpecifications = v
77942	return s
77943}
77944
77945// SetLicenseType sets the LicenseType field's value.
77946func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
77947	s.LicenseType = &v
77948	return s
77949}
77950
77951// SetPlatform sets the Platform field's value.
77952func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
77953	s.Platform = &v
77954	return s
77955}
77956
77957// SetProgress sets the Progress field's value.
77958func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
77959	s.Progress = &v
77960	return s
77961}
77962
77963// SetSnapshotDetails sets the SnapshotDetails field's value.
77964func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
77965	s.SnapshotDetails = v
77966	return s
77967}
77968
77969// SetStatus sets the Status field's value.
77970func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
77971	s.Status = &v
77972	return s
77973}
77974
77975// SetStatusMessage sets the StatusMessage field's value.
77976func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
77977	s.StatusMessage = &v
77978	return s
77979}
77980
77981// SetTags sets the Tags field's value.
77982func (s *ImportImageTask) SetTags(v []*Tag) *ImportImageTask {
77983	s.Tags = v
77984	return s
77985}
77986
77987type ImportInstanceInput struct {
77988	_ struct{} `type:"structure"`
77989
77990	// A description for the instance being imported.
77991	Description *string `locationName:"description" type:"string"`
77992
77993	// The disk image.
77994	DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
77995
77996	// Checks whether you have the required permissions for the action, without
77997	// actually making the request, and provides an error response. If you have
77998	// the required permissions, the error response is DryRunOperation. Otherwise,
77999	// it is UnauthorizedOperation.
78000	DryRun *bool `locationName:"dryRun" type:"boolean"`
78001
78002	// The launch specification.
78003	LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
78004
78005	// The instance operating system.
78006	//
78007	// Platform is a required field
78008	Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
78009}
78010
78011// String returns the string representation
78012func (s ImportInstanceInput) String() string {
78013	return awsutil.Prettify(s)
78014}
78015
78016// GoString returns the string representation
78017func (s ImportInstanceInput) GoString() string {
78018	return s.String()
78019}
78020
78021// Validate inspects the fields of the type to determine if they are valid.
78022func (s *ImportInstanceInput) Validate() error {
78023	invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
78024	if s.Platform == nil {
78025		invalidParams.Add(request.NewErrParamRequired("Platform"))
78026	}
78027	if s.DiskImages != nil {
78028		for i, v := range s.DiskImages {
78029			if v == nil {
78030				continue
78031			}
78032			if err := v.Validate(); err != nil {
78033				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
78034			}
78035		}
78036	}
78037
78038	if invalidParams.Len() > 0 {
78039		return invalidParams
78040	}
78041	return nil
78042}
78043
78044// SetDescription sets the Description field's value.
78045func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
78046	s.Description = &v
78047	return s
78048}
78049
78050// SetDiskImages sets the DiskImages field's value.
78051func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
78052	s.DiskImages = v
78053	return s
78054}
78055
78056// SetDryRun sets the DryRun field's value.
78057func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
78058	s.DryRun = &v
78059	return s
78060}
78061
78062// SetLaunchSpecification sets the LaunchSpecification field's value.
78063func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
78064	s.LaunchSpecification = v
78065	return s
78066}
78067
78068// SetPlatform sets the Platform field's value.
78069func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
78070	s.Platform = &v
78071	return s
78072}
78073
78074// Describes the launch specification for VM import.
78075type ImportInstanceLaunchSpecification struct {
78076	_ struct{} `type:"structure"`
78077
78078	// Reserved.
78079	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
78080
78081	// The architecture of the instance.
78082	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
78083
78084	// The security group IDs.
78085	GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
78086
78087	// The security group names.
78088	GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
78089
78090	// Indicates whether an instance stops or terminates when you initiate shutdown
78091	// from the instance (using the operating system command for system shutdown).
78092	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
78093
78094	// The instance type. For more information about the instance types that you
78095	// can import, see Instance Types (https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types)
78096	// in the VM Import/Export User Guide.
78097	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
78098
78099	// Indicates whether monitoring is enabled.
78100	Monitoring *bool `locationName:"monitoring" type:"boolean"`
78101
78102	// The placement information for the instance.
78103	Placement *Placement `locationName:"placement" type:"structure"`
78104
78105	// [EC2-VPC] An available IP address from the IP address range of the subnet.
78106	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
78107
78108	// [EC2-VPC] The ID of the subnet in which to launch the instance.
78109	SubnetId *string `locationName:"subnetId" type:"string"`
78110
78111	// The Base64-encoded user data to make available to the instance.
78112	UserData *UserData `locationName:"userData" type:"structure" sensitive:"true"`
78113}
78114
78115// String returns the string representation
78116func (s ImportInstanceLaunchSpecification) String() string {
78117	return awsutil.Prettify(s)
78118}
78119
78120// GoString returns the string representation
78121func (s ImportInstanceLaunchSpecification) GoString() string {
78122	return s.String()
78123}
78124
78125// SetAdditionalInfo sets the AdditionalInfo field's value.
78126func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
78127	s.AdditionalInfo = &v
78128	return s
78129}
78130
78131// SetArchitecture sets the Architecture field's value.
78132func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
78133	s.Architecture = &v
78134	return s
78135}
78136
78137// SetGroupIds sets the GroupIds field's value.
78138func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
78139	s.GroupIds = v
78140	return s
78141}
78142
78143// SetGroupNames sets the GroupNames field's value.
78144func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
78145	s.GroupNames = v
78146	return s
78147}
78148
78149// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
78150func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
78151	s.InstanceInitiatedShutdownBehavior = &v
78152	return s
78153}
78154
78155// SetInstanceType sets the InstanceType field's value.
78156func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
78157	s.InstanceType = &v
78158	return s
78159}
78160
78161// SetMonitoring sets the Monitoring field's value.
78162func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
78163	s.Monitoring = &v
78164	return s
78165}
78166
78167// SetPlacement sets the Placement field's value.
78168func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
78169	s.Placement = v
78170	return s
78171}
78172
78173// SetPrivateIpAddress sets the PrivateIpAddress field's value.
78174func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
78175	s.PrivateIpAddress = &v
78176	return s
78177}
78178
78179// SetSubnetId sets the SubnetId field's value.
78180func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
78181	s.SubnetId = &v
78182	return s
78183}
78184
78185// SetUserData sets the UserData field's value.
78186func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
78187	s.UserData = v
78188	return s
78189}
78190
78191type ImportInstanceOutput struct {
78192	_ struct{} `type:"structure"`
78193
78194	// Information about the conversion task.
78195	ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
78196}
78197
78198// String returns the string representation
78199func (s ImportInstanceOutput) String() string {
78200	return awsutil.Prettify(s)
78201}
78202
78203// GoString returns the string representation
78204func (s ImportInstanceOutput) GoString() string {
78205	return s.String()
78206}
78207
78208// SetConversionTask sets the ConversionTask field's value.
78209func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
78210	s.ConversionTask = v
78211	return s
78212}
78213
78214// Describes an import instance task.
78215type ImportInstanceTaskDetails struct {
78216	_ struct{} `type:"structure"`
78217
78218	// A description of the task.
78219	Description *string `locationName:"description" type:"string"`
78220
78221	// The ID of the instance.
78222	InstanceId *string `locationName:"instanceId" type:"string"`
78223
78224	// The instance operating system.
78225	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
78226
78227	// The volumes.
78228	Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list"`
78229}
78230
78231// String returns the string representation
78232func (s ImportInstanceTaskDetails) String() string {
78233	return awsutil.Prettify(s)
78234}
78235
78236// GoString returns the string representation
78237func (s ImportInstanceTaskDetails) GoString() string {
78238	return s.String()
78239}
78240
78241// SetDescription sets the Description field's value.
78242func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
78243	s.Description = &v
78244	return s
78245}
78246
78247// SetInstanceId sets the InstanceId field's value.
78248func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
78249	s.InstanceId = &v
78250	return s
78251}
78252
78253// SetPlatform sets the Platform field's value.
78254func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
78255	s.Platform = &v
78256	return s
78257}
78258
78259// SetVolumes sets the Volumes field's value.
78260func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
78261	s.Volumes = v
78262	return s
78263}
78264
78265// Describes an import volume task.
78266type ImportInstanceVolumeDetailItem struct {
78267	_ struct{} `type:"structure"`
78268
78269	// The Availability Zone where the resulting instance will reside.
78270	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
78271
78272	// The number of bytes converted so far.
78273	BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
78274
78275	// A description of the task.
78276	Description *string `locationName:"description" type:"string"`
78277
78278	// The image.
78279	Image *DiskImageDescription `locationName:"image" type:"structure"`
78280
78281	// The status of the import of this particular disk image.
78282	Status *string `locationName:"status" type:"string"`
78283
78284	// The status information or errors related to the disk image.
78285	StatusMessage *string `locationName:"statusMessage" type:"string"`
78286
78287	// The volume.
78288	Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
78289}
78290
78291// String returns the string representation
78292func (s ImportInstanceVolumeDetailItem) String() string {
78293	return awsutil.Prettify(s)
78294}
78295
78296// GoString returns the string representation
78297func (s ImportInstanceVolumeDetailItem) GoString() string {
78298	return s.String()
78299}
78300
78301// SetAvailabilityZone sets the AvailabilityZone field's value.
78302func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
78303	s.AvailabilityZone = &v
78304	return s
78305}
78306
78307// SetBytesConverted sets the BytesConverted field's value.
78308func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
78309	s.BytesConverted = &v
78310	return s
78311}
78312
78313// SetDescription sets the Description field's value.
78314func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
78315	s.Description = &v
78316	return s
78317}
78318
78319// SetImage sets the Image field's value.
78320func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
78321	s.Image = v
78322	return s
78323}
78324
78325// SetStatus sets the Status field's value.
78326func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
78327	s.Status = &v
78328	return s
78329}
78330
78331// SetStatusMessage sets the StatusMessage field's value.
78332func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
78333	s.StatusMessage = &v
78334	return s
78335}
78336
78337// SetVolume sets the Volume field's value.
78338func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
78339	s.Volume = v
78340	return s
78341}
78342
78343type ImportKeyPairInput struct {
78344	_ struct{} `type:"structure"`
78345
78346	// Checks whether you have the required permissions for the action, without
78347	// actually making the request, and provides an error response. If you have
78348	// the required permissions, the error response is DryRunOperation. Otherwise,
78349	// it is UnauthorizedOperation.
78350	DryRun *bool `locationName:"dryRun" type:"boolean"`
78351
78352	// A unique name for the key pair.
78353	//
78354	// KeyName is a required field
78355	KeyName *string `locationName:"keyName" type:"string" required:"true"`
78356
78357	// The public key. For API calls, the text must be base64-encoded. For command
78358	// line tools, base64 encoding is performed for you.
78359	//
78360	// PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
78361	//
78362	// PublicKeyMaterial is a required field
78363	PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
78364}
78365
78366// String returns the string representation
78367func (s ImportKeyPairInput) String() string {
78368	return awsutil.Prettify(s)
78369}
78370
78371// GoString returns the string representation
78372func (s ImportKeyPairInput) GoString() string {
78373	return s.String()
78374}
78375
78376// Validate inspects the fields of the type to determine if they are valid.
78377func (s *ImportKeyPairInput) Validate() error {
78378	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
78379	if s.KeyName == nil {
78380		invalidParams.Add(request.NewErrParamRequired("KeyName"))
78381	}
78382	if s.PublicKeyMaterial == nil {
78383		invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
78384	}
78385
78386	if invalidParams.Len() > 0 {
78387		return invalidParams
78388	}
78389	return nil
78390}
78391
78392// SetDryRun sets the DryRun field's value.
78393func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
78394	s.DryRun = &v
78395	return s
78396}
78397
78398// SetKeyName sets the KeyName field's value.
78399func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
78400	s.KeyName = &v
78401	return s
78402}
78403
78404// SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
78405func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
78406	s.PublicKeyMaterial = v
78407	return s
78408}
78409
78410type ImportKeyPairOutput struct {
78411	_ struct{} `type:"structure"`
78412
78413	// The MD5 public key fingerprint as specified in section 4 of RFC 4716.
78414	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
78415
78416	// The key pair name you provided.
78417	KeyName *string `locationName:"keyName" type:"string"`
78418}
78419
78420// String returns the string representation
78421func (s ImportKeyPairOutput) String() string {
78422	return awsutil.Prettify(s)
78423}
78424
78425// GoString returns the string representation
78426func (s ImportKeyPairOutput) GoString() string {
78427	return s.String()
78428}
78429
78430// SetKeyFingerprint sets the KeyFingerprint field's value.
78431func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
78432	s.KeyFingerprint = &v
78433	return s
78434}
78435
78436// SetKeyName sets the KeyName field's value.
78437func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
78438	s.KeyName = &v
78439	return s
78440}
78441
78442type ImportSnapshotInput struct {
78443	_ struct{} `type:"structure"`
78444
78445	// The client-specific data.
78446	ClientData *ClientData `type:"structure"`
78447
78448	// Token to enable idempotency for VM import requests.
78449	ClientToken *string `type:"string"`
78450
78451	// The description string for the import snapshot task.
78452	Description *string `type:"string"`
78453
78454	// Information about the disk container.
78455	DiskContainer *SnapshotDiskContainer `type:"structure"`
78456
78457	// Checks whether you have the required permissions for the action, without
78458	// actually making the request, and provides an error response. If you have
78459	// the required permissions, the error response is DryRunOperation. Otherwise,
78460	// it is UnauthorizedOperation.
78461	DryRun *bool `type:"boolean"`
78462
78463	// Specifies whether the destination snapshot of the imported image should be
78464	// encrypted. The default CMK for EBS is used unless you specify a non-default
78465	// AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information,
78466	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
78467	// in the Amazon Elastic Compute Cloud User Guide.
78468	Encrypted *bool `type:"boolean"`
78469
78470	// An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
78471	// master key (CMK) to use when creating the encrypted snapshot. This parameter
78472	// is only required if you want to use a non-default CMK; if this parameter
78473	// is not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
78474	// the Encrypted flag must also be set.
78475	//
78476	// The CMK identifier may be provided in any of the following formats:
78477	//
78478	//    * Key ID
78479	//
78480	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
78481	//    by the Region of the CMK, the AWS account ID of the CMK owner, the alias
78482	//    namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
78483	//
78484	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
78485	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
78486	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
78487	//
78488	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
78489	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
78490	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
78491	//
78492	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
78493	// appear to complete even though you provided an invalid identifier. This action
78494	// will eventually report failure.
78495	//
78496	// The specified CMK must exist in the Region that the snapshot is being copied
78497	// to.
78498	//
78499	// Amazon EBS does not support asymmetric CMKs.
78500	KmsKeyId *string `type:"string"`
78501
78502	// The name of the role to use when not using the default role, 'vmimport'.
78503	RoleName *string `type:"string"`
78504}
78505
78506// String returns the string representation
78507func (s ImportSnapshotInput) String() string {
78508	return awsutil.Prettify(s)
78509}
78510
78511// GoString returns the string representation
78512func (s ImportSnapshotInput) GoString() string {
78513	return s.String()
78514}
78515
78516// SetClientData sets the ClientData field's value.
78517func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
78518	s.ClientData = v
78519	return s
78520}
78521
78522// SetClientToken sets the ClientToken field's value.
78523func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
78524	s.ClientToken = &v
78525	return s
78526}
78527
78528// SetDescription sets the Description field's value.
78529func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
78530	s.Description = &v
78531	return s
78532}
78533
78534// SetDiskContainer sets the DiskContainer field's value.
78535func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
78536	s.DiskContainer = v
78537	return s
78538}
78539
78540// SetDryRun sets the DryRun field's value.
78541func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
78542	s.DryRun = &v
78543	return s
78544}
78545
78546// SetEncrypted sets the Encrypted field's value.
78547func (s *ImportSnapshotInput) SetEncrypted(v bool) *ImportSnapshotInput {
78548	s.Encrypted = &v
78549	return s
78550}
78551
78552// SetKmsKeyId sets the KmsKeyId field's value.
78553func (s *ImportSnapshotInput) SetKmsKeyId(v string) *ImportSnapshotInput {
78554	s.KmsKeyId = &v
78555	return s
78556}
78557
78558// SetRoleName sets the RoleName field's value.
78559func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
78560	s.RoleName = &v
78561	return s
78562}
78563
78564type ImportSnapshotOutput struct {
78565	_ struct{} `type:"structure"`
78566
78567	// A description of the import snapshot task.
78568	Description *string `locationName:"description" type:"string"`
78569
78570	// The ID of the import snapshot task.
78571	ImportTaskId *string `locationName:"importTaskId" type:"string"`
78572
78573	// Information about the import snapshot task.
78574	SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
78575}
78576
78577// String returns the string representation
78578func (s ImportSnapshotOutput) String() string {
78579	return awsutil.Prettify(s)
78580}
78581
78582// GoString returns the string representation
78583func (s ImportSnapshotOutput) GoString() string {
78584	return s.String()
78585}
78586
78587// SetDescription sets the Description field's value.
78588func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
78589	s.Description = &v
78590	return s
78591}
78592
78593// SetImportTaskId sets the ImportTaskId field's value.
78594func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
78595	s.ImportTaskId = &v
78596	return s
78597}
78598
78599// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
78600func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
78601	s.SnapshotTaskDetail = v
78602	return s
78603}
78604
78605// Describes an import snapshot task.
78606type ImportSnapshotTask struct {
78607	_ struct{} `type:"structure"`
78608
78609	// A description of the import snapshot task.
78610	Description *string `locationName:"description" type:"string"`
78611
78612	// The ID of the import snapshot task.
78613	ImportTaskId *string `locationName:"importTaskId" type:"string"`
78614
78615	// Describes an import snapshot task.
78616	SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
78617
78618	// The tags for the import snapshot task.
78619	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
78620}
78621
78622// String returns the string representation
78623func (s ImportSnapshotTask) String() string {
78624	return awsutil.Prettify(s)
78625}
78626
78627// GoString returns the string representation
78628func (s ImportSnapshotTask) GoString() string {
78629	return s.String()
78630}
78631
78632// SetDescription sets the Description field's value.
78633func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
78634	s.Description = &v
78635	return s
78636}
78637
78638// SetImportTaskId sets the ImportTaskId field's value.
78639func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
78640	s.ImportTaskId = &v
78641	return s
78642}
78643
78644// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
78645func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
78646	s.SnapshotTaskDetail = v
78647	return s
78648}
78649
78650// SetTags sets the Tags field's value.
78651func (s *ImportSnapshotTask) SetTags(v []*Tag) *ImportSnapshotTask {
78652	s.Tags = v
78653	return s
78654}
78655
78656type ImportVolumeInput struct {
78657	_ struct{} `type:"structure"`
78658
78659	// The Availability Zone for the resulting EBS volume.
78660	//
78661	// AvailabilityZone is a required field
78662	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
78663
78664	// A description of the volume.
78665	Description *string `locationName:"description" type:"string"`
78666
78667	// Checks whether you have the required permissions for the action, without
78668	// actually making the request, and provides an error response. If you have
78669	// the required permissions, the error response is DryRunOperation. Otherwise,
78670	// it is UnauthorizedOperation.
78671	DryRun *bool `locationName:"dryRun" type:"boolean"`
78672
78673	// The disk image.
78674	//
78675	// Image is a required field
78676	Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
78677
78678	// The volume size.
78679	//
78680	// Volume is a required field
78681	Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
78682}
78683
78684// String returns the string representation
78685func (s ImportVolumeInput) String() string {
78686	return awsutil.Prettify(s)
78687}
78688
78689// GoString returns the string representation
78690func (s ImportVolumeInput) GoString() string {
78691	return s.String()
78692}
78693
78694// Validate inspects the fields of the type to determine if they are valid.
78695func (s *ImportVolumeInput) Validate() error {
78696	invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
78697	if s.AvailabilityZone == nil {
78698		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
78699	}
78700	if s.Image == nil {
78701		invalidParams.Add(request.NewErrParamRequired("Image"))
78702	}
78703	if s.Volume == nil {
78704		invalidParams.Add(request.NewErrParamRequired("Volume"))
78705	}
78706	if s.Image != nil {
78707		if err := s.Image.Validate(); err != nil {
78708			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
78709		}
78710	}
78711	if s.Volume != nil {
78712		if err := s.Volume.Validate(); err != nil {
78713			invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
78714		}
78715	}
78716
78717	if invalidParams.Len() > 0 {
78718		return invalidParams
78719	}
78720	return nil
78721}
78722
78723// SetAvailabilityZone sets the AvailabilityZone field's value.
78724func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
78725	s.AvailabilityZone = &v
78726	return s
78727}
78728
78729// SetDescription sets the Description field's value.
78730func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
78731	s.Description = &v
78732	return s
78733}
78734
78735// SetDryRun sets the DryRun field's value.
78736func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
78737	s.DryRun = &v
78738	return s
78739}
78740
78741// SetImage sets the Image field's value.
78742func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
78743	s.Image = v
78744	return s
78745}
78746
78747// SetVolume sets the Volume field's value.
78748func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
78749	s.Volume = v
78750	return s
78751}
78752
78753type ImportVolumeOutput struct {
78754	_ struct{} `type:"structure"`
78755
78756	// Information about the conversion task.
78757	ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
78758}
78759
78760// String returns the string representation
78761func (s ImportVolumeOutput) String() string {
78762	return awsutil.Prettify(s)
78763}
78764
78765// GoString returns the string representation
78766func (s ImportVolumeOutput) GoString() string {
78767	return s.String()
78768}
78769
78770// SetConversionTask sets the ConversionTask field's value.
78771func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
78772	s.ConversionTask = v
78773	return s
78774}
78775
78776// Describes an import volume task.
78777type ImportVolumeTaskDetails struct {
78778	_ struct{} `type:"structure"`
78779
78780	// The Availability Zone where the resulting volume will reside.
78781	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
78782
78783	// The number of bytes converted so far.
78784	BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
78785
78786	// The description you provided when starting the import volume task.
78787	Description *string `locationName:"description" type:"string"`
78788
78789	// The image.
78790	Image *DiskImageDescription `locationName:"image" type:"structure"`
78791
78792	// The volume.
78793	Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
78794}
78795
78796// String returns the string representation
78797func (s ImportVolumeTaskDetails) String() string {
78798	return awsutil.Prettify(s)
78799}
78800
78801// GoString returns the string representation
78802func (s ImportVolumeTaskDetails) GoString() string {
78803	return s.String()
78804}
78805
78806// SetAvailabilityZone sets the AvailabilityZone field's value.
78807func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
78808	s.AvailabilityZone = &v
78809	return s
78810}
78811
78812// SetBytesConverted sets the BytesConverted field's value.
78813func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
78814	s.BytesConverted = &v
78815	return s
78816}
78817
78818// SetDescription sets the Description field's value.
78819func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
78820	s.Description = &v
78821	return s
78822}
78823
78824// SetImage sets the Image field's value.
78825func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
78826	s.Image = v
78827	return s
78828}
78829
78830// SetVolume sets the Volume field's value.
78831func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
78832	s.Volume = v
78833	return s
78834}
78835
78836// Describes the Inference accelerators for the instance type.
78837type InferenceAcceleratorInfo struct {
78838	_ struct{} `type:"structure"`
78839
78840	// Describes the Inference accelerators for the instance type.
78841	Accelerators []*InferenceDeviceInfo `locationName:"accelerators" type:"list"`
78842}
78843
78844// String returns the string representation
78845func (s InferenceAcceleratorInfo) String() string {
78846	return awsutil.Prettify(s)
78847}
78848
78849// GoString returns the string representation
78850func (s InferenceAcceleratorInfo) GoString() string {
78851	return s.String()
78852}
78853
78854// SetAccelerators sets the Accelerators field's value.
78855func (s *InferenceAcceleratorInfo) SetAccelerators(v []*InferenceDeviceInfo) *InferenceAcceleratorInfo {
78856	s.Accelerators = v
78857	return s
78858}
78859
78860// Describes the Inference accelerators for the instance type.
78861type InferenceDeviceInfo struct {
78862	_ struct{} `type:"structure"`
78863
78864	// The number of Inference accelerators for the instance type.
78865	Count *int64 `locationName:"count" type:"integer"`
78866
78867	// The manufacturer of the Inference accelerator.
78868	Manufacturer *string `locationName:"manufacturer" type:"string"`
78869
78870	// The name of the Inference accelerator.
78871	Name *string `locationName:"name" type:"string"`
78872}
78873
78874// String returns the string representation
78875func (s InferenceDeviceInfo) String() string {
78876	return awsutil.Prettify(s)
78877}
78878
78879// GoString returns the string representation
78880func (s InferenceDeviceInfo) GoString() string {
78881	return s.String()
78882}
78883
78884// SetCount sets the Count field's value.
78885func (s *InferenceDeviceInfo) SetCount(v int64) *InferenceDeviceInfo {
78886	s.Count = &v
78887	return s
78888}
78889
78890// SetManufacturer sets the Manufacturer field's value.
78891func (s *InferenceDeviceInfo) SetManufacturer(v string) *InferenceDeviceInfo {
78892	s.Manufacturer = &v
78893	return s
78894}
78895
78896// SetName sets the Name field's value.
78897func (s *InferenceDeviceInfo) SetName(v string) *InferenceDeviceInfo {
78898	s.Name = &v
78899	return s
78900}
78901
78902// Describes an instance.
78903type Instance struct {
78904	_ struct{} `type:"structure"`
78905
78906	// The AMI launch index, which can be used to find this instance in the launch
78907	// group.
78908	AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
78909
78910	// The architecture of the image.
78911	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
78912
78913	// Any block device mapping entries for the instance.
78914	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
78915
78916	// The ID of the Capacity Reservation.
78917	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
78918
78919	// Information about the Capacity Reservation targeting option.
78920	CapacityReservationSpecification *CapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
78921
78922	// The idempotency token you provided when you launched the instance, if applicable.
78923	ClientToken *string `locationName:"clientToken" type:"string"`
78924
78925	// The CPU options for the instance.
78926	CpuOptions *CpuOptions `locationName:"cpuOptions" type:"structure"`
78927
78928	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
78929	// provides dedicated throughput to Amazon EBS and an optimized configuration
78930	// stack to provide optimal I/O performance. This optimization isn't available
78931	// with all instance types. Additional usage charges apply when using an EBS
78932	// Optimized instance.
78933	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
78934
78935	// The Elastic GPU associated with the instance.
78936	ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
78937
78938	// The elastic inference accelerator associated with the instance.
78939	ElasticInferenceAcceleratorAssociations []*ElasticInferenceAcceleratorAssociation `locationName:"elasticInferenceAcceleratorAssociationSet" locationNameList:"item" type:"list"`
78940
78941	// Specifies whether enhanced networking with ENA is enabled.
78942	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
78943
78944	// Indicates whether the instance is enabled for hibernation.
78945	HibernationOptions *HibernationOptions `locationName:"hibernationOptions" type:"structure"`
78946
78947	// The hypervisor type of the instance.
78948	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
78949
78950	// The IAM instance profile associated with the instance, if applicable.
78951	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
78952
78953	// The ID of the AMI used to launch the instance.
78954	ImageId *string `locationName:"imageId" type:"string"`
78955
78956	// The ID of the instance.
78957	InstanceId *string `locationName:"instanceId" type:"string"`
78958
78959	// Indicates whether this is a Spot Instance or a Scheduled Instance.
78960	InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
78961
78962	// The instance type.
78963	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
78964
78965	// The kernel associated with this instance, if applicable.
78966	KernelId *string `locationName:"kernelId" type:"string"`
78967
78968	// The name of the key pair, if this instance was launched with an associated
78969	// key pair.
78970	KeyName *string `locationName:"keyName" type:"string"`
78971
78972	// The time the instance was launched.
78973	LaunchTime *time.Time `locationName:"launchTime" type:"timestamp"`
78974
78975	// The license configurations.
78976	Licenses []*LicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
78977
78978	// The metadata options for the instance.
78979	MetadataOptions *InstanceMetadataOptionsResponse `locationName:"metadataOptions" type:"structure"`
78980
78981	// The monitoring for the instance.
78982	Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
78983
78984	// [EC2-VPC] The network interfaces for the instance.
78985	NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
78986
78987	// The Amazon Resource Name (ARN) of the Outpost.
78988	OutpostArn *string `locationName:"outpostArn" type:"string"`
78989
78990	// The location where the instance launched, if applicable.
78991	Placement *Placement `locationName:"placement" type:"structure"`
78992
78993	// The value is Windows for Windows instances; otherwise blank.
78994	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
78995
78996	// (IPv4 only) The private DNS hostname name assigned to the instance. This
78997	// DNS hostname can only be used inside the Amazon EC2 network. This name is
78998	// not available until the instance enters the running state.
78999	//
79000	// [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private
79001	// DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
79002	// VPC. If you are not using the Amazon-provided DNS server in your VPC, your
79003	// custom domain name servers must resolve the hostname as appropriate.
79004	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
79005
79006	// The private IPv4 address assigned to the instance.
79007	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
79008
79009	// The product codes attached to this instance, if applicable.
79010	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
79011
79012	// (IPv4 only) The public DNS name assigned to the instance. This name is not
79013	// available until the instance enters the running state. For EC2-VPC, this
79014	// name is only available if you've enabled DNS hostnames for your VPC.
79015	PublicDnsName *string `locationName:"dnsName" type:"string"`
79016
79017	// The public IPv4 address assigned to the instance, if applicable.
79018	PublicIpAddress *string `locationName:"ipAddress" type:"string"`
79019
79020	// The RAM disk associated with this instance, if applicable.
79021	RamdiskId *string `locationName:"ramdiskId" type:"string"`
79022
79023	// The device name of the root device volume (for example, /dev/sda1).
79024	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
79025
79026	// The root device type used by the AMI. The AMI can use an EBS volume or an
79027	// instance store volume.
79028	RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
79029
79030	// The security groups for the instance.
79031	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
79032
79033	// Specifies whether to enable an instance launched in a VPC to perform NAT.
79034	// This controls whether source/destination checking is enabled on the instance.
79035	// A value of true means that checking is enabled, and false means that checking
79036	// is disabled. The value must be false for the instance to perform NAT. For
79037	// more information, see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
79038	// in the Amazon Virtual Private Cloud User Guide.
79039	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
79040
79041	// If the request is a Spot Instance request, the ID of the request.
79042	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
79043
79044	// Specifies whether enhanced networking with the Intel 82599 Virtual Function
79045	// interface is enabled.
79046	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
79047
79048	// The current state of the instance.
79049	State *InstanceState `locationName:"instanceState" type:"structure"`
79050
79051	// The reason for the most recent state transition.
79052	StateReason *StateReason `locationName:"stateReason" type:"structure"`
79053
79054	// The reason for the most recent state transition. This might be an empty string.
79055	StateTransitionReason *string `locationName:"reason" type:"string"`
79056
79057	// [EC2-VPC] The ID of the subnet in which the instance is running.
79058	SubnetId *string `locationName:"subnetId" type:"string"`
79059
79060	// Any tags assigned to the instance.
79061	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
79062
79063	// The virtualization type of the instance.
79064	VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
79065
79066	// [EC2-VPC] The ID of the VPC in which the instance is running.
79067	VpcId *string `locationName:"vpcId" type:"string"`
79068}
79069
79070// String returns the string representation
79071func (s Instance) String() string {
79072	return awsutil.Prettify(s)
79073}
79074
79075// GoString returns the string representation
79076func (s Instance) GoString() string {
79077	return s.String()
79078}
79079
79080// SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
79081func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
79082	s.AmiLaunchIndex = &v
79083	return s
79084}
79085
79086// SetArchitecture sets the Architecture field's value.
79087func (s *Instance) SetArchitecture(v string) *Instance {
79088	s.Architecture = &v
79089	return s
79090}
79091
79092// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
79093func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
79094	s.BlockDeviceMappings = v
79095	return s
79096}
79097
79098// SetCapacityReservationId sets the CapacityReservationId field's value.
79099func (s *Instance) SetCapacityReservationId(v string) *Instance {
79100	s.CapacityReservationId = &v
79101	return s
79102}
79103
79104// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
79105func (s *Instance) SetCapacityReservationSpecification(v *CapacityReservationSpecificationResponse) *Instance {
79106	s.CapacityReservationSpecification = v
79107	return s
79108}
79109
79110// SetClientToken sets the ClientToken field's value.
79111func (s *Instance) SetClientToken(v string) *Instance {
79112	s.ClientToken = &v
79113	return s
79114}
79115
79116// SetCpuOptions sets the CpuOptions field's value.
79117func (s *Instance) SetCpuOptions(v *CpuOptions) *Instance {
79118	s.CpuOptions = v
79119	return s
79120}
79121
79122// SetEbsOptimized sets the EbsOptimized field's value.
79123func (s *Instance) SetEbsOptimized(v bool) *Instance {
79124	s.EbsOptimized = &v
79125	return s
79126}
79127
79128// SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
79129func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
79130	s.ElasticGpuAssociations = v
79131	return s
79132}
79133
79134// SetElasticInferenceAcceleratorAssociations sets the ElasticInferenceAcceleratorAssociations field's value.
79135func (s *Instance) SetElasticInferenceAcceleratorAssociations(v []*ElasticInferenceAcceleratorAssociation) *Instance {
79136	s.ElasticInferenceAcceleratorAssociations = v
79137	return s
79138}
79139
79140// SetEnaSupport sets the EnaSupport field's value.
79141func (s *Instance) SetEnaSupport(v bool) *Instance {
79142	s.EnaSupport = &v
79143	return s
79144}
79145
79146// SetHibernationOptions sets the HibernationOptions field's value.
79147func (s *Instance) SetHibernationOptions(v *HibernationOptions) *Instance {
79148	s.HibernationOptions = v
79149	return s
79150}
79151
79152// SetHypervisor sets the Hypervisor field's value.
79153func (s *Instance) SetHypervisor(v string) *Instance {
79154	s.Hypervisor = &v
79155	return s
79156}
79157
79158// SetIamInstanceProfile sets the IamInstanceProfile field's value.
79159func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
79160	s.IamInstanceProfile = v
79161	return s
79162}
79163
79164// SetImageId sets the ImageId field's value.
79165func (s *Instance) SetImageId(v string) *Instance {
79166	s.ImageId = &v
79167	return s
79168}
79169
79170// SetInstanceId sets the InstanceId field's value.
79171func (s *Instance) SetInstanceId(v string) *Instance {
79172	s.InstanceId = &v
79173	return s
79174}
79175
79176// SetInstanceLifecycle sets the InstanceLifecycle field's value.
79177func (s *Instance) SetInstanceLifecycle(v string) *Instance {
79178	s.InstanceLifecycle = &v
79179	return s
79180}
79181
79182// SetInstanceType sets the InstanceType field's value.
79183func (s *Instance) SetInstanceType(v string) *Instance {
79184	s.InstanceType = &v
79185	return s
79186}
79187
79188// SetKernelId sets the KernelId field's value.
79189func (s *Instance) SetKernelId(v string) *Instance {
79190	s.KernelId = &v
79191	return s
79192}
79193
79194// SetKeyName sets the KeyName field's value.
79195func (s *Instance) SetKeyName(v string) *Instance {
79196	s.KeyName = &v
79197	return s
79198}
79199
79200// SetLaunchTime sets the LaunchTime field's value.
79201func (s *Instance) SetLaunchTime(v time.Time) *Instance {
79202	s.LaunchTime = &v
79203	return s
79204}
79205
79206// SetLicenses sets the Licenses field's value.
79207func (s *Instance) SetLicenses(v []*LicenseConfiguration) *Instance {
79208	s.Licenses = v
79209	return s
79210}
79211
79212// SetMetadataOptions sets the MetadataOptions field's value.
79213func (s *Instance) SetMetadataOptions(v *InstanceMetadataOptionsResponse) *Instance {
79214	s.MetadataOptions = v
79215	return s
79216}
79217
79218// SetMonitoring sets the Monitoring field's value.
79219func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
79220	s.Monitoring = v
79221	return s
79222}
79223
79224// SetNetworkInterfaces sets the NetworkInterfaces field's value.
79225func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
79226	s.NetworkInterfaces = v
79227	return s
79228}
79229
79230// SetOutpostArn sets the OutpostArn field's value.
79231func (s *Instance) SetOutpostArn(v string) *Instance {
79232	s.OutpostArn = &v
79233	return s
79234}
79235
79236// SetPlacement sets the Placement field's value.
79237func (s *Instance) SetPlacement(v *Placement) *Instance {
79238	s.Placement = v
79239	return s
79240}
79241
79242// SetPlatform sets the Platform field's value.
79243func (s *Instance) SetPlatform(v string) *Instance {
79244	s.Platform = &v
79245	return s
79246}
79247
79248// SetPrivateDnsName sets the PrivateDnsName field's value.
79249func (s *Instance) SetPrivateDnsName(v string) *Instance {
79250	s.PrivateDnsName = &v
79251	return s
79252}
79253
79254// SetPrivateIpAddress sets the PrivateIpAddress field's value.
79255func (s *Instance) SetPrivateIpAddress(v string) *Instance {
79256	s.PrivateIpAddress = &v
79257	return s
79258}
79259
79260// SetProductCodes sets the ProductCodes field's value.
79261func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
79262	s.ProductCodes = v
79263	return s
79264}
79265
79266// SetPublicDnsName sets the PublicDnsName field's value.
79267func (s *Instance) SetPublicDnsName(v string) *Instance {
79268	s.PublicDnsName = &v
79269	return s
79270}
79271
79272// SetPublicIpAddress sets the PublicIpAddress field's value.
79273func (s *Instance) SetPublicIpAddress(v string) *Instance {
79274	s.PublicIpAddress = &v
79275	return s
79276}
79277
79278// SetRamdiskId sets the RamdiskId field's value.
79279func (s *Instance) SetRamdiskId(v string) *Instance {
79280	s.RamdiskId = &v
79281	return s
79282}
79283
79284// SetRootDeviceName sets the RootDeviceName field's value.
79285func (s *Instance) SetRootDeviceName(v string) *Instance {
79286	s.RootDeviceName = &v
79287	return s
79288}
79289
79290// SetRootDeviceType sets the RootDeviceType field's value.
79291func (s *Instance) SetRootDeviceType(v string) *Instance {
79292	s.RootDeviceType = &v
79293	return s
79294}
79295
79296// SetSecurityGroups sets the SecurityGroups field's value.
79297func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
79298	s.SecurityGroups = v
79299	return s
79300}
79301
79302// SetSourceDestCheck sets the SourceDestCheck field's value.
79303func (s *Instance) SetSourceDestCheck(v bool) *Instance {
79304	s.SourceDestCheck = &v
79305	return s
79306}
79307
79308// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
79309func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
79310	s.SpotInstanceRequestId = &v
79311	return s
79312}
79313
79314// SetSriovNetSupport sets the SriovNetSupport field's value.
79315func (s *Instance) SetSriovNetSupport(v string) *Instance {
79316	s.SriovNetSupport = &v
79317	return s
79318}
79319
79320// SetState sets the State field's value.
79321func (s *Instance) SetState(v *InstanceState) *Instance {
79322	s.State = v
79323	return s
79324}
79325
79326// SetStateReason sets the StateReason field's value.
79327func (s *Instance) SetStateReason(v *StateReason) *Instance {
79328	s.StateReason = v
79329	return s
79330}
79331
79332// SetStateTransitionReason sets the StateTransitionReason field's value.
79333func (s *Instance) SetStateTransitionReason(v string) *Instance {
79334	s.StateTransitionReason = &v
79335	return s
79336}
79337
79338// SetSubnetId sets the SubnetId field's value.
79339func (s *Instance) SetSubnetId(v string) *Instance {
79340	s.SubnetId = &v
79341	return s
79342}
79343
79344// SetTags sets the Tags field's value.
79345func (s *Instance) SetTags(v []*Tag) *Instance {
79346	s.Tags = v
79347	return s
79348}
79349
79350// SetVirtualizationType sets the VirtualizationType field's value.
79351func (s *Instance) SetVirtualizationType(v string) *Instance {
79352	s.VirtualizationType = &v
79353	return s
79354}
79355
79356// SetVpcId sets the VpcId field's value.
79357func (s *Instance) SetVpcId(v string) *Instance {
79358	s.VpcId = &v
79359	return s
79360}
79361
79362// Describes a block device mapping.
79363type InstanceBlockDeviceMapping struct {
79364	_ struct{} `type:"structure"`
79365
79366	// The device name (for example, /dev/sdh or xvdh).
79367	DeviceName *string `locationName:"deviceName" type:"string"`
79368
79369	// Parameters used to automatically set up EBS volumes when the instance is
79370	// launched.
79371	Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
79372}
79373
79374// String returns the string representation
79375func (s InstanceBlockDeviceMapping) String() string {
79376	return awsutil.Prettify(s)
79377}
79378
79379// GoString returns the string representation
79380func (s InstanceBlockDeviceMapping) GoString() string {
79381	return s.String()
79382}
79383
79384// SetDeviceName sets the DeviceName field's value.
79385func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
79386	s.DeviceName = &v
79387	return s
79388}
79389
79390// SetEbs sets the Ebs field's value.
79391func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
79392	s.Ebs = v
79393	return s
79394}
79395
79396// Describes a block device mapping entry.
79397type InstanceBlockDeviceMappingSpecification struct {
79398	_ struct{} `type:"structure"`
79399
79400	// The device name (for example, /dev/sdh or xvdh).
79401	DeviceName *string `locationName:"deviceName" type:"string"`
79402
79403	// Parameters used to automatically set up EBS volumes when the instance is
79404	// launched.
79405	Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
79406
79407	// suppress the specified device included in the block device mapping.
79408	NoDevice *string `locationName:"noDevice" type:"string"`
79409
79410	// The virtual device name.
79411	VirtualName *string `locationName:"virtualName" type:"string"`
79412}
79413
79414// String returns the string representation
79415func (s InstanceBlockDeviceMappingSpecification) String() string {
79416	return awsutil.Prettify(s)
79417}
79418
79419// GoString returns the string representation
79420func (s InstanceBlockDeviceMappingSpecification) GoString() string {
79421	return s.String()
79422}
79423
79424// SetDeviceName sets the DeviceName field's value.
79425func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
79426	s.DeviceName = &v
79427	return s
79428}
79429
79430// SetEbs sets the Ebs field's value.
79431func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
79432	s.Ebs = v
79433	return s
79434}
79435
79436// SetNoDevice sets the NoDevice field's value.
79437func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
79438	s.NoDevice = &v
79439	return s
79440}
79441
79442// SetVirtualName sets the VirtualName field's value.
79443func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
79444	s.VirtualName = &v
79445	return s
79446}
79447
79448// Information about the number of instances that can be launched onto the Dedicated
79449// Host.
79450type InstanceCapacity struct {
79451	_ struct{} `type:"structure"`
79452
79453	// The number of instances that can be launched onto the Dedicated Host based
79454	// on the host's available capacity.
79455	AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
79456
79457	// The instance type supported by the Dedicated Host.
79458	InstanceType *string `locationName:"instanceType" type:"string"`
79459
79460	// The total number of instances that can be launched onto the Dedicated Host
79461	// if there are no instances running on it.
79462	TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
79463}
79464
79465// String returns the string representation
79466func (s InstanceCapacity) String() string {
79467	return awsutil.Prettify(s)
79468}
79469
79470// GoString returns the string representation
79471func (s InstanceCapacity) GoString() string {
79472	return s.String()
79473}
79474
79475// SetAvailableCapacity sets the AvailableCapacity field's value.
79476func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
79477	s.AvailableCapacity = &v
79478	return s
79479}
79480
79481// SetInstanceType sets the InstanceType field's value.
79482func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
79483	s.InstanceType = &v
79484	return s
79485}
79486
79487// SetTotalCapacity sets the TotalCapacity field's value.
79488func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
79489	s.TotalCapacity = &v
79490	return s
79491}
79492
79493// Describes a Reserved Instance listing state.
79494type InstanceCount struct {
79495	_ struct{} `type:"structure"`
79496
79497	// The number of listed Reserved Instances in the state specified by the state.
79498	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
79499
79500	// The states of the listed Reserved Instances.
79501	State *string `locationName:"state" type:"string" enum:"ListingState"`
79502}
79503
79504// String returns the string representation
79505func (s InstanceCount) String() string {
79506	return awsutil.Prettify(s)
79507}
79508
79509// GoString returns the string representation
79510func (s InstanceCount) GoString() string {
79511	return s.String()
79512}
79513
79514// SetInstanceCount sets the InstanceCount field's value.
79515func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
79516	s.InstanceCount = &v
79517	return s
79518}
79519
79520// SetState sets the State field's value.
79521func (s *InstanceCount) SetState(v string) *InstanceCount {
79522	s.State = &v
79523	return s
79524}
79525
79526// Describes the credit option for CPU usage of a burstable performance instance.
79527type InstanceCreditSpecification struct {
79528	_ struct{} `type:"structure"`
79529
79530	// The credit option for CPU usage of the instance. Valid values are standard
79531	// and unlimited.
79532	CpuCredits *string `locationName:"cpuCredits" type:"string"`
79533
79534	// The ID of the instance.
79535	InstanceId *string `locationName:"instanceId" type:"string"`
79536}
79537
79538// String returns the string representation
79539func (s InstanceCreditSpecification) String() string {
79540	return awsutil.Prettify(s)
79541}
79542
79543// GoString returns the string representation
79544func (s InstanceCreditSpecification) GoString() string {
79545	return s.String()
79546}
79547
79548// SetCpuCredits sets the CpuCredits field's value.
79549func (s *InstanceCreditSpecification) SetCpuCredits(v string) *InstanceCreditSpecification {
79550	s.CpuCredits = &v
79551	return s
79552}
79553
79554// SetInstanceId sets the InstanceId field's value.
79555func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpecification {
79556	s.InstanceId = &v
79557	return s
79558}
79559
79560// Describes the credit option for CPU usage of a burstable performance instance.
79561type InstanceCreditSpecificationRequest struct {
79562	_ struct{} `type:"structure"`
79563
79564	// The credit option for CPU usage of the instance. Valid values are standard
79565	// and unlimited.
79566	CpuCredits *string `type:"string"`
79567
79568	// The ID of the instance.
79569	InstanceId *string `type:"string"`
79570}
79571
79572// String returns the string representation
79573func (s InstanceCreditSpecificationRequest) String() string {
79574	return awsutil.Prettify(s)
79575}
79576
79577// GoString returns the string representation
79578func (s InstanceCreditSpecificationRequest) GoString() string {
79579	return s.String()
79580}
79581
79582// SetCpuCredits sets the CpuCredits field's value.
79583func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest {
79584	s.CpuCredits = &v
79585	return s
79586}
79587
79588// SetInstanceId sets the InstanceId field's value.
79589func (s *InstanceCreditSpecificationRequest) SetInstanceId(v string) *InstanceCreditSpecificationRequest {
79590	s.InstanceId = &v
79591	return s
79592}
79593
79594// Describes an instance to export.
79595type InstanceExportDetails struct {
79596	_ struct{} `type:"structure"`
79597
79598	// The ID of the resource being exported.
79599	InstanceId *string `locationName:"instanceId" type:"string"`
79600
79601	// The target virtualization environment.
79602	TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
79603}
79604
79605// String returns the string representation
79606func (s InstanceExportDetails) String() string {
79607	return awsutil.Prettify(s)
79608}
79609
79610// GoString returns the string representation
79611func (s InstanceExportDetails) GoString() string {
79612	return s.String()
79613}
79614
79615// SetInstanceId sets the InstanceId field's value.
79616func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
79617	s.InstanceId = &v
79618	return s
79619}
79620
79621// SetTargetEnvironment sets the TargetEnvironment field's value.
79622func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
79623	s.TargetEnvironment = &v
79624	return s
79625}
79626
79627// Describes the default credit option for CPU usage of a burstable performance
79628// instance family.
79629type InstanceFamilyCreditSpecification struct {
79630	_ struct{} `type:"structure"`
79631
79632	// The default credit option for CPU usage of the instance family. Valid values
79633	// are standard and unlimited.
79634	CpuCredits *string `locationName:"cpuCredits" type:"string"`
79635
79636	// The instance family.
79637	InstanceFamily *string `locationName:"instanceFamily" type:"string" enum:"UnlimitedSupportedInstanceFamily"`
79638}
79639
79640// String returns the string representation
79641func (s InstanceFamilyCreditSpecification) String() string {
79642	return awsutil.Prettify(s)
79643}
79644
79645// GoString returns the string representation
79646func (s InstanceFamilyCreditSpecification) GoString() string {
79647	return s.String()
79648}
79649
79650// SetCpuCredits sets the CpuCredits field's value.
79651func (s *InstanceFamilyCreditSpecification) SetCpuCredits(v string) *InstanceFamilyCreditSpecification {
79652	s.CpuCredits = &v
79653	return s
79654}
79655
79656// SetInstanceFamily sets the InstanceFamily field's value.
79657func (s *InstanceFamilyCreditSpecification) SetInstanceFamily(v string) *InstanceFamilyCreditSpecification {
79658	s.InstanceFamily = &v
79659	return s
79660}
79661
79662// Describes an IPv6 address.
79663type InstanceIpv6Address struct {
79664	_ struct{} `type:"structure"`
79665
79666	// The IPv6 address.
79667	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
79668}
79669
79670// String returns the string representation
79671func (s InstanceIpv6Address) String() string {
79672	return awsutil.Prettify(s)
79673}
79674
79675// GoString returns the string representation
79676func (s InstanceIpv6Address) GoString() string {
79677	return s.String()
79678}
79679
79680// SetIpv6Address sets the Ipv6Address field's value.
79681func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
79682	s.Ipv6Address = &v
79683	return s
79684}
79685
79686// Describes an IPv6 address.
79687type InstanceIpv6AddressRequest struct {
79688	_ struct{} `type:"structure"`
79689
79690	// The IPv6 address.
79691	Ipv6Address *string `type:"string"`
79692}
79693
79694// String returns the string representation
79695func (s InstanceIpv6AddressRequest) String() string {
79696	return awsutil.Prettify(s)
79697}
79698
79699// GoString returns the string representation
79700func (s InstanceIpv6AddressRequest) GoString() string {
79701	return s.String()
79702}
79703
79704// SetIpv6Address sets the Ipv6Address field's value.
79705func (s *InstanceIpv6AddressRequest) SetIpv6Address(v string) *InstanceIpv6AddressRequest {
79706	s.Ipv6Address = &v
79707	return s
79708}
79709
79710// Describes the market (purchasing) option for the instances.
79711type InstanceMarketOptionsRequest struct {
79712	_ struct{} `type:"structure"`
79713
79714	// The market type.
79715	MarketType *string `type:"string" enum:"MarketType"`
79716
79717	// The options for Spot Instances.
79718	SpotOptions *SpotMarketOptions `type:"structure"`
79719}
79720
79721// String returns the string representation
79722func (s InstanceMarketOptionsRequest) String() string {
79723	return awsutil.Prettify(s)
79724}
79725
79726// GoString returns the string representation
79727func (s InstanceMarketOptionsRequest) GoString() string {
79728	return s.String()
79729}
79730
79731// SetMarketType sets the MarketType field's value.
79732func (s *InstanceMarketOptionsRequest) SetMarketType(v string) *InstanceMarketOptionsRequest {
79733	s.MarketType = &v
79734	return s
79735}
79736
79737// SetSpotOptions sets the SpotOptions field's value.
79738func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *InstanceMarketOptionsRequest {
79739	s.SpotOptions = v
79740	return s
79741}
79742
79743// The metadata options for the instance.
79744type InstanceMetadataOptionsRequest struct {
79745	_ struct{} `type:"structure"`
79746
79747	// This parameter enables or disables the HTTP metadata endpoint on your instances.
79748	// If the parameter is not specified, the default state is enabled.
79749	//
79750	// If you specify a value of disabled, you will not be able to access your instance
79751	// metadata.
79752	HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
79753
79754	// The desired HTTP PUT response hop limit for instance metadata requests. The
79755	// larger the number, the further instance metadata requests can travel.
79756	//
79757	// Default: 1
79758	//
79759	// Possible values: Integers from 1 to 64
79760	HttpPutResponseHopLimit *int64 `type:"integer"`
79761
79762	// The state of token usage for your instance metadata requests. If the parameter
79763	// is not specified in the request, the default state is optional.
79764	//
79765	// If the state is optional, you can choose to retrieve instance metadata with
79766	// or without a signed token header on your request. If you retrieve the IAM
79767	// role credentials without a token, the version 1.0 role credentials are returned.
79768	// If you retrieve the IAM role credentials using a valid signed token, the
79769	// version 2.0 role credentials are returned.
79770	//
79771	// If the state is required, you must send a signed token header with any instance
79772	// metadata retrieval requests. In this state, retrieving the IAM role credentials
79773	// always returns the version 2.0 credentials; the version 1.0 credentials are
79774	// not available.
79775	HttpTokens *string `type:"string" enum:"HttpTokensState"`
79776}
79777
79778// String returns the string representation
79779func (s InstanceMetadataOptionsRequest) String() string {
79780	return awsutil.Prettify(s)
79781}
79782
79783// GoString returns the string representation
79784func (s InstanceMetadataOptionsRequest) GoString() string {
79785	return s.String()
79786}
79787
79788// SetHttpEndpoint sets the HttpEndpoint field's value.
79789func (s *InstanceMetadataOptionsRequest) SetHttpEndpoint(v string) *InstanceMetadataOptionsRequest {
79790	s.HttpEndpoint = &v
79791	return s
79792}
79793
79794// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
79795func (s *InstanceMetadataOptionsRequest) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptionsRequest {
79796	s.HttpPutResponseHopLimit = &v
79797	return s
79798}
79799
79800// SetHttpTokens sets the HttpTokens field's value.
79801func (s *InstanceMetadataOptionsRequest) SetHttpTokens(v string) *InstanceMetadataOptionsRequest {
79802	s.HttpTokens = &v
79803	return s
79804}
79805
79806// The metadata options for the instance.
79807type InstanceMetadataOptionsResponse struct {
79808	_ struct{} `type:"structure"`
79809
79810	// This parameter enables or disables the HTTP metadata endpoint on your instances.
79811	// If the parameter is not specified, the default state is enabled.
79812	//
79813	// If you specify a value of disabled, you will not be able to access your instance
79814	// metadata.
79815	HttpEndpoint *string `locationName:"httpEndpoint" type:"string" enum:"InstanceMetadataEndpointState"`
79816
79817	// The desired HTTP PUT response hop limit for instance metadata requests. The
79818	// larger the number, the further instance metadata requests can travel.
79819	//
79820	// Default: 1
79821	//
79822	// Possible values: Integers from 1 to 64
79823	HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" type:"integer"`
79824
79825	// The state of token usage for your instance metadata requests. If the parameter
79826	// is not specified in the request, the default state is optional.
79827	//
79828	// If the state is optional, you can choose to retrieve instance metadata with
79829	// or without a signed token header on your request. If you retrieve the IAM
79830	// role credentials without a token, the version 1.0 role credentials are returned.
79831	// If you retrieve the IAM role credentials using a valid signed token, the
79832	// version 2.0 role credentials are returned.
79833	//
79834	// If the state is required, you must send a signed token header with any instance
79835	// metadata retrieval requests. In this state, retrieving the IAM role credential
79836	// always returns the version 2.0 credentials; the version 1.0 credentials are
79837	// not available.
79838	HttpTokens *string `locationName:"httpTokens" type:"string" enum:"HttpTokensState"`
79839
79840	// The state of the metadata option changes.
79841	//
79842	// pending - The metadata options are being updated and the instance is not
79843	// ready to process metadata traffic with the new selection.
79844	//
79845	// applied - The metadata options have been successfully applied on the instance.
79846	State *string `locationName:"state" type:"string" enum:"InstanceMetadataOptionsState"`
79847}
79848
79849// String returns the string representation
79850func (s InstanceMetadataOptionsResponse) String() string {
79851	return awsutil.Prettify(s)
79852}
79853
79854// GoString returns the string representation
79855func (s InstanceMetadataOptionsResponse) GoString() string {
79856	return s.String()
79857}
79858
79859// SetHttpEndpoint sets the HttpEndpoint field's value.
79860func (s *InstanceMetadataOptionsResponse) SetHttpEndpoint(v string) *InstanceMetadataOptionsResponse {
79861	s.HttpEndpoint = &v
79862	return s
79863}
79864
79865// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
79866func (s *InstanceMetadataOptionsResponse) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptionsResponse {
79867	s.HttpPutResponseHopLimit = &v
79868	return s
79869}
79870
79871// SetHttpTokens sets the HttpTokens field's value.
79872func (s *InstanceMetadataOptionsResponse) SetHttpTokens(v string) *InstanceMetadataOptionsResponse {
79873	s.HttpTokens = &v
79874	return s
79875}
79876
79877// SetState sets the State field's value.
79878func (s *InstanceMetadataOptionsResponse) SetState(v string) *InstanceMetadataOptionsResponse {
79879	s.State = &v
79880	return s
79881}
79882
79883// Describes the monitoring of an instance.
79884type InstanceMonitoring struct {
79885	_ struct{} `type:"structure"`
79886
79887	// The ID of the instance.
79888	InstanceId *string `locationName:"instanceId" type:"string"`
79889
79890	// The monitoring for the instance.
79891	Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
79892}
79893
79894// String returns the string representation
79895func (s InstanceMonitoring) String() string {
79896	return awsutil.Prettify(s)
79897}
79898
79899// GoString returns the string representation
79900func (s InstanceMonitoring) GoString() string {
79901	return s.String()
79902}
79903
79904// SetInstanceId sets the InstanceId field's value.
79905func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
79906	s.InstanceId = &v
79907	return s
79908}
79909
79910// SetMonitoring sets the Monitoring field's value.
79911func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
79912	s.Monitoring = v
79913	return s
79914}
79915
79916// Describes a network interface.
79917type InstanceNetworkInterface struct {
79918	_ struct{} `type:"structure"`
79919
79920	// The association information for an Elastic IPv4 associated with the network
79921	// interface.
79922	Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
79923
79924	// The network interface attachment.
79925	Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
79926
79927	// The description.
79928	Description *string `locationName:"description" type:"string"`
79929
79930	// One or more security groups.
79931	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
79932
79933	// Describes the type of network interface.
79934	//
79935	// Valid values: interface | efa
79936	InterfaceType *string `locationName:"interfaceType" type:"string"`
79937
79938	// One or more IPv6 addresses associated with the network interface.
79939	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
79940
79941	// The MAC address.
79942	MacAddress *string `locationName:"macAddress" type:"string"`
79943
79944	// The ID of the network interface.
79945	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
79946
79947	// The ID of the AWS account that created the network interface.
79948	OwnerId *string `locationName:"ownerId" type:"string"`
79949
79950	// The private DNS name.
79951	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
79952
79953	// The IPv4 address of the network interface within the subnet.
79954	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
79955
79956	// One or more private IPv4 addresses associated with the network interface.
79957	PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
79958
79959	// Indicates whether to validate network traffic to or from this network interface.
79960	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
79961
79962	// The status of the network interface.
79963	Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
79964
79965	// The ID of the subnet.
79966	SubnetId *string `locationName:"subnetId" type:"string"`
79967
79968	// The ID of the VPC.
79969	VpcId *string `locationName:"vpcId" type:"string"`
79970}
79971
79972// String returns the string representation
79973func (s InstanceNetworkInterface) String() string {
79974	return awsutil.Prettify(s)
79975}
79976
79977// GoString returns the string representation
79978func (s InstanceNetworkInterface) GoString() string {
79979	return s.String()
79980}
79981
79982// SetAssociation sets the Association field's value.
79983func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
79984	s.Association = v
79985	return s
79986}
79987
79988// SetAttachment sets the Attachment field's value.
79989func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
79990	s.Attachment = v
79991	return s
79992}
79993
79994// SetDescription sets the Description field's value.
79995func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
79996	s.Description = &v
79997	return s
79998}
79999
80000// SetGroups sets the Groups field's value.
80001func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
80002	s.Groups = v
80003	return s
80004}
80005
80006// SetInterfaceType sets the InterfaceType field's value.
80007func (s *InstanceNetworkInterface) SetInterfaceType(v string) *InstanceNetworkInterface {
80008	s.InterfaceType = &v
80009	return s
80010}
80011
80012// SetIpv6Addresses sets the Ipv6Addresses field's value.
80013func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
80014	s.Ipv6Addresses = v
80015	return s
80016}
80017
80018// SetMacAddress sets the MacAddress field's value.
80019func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
80020	s.MacAddress = &v
80021	return s
80022}
80023
80024// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
80025func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
80026	s.NetworkInterfaceId = &v
80027	return s
80028}
80029
80030// SetOwnerId sets the OwnerId field's value.
80031func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
80032	s.OwnerId = &v
80033	return s
80034}
80035
80036// SetPrivateDnsName sets the PrivateDnsName field's value.
80037func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
80038	s.PrivateDnsName = &v
80039	return s
80040}
80041
80042// SetPrivateIpAddress sets the PrivateIpAddress field's value.
80043func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
80044	s.PrivateIpAddress = &v
80045	return s
80046}
80047
80048// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
80049func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
80050	s.PrivateIpAddresses = v
80051	return s
80052}
80053
80054// SetSourceDestCheck sets the SourceDestCheck field's value.
80055func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
80056	s.SourceDestCheck = &v
80057	return s
80058}
80059
80060// SetStatus sets the Status field's value.
80061func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
80062	s.Status = &v
80063	return s
80064}
80065
80066// SetSubnetId sets the SubnetId field's value.
80067func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
80068	s.SubnetId = &v
80069	return s
80070}
80071
80072// SetVpcId sets the VpcId field's value.
80073func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
80074	s.VpcId = &v
80075	return s
80076}
80077
80078// Describes association information for an Elastic IP address (IPv4).
80079type InstanceNetworkInterfaceAssociation struct {
80080	_ struct{} `type:"structure"`
80081
80082	// The ID of the owner of the Elastic IP address.
80083	IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
80084
80085	// The public DNS name.
80086	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
80087
80088	// The public IP address or Elastic IP address bound to the network interface.
80089	PublicIp *string `locationName:"publicIp" type:"string"`
80090}
80091
80092// String returns the string representation
80093func (s InstanceNetworkInterfaceAssociation) String() string {
80094	return awsutil.Prettify(s)
80095}
80096
80097// GoString returns the string representation
80098func (s InstanceNetworkInterfaceAssociation) GoString() string {
80099	return s.String()
80100}
80101
80102// SetIpOwnerId sets the IpOwnerId field's value.
80103func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
80104	s.IpOwnerId = &v
80105	return s
80106}
80107
80108// SetPublicDnsName sets the PublicDnsName field's value.
80109func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
80110	s.PublicDnsName = &v
80111	return s
80112}
80113
80114// SetPublicIp sets the PublicIp field's value.
80115func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
80116	s.PublicIp = &v
80117	return s
80118}
80119
80120// Describes a network interface attachment.
80121type InstanceNetworkInterfaceAttachment struct {
80122	_ struct{} `type:"structure"`
80123
80124	// The time stamp when the attachment initiated.
80125	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
80126
80127	// The ID of the network interface attachment.
80128	AttachmentId *string `locationName:"attachmentId" type:"string"`
80129
80130	// Indicates whether the network interface is deleted when the instance is terminated.
80131	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
80132
80133	// The index of the device on the instance for the network interface attachment.
80134	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
80135
80136	// The attachment state.
80137	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
80138}
80139
80140// String returns the string representation
80141func (s InstanceNetworkInterfaceAttachment) String() string {
80142	return awsutil.Prettify(s)
80143}
80144
80145// GoString returns the string representation
80146func (s InstanceNetworkInterfaceAttachment) GoString() string {
80147	return s.String()
80148}
80149
80150// SetAttachTime sets the AttachTime field's value.
80151func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
80152	s.AttachTime = &v
80153	return s
80154}
80155
80156// SetAttachmentId sets the AttachmentId field's value.
80157func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
80158	s.AttachmentId = &v
80159	return s
80160}
80161
80162// SetDeleteOnTermination sets the DeleteOnTermination field's value.
80163func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
80164	s.DeleteOnTermination = &v
80165	return s
80166}
80167
80168// SetDeviceIndex sets the DeviceIndex field's value.
80169func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
80170	s.DeviceIndex = &v
80171	return s
80172}
80173
80174// SetStatus sets the Status field's value.
80175func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
80176	s.Status = &v
80177	return s
80178}
80179
80180// Describes a network interface.
80181type InstanceNetworkInterfaceSpecification struct {
80182	_ struct{} `type:"structure"`
80183
80184	// Indicates whether to assign a public IPv4 address to an instance you launch
80185	// in a VPC. The public IP address can only be assigned to a network interface
80186	// for eth0, and can only be assigned to a new network interface, not an existing
80187	// one. You cannot specify more than one network interface in the request. If
80188	// launching into a default subnet, the default value is true.
80189	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
80190
80191	// If set to true, the interface is deleted when the instance is terminated.
80192	// You can specify true only if creating a new network interface when launching
80193	// an instance.
80194	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
80195
80196	// The description of the network interface. Applies only if creating a network
80197	// interface when launching an instance.
80198	Description *string `locationName:"description" type:"string"`
80199
80200	// The position of the network interface in the attachment order. A primary
80201	// network interface has a device index of 0.
80202	//
80203	// If you specify a network interface when launching an instance, you must specify
80204	// the device index.
80205	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
80206
80207	// The IDs of the security groups for the network interface. Applies only if
80208	// creating a network interface when launching an instance.
80209	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
80210
80211	// The type of network interface. To create an Elastic Fabric Adapter (EFA),
80212	// specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
80213	// in the Amazon Elastic Compute Cloud User Guide.
80214	//
80215	// If you are not creating an EFA, specify interface or omit this parameter.
80216	//
80217	// Valid values: interface | efa
80218	InterfaceType *string `type:"string"`
80219
80220	// A number of IPv6 addresses to assign to the network interface. Amazon EC2
80221	// chooses the IPv6 addresses from the range of the subnet. You cannot specify
80222	// this option and the option to assign specific IPv6 addresses in the same
80223	// request. You can specify this option if you've specified a minimum number
80224	// of instances to launch.
80225	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
80226
80227	// One or more IPv6 addresses to assign to the network interface. You cannot
80228	// specify this option and the option to assign a number of IPv6 addresses in
80229	// the same request. You cannot specify this option if you've specified a minimum
80230	// number of instances to launch.
80231	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
80232
80233	// The ID of the network interface.
80234	//
80235	// If you are creating a Spot Fleet, omit this parameter because you can’t
80236	// specify a network interface ID in a launch specification.
80237	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
80238
80239	// The private IPv4 address of the network interface. Applies only if creating
80240	// a network interface when launching an instance. You cannot specify this option
80241	// if you're launching more than one instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
80242	// request.
80243	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
80244
80245	// One or more private IPv4 addresses to assign to the network interface. Only
80246	// one private IPv4 address can be designated as primary. You cannot specify
80247	// this option if you're launching more than one instance in a RunInstances
80248	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
80249	// request.
80250	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
80251
80252	// The number of secondary private IPv4 addresses. You can't specify this option
80253	// and specify more than one private IP address using the private IP addresses
80254	// option. You cannot specify this option if you're launching more than one
80255	// instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
80256	// request.
80257	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
80258
80259	// The ID of the subnet associated with the network interface. Applies only
80260	// if creating a network interface when launching an instance.
80261	SubnetId *string `locationName:"subnetId" type:"string"`
80262}
80263
80264// String returns the string representation
80265func (s InstanceNetworkInterfaceSpecification) String() string {
80266	return awsutil.Prettify(s)
80267}
80268
80269// GoString returns the string representation
80270func (s InstanceNetworkInterfaceSpecification) GoString() string {
80271	return s.String()
80272}
80273
80274// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
80275func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
80276	s.AssociatePublicIpAddress = &v
80277	return s
80278}
80279
80280// SetDeleteOnTermination sets the DeleteOnTermination field's value.
80281func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
80282	s.DeleteOnTermination = &v
80283	return s
80284}
80285
80286// SetDescription sets the Description field's value.
80287func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
80288	s.Description = &v
80289	return s
80290}
80291
80292// SetDeviceIndex sets the DeviceIndex field's value.
80293func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
80294	s.DeviceIndex = &v
80295	return s
80296}
80297
80298// SetGroups sets the Groups field's value.
80299func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
80300	s.Groups = v
80301	return s
80302}
80303
80304// SetInterfaceType sets the InterfaceType field's value.
80305func (s *InstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *InstanceNetworkInterfaceSpecification {
80306	s.InterfaceType = &v
80307	return s
80308}
80309
80310// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
80311func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
80312	s.Ipv6AddressCount = &v
80313	return s
80314}
80315
80316// SetIpv6Addresses sets the Ipv6Addresses field's value.
80317func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
80318	s.Ipv6Addresses = v
80319	return s
80320}
80321
80322// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
80323func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
80324	s.NetworkInterfaceId = &v
80325	return s
80326}
80327
80328// SetPrivateIpAddress sets the PrivateIpAddress field's value.
80329func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
80330	s.PrivateIpAddress = &v
80331	return s
80332}
80333
80334// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
80335func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
80336	s.PrivateIpAddresses = v
80337	return s
80338}
80339
80340// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
80341func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
80342	s.SecondaryPrivateIpAddressCount = &v
80343	return s
80344}
80345
80346// SetSubnetId sets the SubnetId field's value.
80347func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
80348	s.SubnetId = &v
80349	return s
80350}
80351
80352// Describes a private IPv4 address.
80353type InstancePrivateIpAddress struct {
80354	_ struct{} `type:"structure"`
80355
80356	// The association information for an Elastic IP address for the network interface.
80357	Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
80358
80359	// Indicates whether this IPv4 address is the primary private IP address of
80360	// the network interface.
80361	Primary *bool `locationName:"primary" type:"boolean"`
80362
80363	// The private IPv4 DNS name.
80364	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
80365
80366	// The private IPv4 address of the network interface.
80367	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
80368}
80369
80370// String returns the string representation
80371func (s InstancePrivateIpAddress) String() string {
80372	return awsutil.Prettify(s)
80373}
80374
80375// GoString returns the string representation
80376func (s InstancePrivateIpAddress) GoString() string {
80377	return s.String()
80378}
80379
80380// SetAssociation sets the Association field's value.
80381func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
80382	s.Association = v
80383	return s
80384}
80385
80386// SetPrimary sets the Primary field's value.
80387func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
80388	s.Primary = &v
80389	return s
80390}
80391
80392// SetPrivateDnsName sets the PrivateDnsName field's value.
80393func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
80394	s.PrivateDnsName = &v
80395	return s
80396}
80397
80398// SetPrivateIpAddress sets the PrivateIpAddress field's value.
80399func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
80400	s.PrivateIpAddress = &v
80401	return s
80402}
80403
80404// The instance details to specify which volumes should be snapshotted.
80405type InstanceSpecification struct {
80406	_ struct{} `type:"structure"`
80407
80408	// Excludes the root volume from being snapshotted.
80409	ExcludeBootVolume *bool `type:"boolean"`
80410
80411	// The instance to specify which volumes should be snapshotted.
80412	InstanceId *string `type:"string"`
80413}
80414
80415// String returns the string representation
80416func (s InstanceSpecification) String() string {
80417	return awsutil.Prettify(s)
80418}
80419
80420// GoString returns the string representation
80421func (s InstanceSpecification) GoString() string {
80422	return s.String()
80423}
80424
80425// SetExcludeBootVolume sets the ExcludeBootVolume field's value.
80426func (s *InstanceSpecification) SetExcludeBootVolume(v bool) *InstanceSpecification {
80427	s.ExcludeBootVolume = &v
80428	return s
80429}
80430
80431// SetInstanceId sets the InstanceId field's value.
80432func (s *InstanceSpecification) SetInstanceId(v string) *InstanceSpecification {
80433	s.InstanceId = &v
80434	return s
80435}
80436
80437// Describes the current state of an instance.
80438type InstanceState struct {
80439	_ struct{} `type:"structure"`
80440
80441	// The state of the instance as a 16-bit unsigned integer.
80442	//
80443	// The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal
80444	// values between 256 and 65,535. These numerical values are used for internal
80445	// purposes and should be ignored.
80446	//
80447	// The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal
80448	// values between 0 and 255.
80449	//
80450	// The valid values for instance-state-code will all be in the range of the
80451	// low byte and they are:
80452	//
80453	//    * 0 : pending
80454	//
80455	//    * 16 : running
80456	//
80457	//    * 32 : shutting-down
80458	//
80459	//    * 48 : terminated
80460	//
80461	//    * 64 : stopping
80462	//
80463	//    * 80 : stopped
80464	//
80465	// You can ignore the high byte value by zeroing out all of the bits above 2^8
80466	// or 256 in decimal.
80467	Code *int64 `locationName:"code" type:"integer"`
80468
80469	// The current state of the instance.
80470	Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
80471}
80472
80473// String returns the string representation
80474func (s InstanceState) String() string {
80475	return awsutil.Prettify(s)
80476}
80477
80478// GoString returns the string representation
80479func (s InstanceState) GoString() string {
80480	return s.String()
80481}
80482
80483// SetCode sets the Code field's value.
80484func (s *InstanceState) SetCode(v int64) *InstanceState {
80485	s.Code = &v
80486	return s
80487}
80488
80489// SetName sets the Name field's value.
80490func (s *InstanceState) SetName(v string) *InstanceState {
80491	s.Name = &v
80492	return s
80493}
80494
80495// Describes an instance state change.
80496type InstanceStateChange struct {
80497	_ struct{} `type:"structure"`
80498
80499	// The current state of the instance.
80500	CurrentState *InstanceState `locationName:"currentState" type:"structure"`
80501
80502	// The ID of the instance.
80503	InstanceId *string `locationName:"instanceId" type:"string"`
80504
80505	// The previous state of the instance.
80506	PreviousState *InstanceState `locationName:"previousState" type:"structure"`
80507}
80508
80509// String returns the string representation
80510func (s InstanceStateChange) String() string {
80511	return awsutil.Prettify(s)
80512}
80513
80514// GoString returns the string representation
80515func (s InstanceStateChange) GoString() string {
80516	return s.String()
80517}
80518
80519// SetCurrentState sets the CurrentState field's value.
80520func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
80521	s.CurrentState = v
80522	return s
80523}
80524
80525// SetInstanceId sets the InstanceId field's value.
80526func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
80527	s.InstanceId = &v
80528	return s
80529}
80530
80531// SetPreviousState sets the PreviousState field's value.
80532func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
80533	s.PreviousState = v
80534	return s
80535}
80536
80537// Describes the status of an instance.
80538type InstanceStatus struct {
80539	_ struct{} `type:"structure"`
80540
80541	// The Availability Zone of the instance.
80542	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
80543
80544	// Any scheduled events associated with the instance.
80545	Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
80546
80547	// The ID of the instance.
80548	InstanceId *string `locationName:"instanceId" type:"string"`
80549
80550	// The intended state of the instance. DescribeInstanceStatus requires that
80551	// an instance be in the running state.
80552	InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
80553
80554	// Reports impaired functionality that stems from issues internal to the instance,
80555	// such as impaired reachability.
80556	InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
80557
80558	// The Amazon Resource Name (ARN) of the Outpost.
80559	OutpostArn *string `locationName:"outpostArn" type:"string"`
80560
80561	// Reports impaired functionality that stems from issues related to the systems
80562	// that support an instance, such as hardware failures and network connectivity
80563	// problems.
80564	SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
80565}
80566
80567// String returns the string representation
80568func (s InstanceStatus) String() string {
80569	return awsutil.Prettify(s)
80570}
80571
80572// GoString returns the string representation
80573func (s InstanceStatus) GoString() string {
80574	return s.String()
80575}
80576
80577// SetAvailabilityZone sets the AvailabilityZone field's value.
80578func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
80579	s.AvailabilityZone = &v
80580	return s
80581}
80582
80583// SetEvents sets the Events field's value.
80584func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
80585	s.Events = v
80586	return s
80587}
80588
80589// SetInstanceId sets the InstanceId field's value.
80590func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
80591	s.InstanceId = &v
80592	return s
80593}
80594
80595// SetInstanceState sets the InstanceState field's value.
80596func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
80597	s.InstanceState = v
80598	return s
80599}
80600
80601// SetInstanceStatus sets the InstanceStatus field's value.
80602func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
80603	s.InstanceStatus = v
80604	return s
80605}
80606
80607// SetOutpostArn sets the OutpostArn field's value.
80608func (s *InstanceStatus) SetOutpostArn(v string) *InstanceStatus {
80609	s.OutpostArn = &v
80610	return s
80611}
80612
80613// SetSystemStatus sets the SystemStatus field's value.
80614func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
80615	s.SystemStatus = v
80616	return s
80617}
80618
80619// Describes the instance status.
80620type InstanceStatusDetails struct {
80621	_ struct{} `type:"structure"`
80622
80623	// The time when a status check failed. For an instance that was launched and
80624	// impaired, this is the time when the instance was launched.
80625	ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp"`
80626
80627	// The type of instance status.
80628	Name *string `locationName:"name" type:"string" enum:"StatusName"`
80629
80630	// The status.
80631	Status *string `locationName:"status" type:"string" enum:"StatusType"`
80632}
80633
80634// String returns the string representation
80635func (s InstanceStatusDetails) String() string {
80636	return awsutil.Prettify(s)
80637}
80638
80639// GoString returns the string representation
80640func (s InstanceStatusDetails) GoString() string {
80641	return s.String()
80642}
80643
80644// SetImpairedSince sets the ImpairedSince field's value.
80645func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
80646	s.ImpairedSince = &v
80647	return s
80648}
80649
80650// SetName sets the Name field's value.
80651func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
80652	s.Name = &v
80653	return s
80654}
80655
80656// SetStatus sets the Status field's value.
80657func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
80658	s.Status = &v
80659	return s
80660}
80661
80662// Describes a scheduled event for an instance.
80663type InstanceStatusEvent struct {
80664	_ struct{} `type:"structure"`
80665
80666	// The event code.
80667	Code *string `locationName:"code" type:"string" enum:"EventCode"`
80668
80669	// A description of the event.
80670	//
80671	// After a scheduled event is completed, it can still be described for up to
80672	// a week. If the event has been completed, this description starts with the
80673	// following text: [Completed].
80674	Description *string `locationName:"description" type:"string"`
80675
80676	// The ID of the event.
80677	InstanceEventId *string `locationName:"instanceEventId" type:"string"`
80678
80679	// The latest scheduled end time for the event.
80680	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
80681
80682	// The earliest scheduled start time for the event.
80683	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
80684
80685	// The deadline for starting the event.
80686	NotBeforeDeadline *time.Time `locationName:"notBeforeDeadline" type:"timestamp"`
80687}
80688
80689// String returns the string representation
80690func (s InstanceStatusEvent) String() string {
80691	return awsutil.Prettify(s)
80692}
80693
80694// GoString returns the string representation
80695func (s InstanceStatusEvent) GoString() string {
80696	return s.String()
80697}
80698
80699// SetCode sets the Code field's value.
80700func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
80701	s.Code = &v
80702	return s
80703}
80704
80705// SetDescription sets the Description field's value.
80706func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
80707	s.Description = &v
80708	return s
80709}
80710
80711// SetInstanceEventId sets the InstanceEventId field's value.
80712func (s *InstanceStatusEvent) SetInstanceEventId(v string) *InstanceStatusEvent {
80713	s.InstanceEventId = &v
80714	return s
80715}
80716
80717// SetNotAfter sets the NotAfter field's value.
80718func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
80719	s.NotAfter = &v
80720	return s
80721}
80722
80723// SetNotBefore sets the NotBefore field's value.
80724func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
80725	s.NotBefore = &v
80726	return s
80727}
80728
80729// SetNotBeforeDeadline sets the NotBeforeDeadline field's value.
80730func (s *InstanceStatusEvent) SetNotBeforeDeadline(v time.Time) *InstanceStatusEvent {
80731	s.NotBeforeDeadline = &v
80732	return s
80733}
80734
80735// Describes the status of an instance.
80736type InstanceStatusSummary struct {
80737	_ struct{} `type:"structure"`
80738
80739	// The system instance health or application instance health.
80740	Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
80741
80742	// The status.
80743	Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
80744}
80745
80746// String returns the string representation
80747func (s InstanceStatusSummary) String() string {
80748	return awsutil.Prettify(s)
80749}
80750
80751// GoString returns the string representation
80752func (s InstanceStatusSummary) GoString() string {
80753	return s.String()
80754}
80755
80756// SetDetails sets the Details field's value.
80757func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
80758	s.Details = v
80759	return s
80760}
80761
80762// SetStatus sets the Status field's value.
80763func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
80764	s.Status = &v
80765	return s
80766}
80767
80768// Describes the disks that are available for the instance type.
80769type InstanceStorageInfo struct {
80770	_ struct{} `type:"structure"`
80771
80772	// Array describing the disks that are available for the instance type.
80773	Disks []*DiskInfo `locationName:"disks" locationNameList:"item" type:"list"`
80774
80775	// The total size of the disks, in GB.
80776	TotalSizeInGB *int64 `locationName:"totalSizeInGB" type:"long"`
80777}
80778
80779// String returns the string representation
80780func (s InstanceStorageInfo) String() string {
80781	return awsutil.Prettify(s)
80782}
80783
80784// GoString returns the string representation
80785func (s InstanceStorageInfo) GoString() string {
80786	return s.String()
80787}
80788
80789// SetDisks sets the Disks field's value.
80790func (s *InstanceStorageInfo) SetDisks(v []*DiskInfo) *InstanceStorageInfo {
80791	s.Disks = v
80792	return s
80793}
80794
80795// SetTotalSizeInGB sets the TotalSizeInGB field's value.
80796func (s *InstanceStorageInfo) SetTotalSizeInGB(v int64) *InstanceStorageInfo {
80797	s.TotalSizeInGB = &v
80798	return s
80799}
80800
80801// Describes the instance type.
80802type InstanceTypeInfo struct {
80803	_ struct{} `type:"structure"`
80804
80805	// Indicates whether auto recovery is supported.
80806	AutoRecoverySupported *bool `locationName:"autoRecoverySupported" type:"boolean"`
80807
80808	// Indicates whether the instance is bare metal.
80809	BareMetal *bool `locationName:"bareMetal" type:"boolean"`
80810
80811	// Indicates whether the instance type is a burstable performance instance type.
80812	BurstablePerformanceSupported *bool `locationName:"burstablePerformanceSupported" type:"boolean"`
80813
80814	// Indicates whether the instance type is a current generation.
80815	CurrentGeneration *bool `locationName:"currentGeneration" type:"boolean"`
80816
80817	// Indicates whether Dedicated Hosts are supported on the instance type.
80818	DedicatedHostsSupported *bool `locationName:"dedicatedHostsSupported" type:"boolean"`
80819
80820	// Describes the Amazon EBS settings for the instance type.
80821	EbsInfo *EbsInfo `locationName:"ebsInfo" type:"structure"`
80822
80823	// Describes the FPGA accelerator settings for the instance type.
80824	FpgaInfo *FpgaInfo `locationName:"fpgaInfo" type:"structure"`
80825
80826	// Indicates whether the instance type is eligible for the free tier.
80827	FreeTierEligible *bool `locationName:"freeTierEligible" type:"boolean"`
80828
80829	// Describes the GPU accelerator settings for the instance type.
80830	GpuInfo *GpuInfo `locationName:"gpuInfo" type:"structure"`
80831
80832	// Indicates whether On-Demand hibernation is supported.
80833	HibernationSupported *bool `locationName:"hibernationSupported" type:"boolean"`
80834
80835	// Indicates the hypervisor used for the instance type.
80836	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"InstanceTypeHypervisor"`
80837
80838	// Describes the Inference accelerator settings for the instance type.
80839	InferenceAcceleratorInfo *InferenceAcceleratorInfo `locationName:"inferenceAcceleratorInfo" type:"structure"`
80840
80841	// Describes the disks for the instance type.
80842	InstanceStorageInfo *InstanceStorageInfo `locationName:"instanceStorageInfo" type:"structure"`
80843
80844	// Indicates whether instance storage is supported.
80845	InstanceStorageSupported *bool `locationName:"instanceStorageSupported" type:"boolean"`
80846
80847	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
80848	// in the Amazon Elastic Compute Cloud User Guide.
80849	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
80850
80851	// Describes the memory for the instance type.
80852	MemoryInfo *MemoryInfo `locationName:"memoryInfo" type:"structure"`
80853
80854	// Describes the network settings for the instance type.
80855	NetworkInfo *NetworkInfo `locationName:"networkInfo" type:"structure"`
80856
80857	// Describes the placement group settings for the instance type.
80858	PlacementGroupInfo *PlacementGroupInfo `locationName:"placementGroupInfo" type:"structure"`
80859
80860	// Describes the processor.
80861	ProcessorInfo *ProcessorInfo `locationName:"processorInfo" type:"structure"`
80862
80863	// Indicates the supported root device types.
80864	SupportedRootDeviceTypes []*string `locationName:"supportedRootDeviceTypes" locationNameList:"item" type:"list"`
80865
80866	// Indicates whether the instance type is offered for spot or On-Demand.
80867	SupportedUsageClasses []*string `locationName:"supportedUsageClasses" locationNameList:"item" type:"list"`
80868
80869	// Describes the vCPU configurations for the instance type.
80870	VCpuInfo *VCpuInfo `locationName:"vCpuInfo" type:"structure"`
80871}
80872
80873// String returns the string representation
80874func (s InstanceTypeInfo) String() string {
80875	return awsutil.Prettify(s)
80876}
80877
80878// GoString returns the string representation
80879func (s InstanceTypeInfo) GoString() string {
80880	return s.String()
80881}
80882
80883// SetAutoRecoverySupported sets the AutoRecoverySupported field's value.
80884func (s *InstanceTypeInfo) SetAutoRecoverySupported(v bool) *InstanceTypeInfo {
80885	s.AutoRecoverySupported = &v
80886	return s
80887}
80888
80889// SetBareMetal sets the BareMetal field's value.
80890func (s *InstanceTypeInfo) SetBareMetal(v bool) *InstanceTypeInfo {
80891	s.BareMetal = &v
80892	return s
80893}
80894
80895// SetBurstablePerformanceSupported sets the BurstablePerformanceSupported field's value.
80896func (s *InstanceTypeInfo) SetBurstablePerformanceSupported(v bool) *InstanceTypeInfo {
80897	s.BurstablePerformanceSupported = &v
80898	return s
80899}
80900
80901// SetCurrentGeneration sets the CurrentGeneration field's value.
80902func (s *InstanceTypeInfo) SetCurrentGeneration(v bool) *InstanceTypeInfo {
80903	s.CurrentGeneration = &v
80904	return s
80905}
80906
80907// SetDedicatedHostsSupported sets the DedicatedHostsSupported field's value.
80908func (s *InstanceTypeInfo) SetDedicatedHostsSupported(v bool) *InstanceTypeInfo {
80909	s.DedicatedHostsSupported = &v
80910	return s
80911}
80912
80913// SetEbsInfo sets the EbsInfo field's value.
80914func (s *InstanceTypeInfo) SetEbsInfo(v *EbsInfo) *InstanceTypeInfo {
80915	s.EbsInfo = v
80916	return s
80917}
80918
80919// SetFpgaInfo sets the FpgaInfo field's value.
80920func (s *InstanceTypeInfo) SetFpgaInfo(v *FpgaInfo) *InstanceTypeInfo {
80921	s.FpgaInfo = v
80922	return s
80923}
80924
80925// SetFreeTierEligible sets the FreeTierEligible field's value.
80926func (s *InstanceTypeInfo) SetFreeTierEligible(v bool) *InstanceTypeInfo {
80927	s.FreeTierEligible = &v
80928	return s
80929}
80930
80931// SetGpuInfo sets the GpuInfo field's value.
80932func (s *InstanceTypeInfo) SetGpuInfo(v *GpuInfo) *InstanceTypeInfo {
80933	s.GpuInfo = v
80934	return s
80935}
80936
80937// SetHibernationSupported sets the HibernationSupported field's value.
80938func (s *InstanceTypeInfo) SetHibernationSupported(v bool) *InstanceTypeInfo {
80939	s.HibernationSupported = &v
80940	return s
80941}
80942
80943// SetHypervisor sets the Hypervisor field's value.
80944func (s *InstanceTypeInfo) SetHypervisor(v string) *InstanceTypeInfo {
80945	s.Hypervisor = &v
80946	return s
80947}
80948
80949// SetInferenceAcceleratorInfo sets the InferenceAcceleratorInfo field's value.
80950func (s *InstanceTypeInfo) SetInferenceAcceleratorInfo(v *InferenceAcceleratorInfo) *InstanceTypeInfo {
80951	s.InferenceAcceleratorInfo = v
80952	return s
80953}
80954
80955// SetInstanceStorageInfo sets the InstanceStorageInfo field's value.
80956func (s *InstanceTypeInfo) SetInstanceStorageInfo(v *InstanceStorageInfo) *InstanceTypeInfo {
80957	s.InstanceStorageInfo = v
80958	return s
80959}
80960
80961// SetInstanceStorageSupported sets the InstanceStorageSupported field's value.
80962func (s *InstanceTypeInfo) SetInstanceStorageSupported(v bool) *InstanceTypeInfo {
80963	s.InstanceStorageSupported = &v
80964	return s
80965}
80966
80967// SetInstanceType sets the InstanceType field's value.
80968func (s *InstanceTypeInfo) SetInstanceType(v string) *InstanceTypeInfo {
80969	s.InstanceType = &v
80970	return s
80971}
80972
80973// SetMemoryInfo sets the MemoryInfo field's value.
80974func (s *InstanceTypeInfo) SetMemoryInfo(v *MemoryInfo) *InstanceTypeInfo {
80975	s.MemoryInfo = v
80976	return s
80977}
80978
80979// SetNetworkInfo sets the NetworkInfo field's value.
80980func (s *InstanceTypeInfo) SetNetworkInfo(v *NetworkInfo) *InstanceTypeInfo {
80981	s.NetworkInfo = v
80982	return s
80983}
80984
80985// SetPlacementGroupInfo sets the PlacementGroupInfo field's value.
80986func (s *InstanceTypeInfo) SetPlacementGroupInfo(v *PlacementGroupInfo) *InstanceTypeInfo {
80987	s.PlacementGroupInfo = v
80988	return s
80989}
80990
80991// SetProcessorInfo sets the ProcessorInfo field's value.
80992func (s *InstanceTypeInfo) SetProcessorInfo(v *ProcessorInfo) *InstanceTypeInfo {
80993	s.ProcessorInfo = v
80994	return s
80995}
80996
80997// SetSupportedRootDeviceTypes sets the SupportedRootDeviceTypes field's value.
80998func (s *InstanceTypeInfo) SetSupportedRootDeviceTypes(v []*string) *InstanceTypeInfo {
80999	s.SupportedRootDeviceTypes = v
81000	return s
81001}
81002
81003// SetSupportedUsageClasses sets the SupportedUsageClasses field's value.
81004func (s *InstanceTypeInfo) SetSupportedUsageClasses(v []*string) *InstanceTypeInfo {
81005	s.SupportedUsageClasses = v
81006	return s
81007}
81008
81009// SetVCpuInfo sets the VCpuInfo field's value.
81010func (s *InstanceTypeInfo) SetVCpuInfo(v *VCpuInfo) *InstanceTypeInfo {
81011	s.VCpuInfo = v
81012	return s
81013}
81014
81015// The instance types offered.
81016type InstanceTypeOffering struct {
81017	_ struct{} `type:"structure"`
81018
81019	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
81020	// in the Amazon Elastic Compute Cloud User Guide.
81021	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
81022
81023	// The identifier for the location. This depends on the location type. For example,
81024	// if the location type is region, the location is the Region code (for example,
81025	// us-east-2.)
81026	Location *string `locationName:"location" type:"string"`
81027
81028	// The location type.
81029	LocationType *string `locationName:"locationType" type:"string" enum:"LocationType"`
81030}
81031
81032// String returns the string representation
81033func (s InstanceTypeOffering) String() string {
81034	return awsutil.Prettify(s)
81035}
81036
81037// GoString returns the string representation
81038func (s InstanceTypeOffering) GoString() string {
81039	return s.String()
81040}
81041
81042// SetInstanceType sets the InstanceType field's value.
81043func (s *InstanceTypeOffering) SetInstanceType(v string) *InstanceTypeOffering {
81044	s.InstanceType = &v
81045	return s
81046}
81047
81048// SetLocation sets the Location field's value.
81049func (s *InstanceTypeOffering) SetLocation(v string) *InstanceTypeOffering {
81050	s.Location = &v
81051	return s
81052}
81053
81054// SetLocationType sets the LocationType field's value.
81055func (s *InstanceTypeOffering) SetLocationType(v string) *InstanceTypeOffering {
81056	s.LocationType = &v
81057	return s
81058}
81059
81060// Information about the Capacity Reservation usage.
81061type InstanceUsage struct {
81062	_ struct{} `type:"structure"`
81063
81064	// The ID of the AWS account that is making use of the Capacity Reservation.
81065	AccountId *string `locationName:"accountId" type:"string"`
81066
81067	// The number of instances the AWS account currently has in the Capacity Reservation.
81068	UsedInstanceCount *int64 `locationName:"usedInstanceCount" type:"integer"`
81069}
81070
81071// String returns the string representation
81072func (s InstanceUsage) String() string {
81073	return awsutil.Prettify(s)
81074}
81075
81076// GoString returns the string representation
81077func (s InstanceUsage) GoString() string {
81078	return s.String()
81079}
81080
81081// SetAccountId sets the AccountId field's value.
81082func (s *InstanceUsage) SetAccountId(v string) *InstanceUsage {
81083	s.AccountId = &v
81084	return s
81085}
81086
81087// SetUsedInstanceCount sets the UsedInstanceCount field's value.
81088func (s *InstanceUsage) SetUsedInstanceCount(v int64) *InstanceUsage {
81089	s.UsedInstanceCount = &v
81090	return s
81091}
81092
81093// Describes an internet gateway.
81094type InternetGateway struct {
81095	_ struct{} `type:"structure"`
81096
81097	// Any VPCs attached to the internet gateway.
81098	Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
81099
81100	// The ID of the internet gateway.
81101	InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
81102
81103	// The ID of the AWS account that owns the internet gateway.
81104	OwnerId *string `locationName:"ownerId" type:"string"`
81105
81106	// Any tags assigned to the internet gateway.
81107	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
81108}
81109
81110// String returns the string representation
81111func (s InternetGateway) String() string {
81112	return awsutil.Prettify(s)
81113}
81114
81115// GoString returns the string representation
81116func (s InternetGateway) GoString() string {
81117	return s.String()
81118}
81119
81120// SetAttachments sets the Attachments field's value.
81121func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
81122	s.Attachments = v
81123	return s
81124}
81125
81126// SetInternetGatewayId sets the InternetGatewayId field's value.
81127func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
81128	s.InternetGatewayId = &v
81129	return s
81130}
81131
81132// SetOwnerId sets the OwnerId field's value.
81133func (s *InternetGateway) SetOwnerId(v string) *InternetGateway {
81134	s.OwnerId = &v
81135	return s
81136}
81137
81138// SetTags sets the Tags field's value.
81139func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
81140	s.Tags = v
81141	return s
81142}
81143
81144// Describes the attachment of a VPC to an internet gateway or an egress-only
81145// internet gateway.
81146type InternetGatewayAttachment struct {
81147	_ struct{} `type:"structure"`
81148
81149	// The current state of the attachment. For an internet gateway, the state is
81150	// available when attached to a VPC; otherwise, this value is not returned.
81151	State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
81152
81153	// The ID of the VPC.
81154	VpcId *string `locationName:"vpcId" type:"string"`
81155}
81156
81157// String returns the string representation
81158func (s InternetGatewayAttachment) String() string {
81159	return awsutil.Prettify(s)
81160}
81161
81162// GoString returns the string representation
81163func (s InternetGatewayAttachment) GoString() string {
81164	return s.String()
81165}
81166
81167// SetState sets the State field's value.
81168func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
81169	s.State = &v
81170	return s
81171}
81172
81173// SetVpcId sets the VpcId field's value.
81174func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
81175	s.VpcId = &v
81176	return s
81177}
81178
81179// Describes a set of permissions for a security group rule.
81180type IpPermission struct {
81181	_ struct{} `type:"structure"`
81182
81183	// The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
81184	// type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify
81185	// all ICMP/ICMPv6 types, you must specify all codes.
81186	FromPort *int64 `locationName:"fromPort" type:"integer"`
81187
81188	// The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers
81189	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
81190	//
81191	// [VPC only] Use -1 to specify all protocols. When authorizing security group
81192	// rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6
81193	// allows traffic on all ports, regardless of any port range you specify. For
81194	// tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range
81195	// is optional; if you omit the port range, traffic for all types and codes
81196	// is allowed.
81197	IpProtocol *string `locationName:"ipProtocol" type:"string"`
81198
81199	// The IPv4 ranges.
81200	IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
81201
81202	// [VPC only] The IPv6 ranges.
81203	Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
81204
81205	// [VPC only] The prefix list IDs for an AWS service. With outbound rules, this
81206	// is the AWS service to access through a VPC endpoint from instances associated
81207	// with the security group.
81208	PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
81209
81210	// The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
81211	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
81212	// types, you must specify all codes.
81213	ToPort *int64 `locationName:"toPort" type:"integer"`
81214
81215	// The security group and AWS account ID pairs.
81216	UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
81217}
81218
81219// String returns the string representation
81220func (s IpPermission) String() string {
81221	return awsutil.Prettify(s)
81222}
81223
81224// GoString returns the string representation
81225func (s IpPermission) GoString() string {
81226	return s.String()
81227}
81228
81229// SetFromPort sets the FromPort field's value.
81230func (s *IpPermission) SetFromPort(v int64) *IpPermission {
81231	s.FromPort = &v
81232	return s
81233}
81234
81235// SetIpProtocol sets the IpProtocol field's value.
81236func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
81237	s.IpProtocol = &v
81238	return s
81239}
81240
81241// SetIpRanges sets the IpRanges field's value.
81242func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
81243	s.IpRanges = v
81244	return s
81245}
81246
81247// SetIpv6Ranges sets the Ipv6Ranges field's value.
81248func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
81249	s.Ipv6Ranges = v
81250	return s
81251}
81252
81253// SetPrefixListIds sets the PrefixListIds field's value.
81254func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
81255	s.PrefixListIds = v
81256	return s
81257}
81258
81259// SetToPort sets the ToPort field's value.
81260func (s *IpPermission) SetToPort(v int64) *IpPermission {
81261	s.ToPort = &v
81262	return s
81263}
81264
81265// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
81266func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
81267	s.UserIdGroupPairs = v
81268	return s
81269}
81270
81271// Describes an IPv4 range.
81272type IpRange struct {
81273	_ struct{} `type:"structure"`
81274
81275	// The IPv4 CIDR range. You can either specify a CIDR range or a source security
81276	// group, not both. To specify a single IPv4 address, use the /32 prefix length.
81277	CidrIp *string `locationName:"cidrIp" type:"string"`
81278
81279	// A description for the security group rule that references this IPv4 address
81280	// range.
81281	//
81282	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
81283	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
81284	Description *string `locationName:"description" type:"string"`
81285}
81286
81287// String returns the string representation
81288func (s IpRange) String() string {
81289	return awsutil.Prettify(s)
81290}
81291
81292// GoString returns the string representation
81293func (s IpRange) GoString() string {
81294	return s.String()
81295}
81296
81297// SetCidrIp sets the CidrIp field's value.
81298func (s *IpRange) SetCidrIp(v string) *IpRange {
81299	s.CidrIp = &v
81300	return s
81301}
81302
81303// SetDescription sets the Description field's value.
81304func (s *IpRange) SetDescription(v string) *IpRange {
81305	s.Description = &v
81306	return s
81307}
81308
81309// Describes an IPv6 CIDR block association.
81310type Ipv6CidrAssociation struct {
81311	_ struct{} `type:"structure"`
81312
81313	// The resource that's associated with the IPv6 CIDR block.
81314	AssociatedResource *string `locationName:"associatedResource" type:"string"`
81315
81316	// The IPv6 CIDR block.
81317	Ipv6Cidr *string `locationName:"ipv6Cidr" type:"string"`
81318}
81319
81320// String returns the string representation
81321func (s Ipv6CidrAssociation) String() string {
81322	return awsutil.Prettify(s)
81323}
81324
81325// GoString returns the string representation
81326func (s Ipv6CidrAssociation) GoString() string {
81327	return s.String()
81328}
81329
81330// SetAssociatedResource sets the AssociatedResource field's value.
81331func (s *Ipv6CidrAssociation) SetAssociatedResource(v string) *Ipv6CidrAssociation {
81332	s.AssociatedResource = &v
81333	return s
81334}
81335
81336// SetIpv6Cidr sets the Ipv6Cidr field's value.
81337func (s *Ipv6CidrAssociation) SetIpv6Cidr(v string) *Ipv6CidrAssociation {
81338	s.Ipv6Cidr = &v
81339	return s
81340}
81341
81342// Describes an IPv6 CIDR block.
81343type Ipv6CidrBlock struct {
81344	_ struct{} `type:"structure"`
81345
81346	// The IPv6 CIDR block.
81347	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
81348}
81349
81350// String returns the string representation
81351func (s Ipv6CidrBlock) String() string {
81352	return awsutil.Prettify(s)
81353}
81354
81355// GoString returns the string representation
81356func (s Ipv6CidrBlock) GoString() string {
81357	return s.String()
81358}
81359
81360// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
81361func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
81362	s.Ipv6CidrBlock = &v
81363	return s
81364}
81365
81366// Describes an IPv6 address pool.
81367type Ipv6Pool struct {
81368	_ struct{} `type:"structure"`
81369
81370	// The description for the address pool.
81371	Description *string `locationName:"description" type:"string"`
81372
81373	// The CIDR blocks for the address pool.
81374	PoolCidrBlocks []*PoolCidrBlock `locationName:"poolCidrBlockSet" locationNameList:"item" type:"list"`
81375
81376	// The ID of the address pool.
81377	PoolId *string `locationName:"poolId" type:"string"`
81378
81379	// Any tags for the address pool.
81380	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
81381}
81382
81383// String returns the string representation
81384func (s Ipv6Pool) String() string {
81385	return awsutil.Prettify(s)
81386}
81387
81388// GoString returns the string representation
81389func (s Ipv6Pool) GoString() string {
81390	return s.String()
81391}
81392
81393// SetDescription sets the Description field's value.
81394func (s *Ipv6Pool) SetDescription(v string) *Ipv6Pool {
81395	s.Description = &v
81396	return s
81397}
81398
81399// SetPoolCidrBlocks sets the PoolCidrBlocks field's value.
81400func (s *Ipv6Pool) SetPoolCidrBlocks(v []*PoolCidrBlock) *Ipv6Pool {
81401	s.PoolCidrBlocks = v
81402	return s
81403}
81404
81405// SetPoolId sets the PoolId field's value.
81406func (s *Ipv6Pool) SetPoolId(v string) *Ipv6Pool {
81407	s.PoolId = &v
81408	return s
81409}
81410
81411// SetTags sets the Tags field's value.
81412func (s *Ipv6Pool) SetTags(v []*Tag) *Ipv6Pool {
81413	s.Tags = v
81414	return s
81415}
81416
81417// [EC2-VPC only] Describes an IPv6 range.
81418type Ipv6Range struct {
81419	_ struct{} `type:"structure"`
81420
81421	// The IPv6 CIDR range. You can either specify a CIDR range or a source security
81422	// group, not both. To specify a single IPv6 address, use the /128 prefix length.
81423	CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
81424
81425	// A description for the security group rule that references this IPv6 address
81426	// range.
81427	//
81428	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
81429	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
81430	Description *string `locationName:"description" type:"string"`
81431}
81432
81433// String returns the string representation
81434func (s Ipv6Range) String() string {
81435	return awsutil.Prettify(s)
81436}
81437
81438// GoString returns the string representation
81439func (s Ipv6Range) GoString() string {
81440	return s.String()
81441}
81442
81443// SetCidrIpv6 sets the CidrIpv6 field's value.
81444func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
81445	s.CidrIpv6 = &v
81446	return s
81447}
81448
81449// SetDescription sets the Description field's value.
81450func (s *Ipv6Range) SetDescription(v string) *Ipv6Range {
81451	s.Description = &v
81452	return s
81453}
81454
81455// Describes a key pair.
81456type KeyPairInfo struct {
81457	_ struct{} `type:"structure"`
81458
81459	// If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
81460	// of the DER encoded private key. If you used ImportKeyPair to provide AWS
81461	// the public key, this is the MD5 public key fingerprint as specified in section
81462	// 4 of RFC4716.
81463	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
81464
81465	// The name of the key pair.
81466	KeyName *string `locationName:"keyName" type:"string"`
81467
81468	// The ID of the key pair.
81469	KeyPairId *string `locationName:"keyPairId" type:"string"`
81470
81471	// Any tags applied to the key pair.
81472	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
81473}
81474
81475// String returns the string representation
81476func (s KeyPairInfo) String() string {
81477	return awsutil.Prettify(s)
81478}
81479
81480// GoString returns the string representation
81481func (s KeyPairInfo) GoString() string {
81482	return s.String()
81483}
81484
81485// SetKeyFingerprint sets the KeyFingerprint field's value.
81486func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
81487	s.KeyFingerprint = &v
81488	return s
81489}
81490
81491// SetKeyName sets the KeyName field's value.
81492func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
81493	s.KeyName = &v
81494	return s
81495}
81496
81497// SetKeyPairId sets the KeyPairId field's value.
81498func (s *KeyPairInfo) SetKeyPairId(v string) *KeyPairInfo {
81499	s.KeyPairId = &v
81500	return s
81501}
81502
81503// SetTags sets the Tags field's value.
81504func (s *KeyPairInfo) SetTags(v []*Tag) *KeyPairInfo {
81505	s.Tags = v
81506	return s
81507}
81508
81509// The last error that occurred for a VPC endpoint.
81510type LastError struct {
81511	_ struct{} `type:"structure"`
81512
81513	// The error code for the VPC endpoint error.
81514	Code *string `locationName:"code" type:"string"`
81515
81516	// The error message for the VPC endpoint error.
81517	Message *string `locationName:"message" type:"string"`
81518}
81519
81520// String returns the string representation
81521func (s LastError) String() string {
81522	return awsutil.Prettify(s)
81523}
81524
81525// GoString returns the string representation
81526func (s LastError) GoString() string {
81527	return s.String()
81528}
81529
81530// SetCode sets the Code field's value.
81531func (s *LastError) SetCode(v string) *LastError {
81532	s.Code = &v
81533	return s
81534}
81535
81536// SetMessage sets the Message field's value.
81537func (s *LastError) SetMessage(v string) *LastError {
81538	s.Message = &v
81539	return s
81540}
81541
81542// Describes a launch permission.
81543type LaunchPermission struct {
81544	_ struct{} `type:"structure"`
81545
81546	// The name of the group.
81547	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
81548
81549	// The AWS account ID.
81550	UserId *string `locationName:"userId" type:"string"`
81551}
81552
81553// String returns the string representation
81554func (s LaunchPermission) String() string {
81555	return awsutil.Prettify(s)
81556}
81557
81558// GoString returns the string representation
81559func (s LaunchPermission) GoString() string {
81560	return s.String()
81561}
81562
81563// SetGroup sets the Group field's value.
81564func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
81565	s.Group = &v
81566	return s
81567}
81568
81569// SetUserId sets the UserId field's value.
81570func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
81571	s.UserId = &v
81572	return s
81573}
81574
81575// Describes a launch permission modification.
81576type LaunchPermissionModifications struct {
81577	_ struct{} `type:"structure"`
81578
81579	// The AWS account ID to add to the list of launch permissions for the AMI.
81580	Add []*LaunchPermission `locationNameList:"item" type:"list"`
81581
81582	// The AWS account ID to remove from the list of launch permissions for the
81583	// AMI.
81584	Remove []*LaunchPermission `locationNameList:"item" type:"list"`
81585}
81586
81587// String returns the string representation
81588func (s LaunchPermissionModifications) String() string {
81589	return awsutil.Prettify(s)
81590}
81591
81592// GoString returns the string representation
81593func (s LaunchPermissionModifications) GoString() string {
81594	return s.String()
81595}
81596
81597// SetAdd sets the Add field's value.
81598func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
81599	s.Add = v
81600	return s
81601}
81602
81603// SetRemove sets the Remove field's value.
81604func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
81605	s.Remove = v
81606	return s
81607}
81608
81609// Describes the launch specification for an instance.
81610type LaunchSpecification struct {
81611	_ struct{} `type:"structure"`
81612
81613	// Deprecated.
81614	AddressingType *string `locationName:"addressingType" type:"string"`
81615
81616	// One or more block device mapping entries.
81617	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
81618
81619	// Indicates whether the instance is optimized for EBS I/O. This optimization
81620	// provides dedicated throughput to Amazon EBS and an optimized configuration
81621	// stack to provide optimal EBS I/O performance. This optimization isn't available
81622	// with all instance types. Additional usage charges apply when using an EBS
81623	// Optimized instance.
81624	//
81625	// Default: false
81626	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
81627
81628	// The IAM instance profile.
81629	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
81630
81631	// The ID of the AMI.
81632	ImageId *string `locationName:"imageId" type:"string"`
81633
81634	// The instance type.
81635	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
81636
81637	// The ID of the kernel.
81638	KernelId *string `locationName:"kernelId" type:"string"`
81639
81640	// The name of the key pair.
81641	KeyName *string `locationName:"keyName" type:"string"`
81642
81643	// Describes the monitoring of an instance.
81644	Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
81645
81646	// One or more network interfaces. If you specify a network interface, you must
81647	// specify subnet IDs and security group IDs using the network interface.
81648	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
81649
81650	// The placement information for the instance.
81651	Placement *SpotPlacement `locationName:"placement" type:"structure"`
81652
81653	// The ID of the RAM disk.
81654	RamdiskId *string `locationName:"ramdiskId" type:"string"`
81655
81656	// One or more security groups. When requesting instances in a VPC, you must
81657	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
81658	// you can specify the names or the IDs of the security groups.
81659	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
81660
81661	// The ID of the subnet in which to launch the instance.
81662	SubnetId *string `locationName:"subnetId" type:"string"`
81663
81664	// The Base64-encoded user data for the instance.
81665	UserData *string `locationName:"userData" type:"string"`
81666}
81667
81668// String returns the string representation
81669func (s LaunchSpecification) String() string {
81670	return awsutil.Prettify(s)
81671}
81672
81673// GoString returns the string representation
81674func (s LaunchSpecification) GoString() string {
81675	return s.String()
81676}
81677
81678// SetAddressingType sets the AddressingType field's value.
81679func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
81680	s.AddressingType = &v
81681	return s
81682}
81683
81684// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
81685func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
81686	s.BlockDeviceMappings = v
81687	return s
81688}
81689
81690// SetEbsOptimized sets the EbsOptimized field's value.
81691func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
81692	s.EbsOptimized = &v
81693	return s
81694}
81695
81696// SetIamInstanceProfile sets the IamInstanceProfile field's value.
81697func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
81698	s.IamInstanceProfile = v
81699	return s
81700}
81701
81702// SetImageId sets the ImageId field's value.
81703func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
81704	s.ImageId = &v
81705	return s
81706}
81707
81708// SetInstanceType sets the InstanceType field's value.
81709func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
81710	s.InstanceType = &v
81711	return s
81712}
81713
81714// SetKernelId sets the KernelId field's value.
81715func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
81716	s.KernelId = &v
81717	return s
81718}
81719
81720// SetKeyName sets the KeyName field's value.
81721func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
81722	s.KeyName = &v
81723	return s
81724}
81725
81726// SetMonitoring sets the Monitoring field's value.
81727func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
81728	s.Monitoring = v
81729	return s
81730}
81731
81732// SetNetworkInterfaces sets the NetworkInterfaces field's value.
81733func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
81734	s.NetworkInterfaces = v
81735	return s
81736}
81737
81738// SetPlacement sets the Placement field's value.
81739func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
81740	s.Placement = v
81741	return s
81742}
81743
81744// SetRamdiskId sets the RamdiskId field's value.
81745func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
81746	s.RamdiskId = &v
81747	return s
81748}
81749
81750// SetSecurityGroups sets the SecurityGroups field's value.
81751func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
81752	s.SecurityGroups = v
81753	return s
81754}
81755
81756// SetSubnetId sets the SubnetId field's value.
81757func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
81758	s.SubnetId = &v
81759	return s
81760}
81761
81762// SetUserData sets the UserData field's value.
81763func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
81764	s.UserData = &v
81765	return s
81766}
81767
81768// Describes a launch template.
81769type LaunchTemplate struct {
81770	_ struct{} `type:"structure"`
81771
81772	// The time launch template was created.
81773	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
81774
81775	// The principal that created the launch template.
81776	CreatedBy *string `locationName:"createdBy" type:"string"`
81777
81778	// The version number of the default version of the launch template.
81779	DefaultVersionNumber *int64 `locationName:"defaultVersionNumber" type:"long"`
81780
81781	// The version number of the latest version of the launch template.
81782	LatestVersionNumber *int64 `locationName:"latestVersionNumber" type:"long"`
81783
81784	// The ID of the launch template.
81785	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
81786
81787	// The name of the launch template.
81788	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
81789
81790	// The tags for the launch template.
81791	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
81792}
81793
81794// String returns the string representation
81795func (s LaunchTemplate) String() string {
81796	return awsutil.Prettify(s)
81797}
81798
81799// GoString returns the string representation
81800func (s LaunchTemplate) GoString() string {
81801	return s.String()
81802}
81803
81804// SetCreateTime sets the CreateTime field's value.
81805func (s *LaunchTemplate) SetCreateTime(v time.Time) *LaunchTemplate {
81806	s.CreateTime = &v
81807	return s
81808}
81809
81810// SetCreatedBy sets the CreatedBy field's value.
81811func (s *LaunchTemplate) SetCreatedBy(v string) *LaunchTemplate {
81812	s.CreatedBy = &v
81813	return s
81814}
81815
81816// SetDefaultVersionNumber sets the DefaultVersionNumber field's value.
81817func (s *LaunchTemplate) SetDefaultVersionNumber(v int64) *LaunchTemplate {
81818	s.DefaultVersionNumber = &v
81819	return s
81820}
81821
81822// SetLatestVersionNumber sets the LatestVersionNumber field's value.
81823func (s *LaunchTemplate) SetLatestVersionNumber(v int64) *LaunchTemplate {
81824	s.LatestVersionNumber = &v
81825	return s
81826}
81827
81828// SetLaunchTemplateId sets the LaunchTemplateId field's value.
81829func (s *LaunchTemplate) SetLaunchTemplateId(v string) *LaunchTemplate {
81830	s.LaunchTemplateId = &v
81831	return s
81832}
81833
81834// SetLaunchTemplateName sets the LaunchTemplateName field's value.
81835func (s *LaunchTemplate) SetLaunchTemplateName(v string) *LaunchTemplate {
81836	s.LaunchTemplateName = &v
81837	return s
81838}
81839
81840// SetTags sets the Tags field's value.
81841func (s *LaunchTemplate) SetTags(v []*Tag) *LaunchTemplate {
81842	s.Tags = v
81843	return s
81844}
81845
81846// Describes a launch template and overrides.
81847type LaunchTemplateAndOverridesResponse struct {
81848	_ struct{} `type:"structure"`
81849
81850	// The launch template.
81851	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
81852
81853	// Any parameters that you specify override the same parameters in the launch
81854	// template.
81855	Overrides *FleetLaunchTemplateOverrides `locationName:"overrides" type:"structure"`
81856}
81857
81858// String returns the string representation
81859func (s LaunchTemplateAndOverridesResponse) String() string {
81860	return awsutil.Prettify(s)
81861}
81862
81863// GoString returns the string representation
81864func (s LaunchTemplateAndOverridesResponse) GoString() string {
81865	return s.String()
81866}
81867
81868// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
81869func (s *LaunchTemplateAndOverridesResponse) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateAndOverridesResponse {
81870	s.LaunchTemplateSpecification = v
81871	return s
81872}
81873
81874// SetOverrides sets the Overrides field's value.
81875func (s *LaunchTemplateAndOverridesResponse) SetOverrides(v *FleetLaunchTemplateOverrides) *LaunchTemplateAndOverridesResponse {
81876	s.Overrides = v
81877	return s
81878}
81879
81880// Describes a block device mapping.
81881type LaunchTemplateBlockDeviceMapping struct {
81882	_ struct{} `type:"structure"`
81883
81884	// The device name.
81885	DeviceName *string `locationName:"deviceName" type:"string"`
81886
81887	// Information about the block device for an EBS volume.
81888	Ebs *LaunchTemplateEbsBlockDevice `locationName:"ebs" type:"structure"`
81889
81890	// Suppresses the specified device included in the block device mapping of the
81891	// AMI.
81892	NoDevice *string `locationName:"noDevice" type:"string"`
81893
81894	// The virtual device name (ephemeralN).
81895	VirtualName *string `locationName:"virtualName" type:"string"`
81896}
81897
81898// String returns the string representation
81899func (s LaunchTemplateBlockDeviceMapping) String() string {
81900	return awsutil.Prettify(s)
81901}
81902
81903// GoString returns the string representation
81904func (s LaunchTemplateBlockDeviceMapping) GoString() string {
81905	return s.String()
81906}
81907
81908// SetDeviceName sets the DeviceName field's value.
81909func (s *LaunchTemplateBlockDeviceMapping) SetDeviceName(v string) *LaunchTemplateBlockDeviceMapping {
81910	s.DeviceName = &v
81911	return s
81912}
81913
81914// SetEbs sets the Ebs field's value.
81915func (s *LaunchTemplateBlockDeviceMapping) SetEbs(v *LaunchTemplateEbsBlockDevice) *LaunchTemplateBlockDeviceMapping {
81916	s.Ebs = v
81917	return s
81918}
81919
81920// SetNoDevice sets the NoDevice field's value.
81921func (s *LaunchTemplateBlockDeviceMapping) SetNoDevice(v string) *LaunchTemplateBlockDeviceMapping {
81922	s.NoDevice = &v
81923	return s
81924}
81925
81926// SetVirtualName sets the VirtualName field's value.
81927func (s *LaunchTemplateBlockDeviceMapping) SetVirtualName(v string) *LaunchTemplateBlockDeviceMapping {
81928	s.VirtualName = &v
81929	return s
81930}
81931
81932// Describes a block device mapping.
81933type LaunchTemplateBlockDeviceMappingRequest struct {
81934	_ struct{} `type:"structure"`
81935
81936	// The device name (for example, /dev/sdh or xvdh).
81937	DeviceName *string `type:"string"`
81938
81939	// Parameters used to automatically set up EBS volumes when the instance is
81940	// launched.
81941	Ebs *LaunchTemplateEbsBlockDeviceRequest `type:"structure"`
81942
81943	// Suppresses the specified device included in the block device mapping of the
81944	// AMI.
81945	NoDevice *string `type:"string"`
81946
81947	// The virtual device name (ephemeralN). Instance store volumes are numbered
81948	// starting from 0. An instance type with 2 available instance store volumes
81949	// can specify mappings for ephemeral0 and ephemeral1. The number of available
81950	// instance store volumes depends on the instance type. After you connect to
81951	// the instance, you must mount the volume.
81952	VirtualName *string `type:"string"`
81953}
81954
81955// String returns the string representation
81956func (s LaunchTemplateBlockDeviceMappingRequest) String() string {
81957	return awsutil.Prettify(s)
81958}
81959
81960// GoString returns the string representation
81961func (s LaunchTemplateBlockDeviceMappingRequest) GoString() string {
81962	return s.String()
81963}
81964
81965// SetDeviceName sets the DeviceName field's value.
81966func (s *LaunchTemplateBlockDeviceMappingRequest) SetDeviceName(v string) *LaunchTemplateBlockDeviceMappingRequest {
81967	s.DeviceName = &v
81968	return s
81969}
81970
81971// SetEbs sets the Ebs field's value.
81972func (s *LaunchTemplateBlockDeviceMappingRequest) SetEbs(v *LaunchTemplateEbsBlockDeviceRequest) *LaunchTemplateBlockDeviceMappingRequest {
81973	s.Ebs = v
81974	return s
81975}
81976
81977// SetNoDevice sets the NoDevice field's value.
81978func (s *LaunchTemplateBlockDeviceMappingRequest) SetNoDevice(v string) *LaunchTemplateBlockDeviceMappingRequest {
81979	s.NoDevice = &v
81980	return s
81981}
81982
81983// SetVirtualName sets the VirtualName field's value.
81984func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *LaunchTemplateBlockDeviceMappingRequest {
81985	s.VirtualName = &v
81986	return s
81987}
81988
81989// Describes an instance's Capacity Reservation targeting option. You can specify
81990// only one option at a time. Use the CapacityReservationPreference parameter
81991// to configure the instance to run in On-Demand capacity or to run in any open
81992// Capacity Reservation that has matching attributes (instance type, platform,
81993// Availability Zone). Use the CapacityReservationTarget parameter to explicitly
81994// target a specific Capacity Reservation.
81995type LaunchTemplateCapacityReservationSpecificationRequest struct {
81996	_ struct{} `type:"structure"`
81997
81998	// Indicates the instance's Capacity Reservation preferences. Possible preferences
81999	// include:
82000	//
82001	//    * open - The instance can run in any open Capacity Reservation that has
82002	//    matching attributes (instance type, platform, Availability Zone).
82003	//
82004	//    * none - The instance avoids running in a Capacity Reservation even if
82005	//    one is available. The instance runs in On-Demand capacity.
82006	CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
82007
82008	// Information about the target Capacity Reservation.
82009	CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
82010}
82011
82012// String returns the string representation
82013func (s LaunchTemplateCapacityReservationSpecificationRequest) String() string {
82014	return awsutil.Prettify(s)
82015}
82016
82017// GoString returns the string representation
82018func (s LaunchTemplateCapacityReservationSpecificationRequest) GoString() string {
82019	return s.String()
82020}
82021
82022// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
82023func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationRequest {
82024	s.CapacityReservationPreference = &v
82025	return s
82026}
82027
82028// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
82029func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationTarget(v *CapacityReservationTarget) *LaunchTemplateCapacityReservationSpecificationRequest {
82030	s.CapacityReservationTarget = v
82031	return s
82032}
82033
82034// Information about the Capacity Reservation targeting option.
82035type LaunchTemplateCapacityReservationSpecificationResponse struct {
82036	_ struct{} `type:"structure"`
82037
82038	// Indicates the instance's Capacity Reservation preferences. Possible preferences
82039	// include:
82040	//
82041	//    * open - The instance can run in any open Capacity Reservation that has
82042	//    matching attributes (instance type, platform, Availability Zone).
82043	//
82044	//    * none - The instance avoids running in a Capacity Reservation even if
82045	//    one is available. The instance runs in On-Demand capacity.
82046	CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
82047
82048	// Information about the target Capacity Reservation.
82049	CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
82050}
82051
82052// String returns the string representation
82053func (s LaunchTemplateCapacityReservationSpecificationResponse) String() string {
82054	return awsutil.Prettify(s)
82055}
82056
82057// GoString returns the string representation
82058func (s LaunchTemplateCapacityReservationSpecificationResponse) GoString() string {
82059	return s.String()
82060}
82061
82062// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
82063func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationResponse {
82064	s.CapacityReservationPreference = &v
82065	return s
82066}
82067
82068// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
82069func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *LaunchTemplateCapacityReservationSpecificationResponse {
82070	s.CapacityReservationTarget = v
82071	return s
82072}
82073
82074// Describes a launch template and overrides.
82075type LaunchTemplateConfig struct {
82076	_ struct{} `type:"structure"`
82077
82078	// The launch template.
82079	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
82080
82081	// Any parameters that you specify override the same parameters in the launch
82082	// template.
82083	Overrides []*LaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
82084}
82085
82086// String returns the string representation
82087func (s LaunchTemplateConfig) String() string {
82088	return awsutil.Prettify(s)
82089}
82090
82091// GoString returns the string representation
82092func (s LaunchTemplateConfig) GoString() string {
82093	return s.String()
82094}
82095
82096// Validate inspects the fields of the type to determine if they are valid.
82097func (s *LaunchTemplateConfig) Validate() error {
82098	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfig"}
82099	if s.LaunchTemplateSpecification != nil {
82100		if err := s.LaunchTemplateSpecification.Validate(); err != nil {
82101			invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
82102		}
82103	}
82104
82105	if invalidParams.Len() > 0 {
82106		return invalidParams
82107	}
82108	return nil
82109}
82110
82111// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
82112func (s *LaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateConfig {
82113	s.LaunchTemplateSpecification = v
82114	return s
82115}
82116
82117// SetOverrides sets the Overrides field's value.
82118func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplateConfig {
82119	s.Overrides = v
82120	return s
82121}
82122
82123// The CPU options for the instance.
82124type LaunchTemplateCpuOptions struct {
82125	_ struct{} `type:"structure"`
82126
82127	// The number of CPU cores for the instance.
82128	CoreCount *int64 `locationName:"coreCount" type:"integer"`
82129
82130	// The number of threads per CPU core.
82131	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
82132}
82133
82134// String returns the string representation
82135func (s LaunchTemplateCpuOptions) String() string {
82136	return awsutil.Prettify(s)
82137}
82138
82139// GoString returns the string representation
82140func (s LaunchTemplateCpuOptions) GoString() string {
82141	return s.String()
82142}
82143
82144// SetCoreCount sets the CoreCount field's value.
82145func (s *LaunchTemplateCpuOptions) SetCoreCount(v int64) *LaunchTemplateCpuOptions {
82146	s.CoreCount = &v
82147	return s
82148}
82149
82150// SetThreadsPerCore sets the ThreadsPerCore field's value.
82151func (s *LaunchTemplateCpuOptions) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptions {
82152	s.ThreadsPerCore = &v
82153	return s
82154}
82155
82156// The CPU options for the instance. Both the core count and threads per core
82157// must be specified in the request.
82158type LaunchTemplateCpuOptionsRequest struct {
82159	_ struct{} `type:"structure"`
82160
82161	// The number of CPU cores for the instance.
82162	CoreCount *int64 `type:"integer"`
82163
82164	// The number of threads per CPU core. To disable multithreading for the instance,
82165	// specify a value of 1. Otherwise, specify the default value of 2.
82166	ThreadsPerCore *int64 `type:"integer"`
82167}
82168
82169// String returns the string representation
82170func (s LaunchTemplateCpuOptionsRequest) String() string {
82171	return awsutil.Prettify(s)
82172}
82173
82174// GoString returns the string representation
82175func (s LaunchTemplateCpuOptionsRequest) GoString() string {
82176	return s.String()
82177}
82178
82179// SetCoreCount sets the CoreCount field's value.
82180func (s *LaunchTemplateCpuOptionsRequest) SetCoreCount(v int64) *LaunchTemplateCpuOptionsRequest {
82181	s.CoreCount = &v
82182	return s
82183}
82184
82185// SetThreadsPerCore sets the ThreadsPerCore field's value.
82186func (s *LaunchTemplateCpuOptionsRequest) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptionsRequest {
82187	s.ThreadsPerCore = &v
82188	return s
82189}
82190
82191// Describes a block device for an EBS volume.
82192type LaunchTemplateEbsBlockDevice struct {
82193	_ struct{} `type:"structure"`
82194
82195	// Indicates whether the EBS volume is deleted on instance termination.
82196	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
82197
82198	// Indicates whether the EBS volume is encrypted.
82199	Encrypted *bool `locationName:"encrypted" type:"boolean"`
82200
82201	// The number of I/O operations per second (IOPS) that the volume supports.
82202	Iops *int64 `locationName:"iops" type:"integer"`
82203
82204	// The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
82205	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
82206
82207	// The ID of the snapshot.
82208	SnapshotId *string `locationName:"snapshotId" type:"string"`
82209
82210	// The size of the volume, in GiB.
82211	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
82212
82213	// The volume type.
82214	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
82215}
82216
82217// String returns the string representation
82218func (s LaunchTemplateEbsBlockDevice) String() string {
82219	return awsutil.Prettify(s)
82220}
82221
82222// GoString returns the string representation
82223func (s LaunchTemplateEbsBlockDevice) GoString() string {
82224	return s.String()
82225}
82226
82227// SetDeleteOnTermination sets the DeleteOnTermination field's value.
82228func (s *LaunchTemplateEbsBlockDevice) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDevice {
82229	s.DeleteOnTermination = &v
82230	return s
82231}
82232
82233// SetEncrypted sets the Encrypted field's value.
82234func (s *LaunchTemplateEbsBlockDevice) SetEncrypted(v bool) *LaunchTemplateEbsBlockDevice {
82235	s.Encrypted = &v
82236	return s
82237}
82238
82239// SetIops sets the Iops field's value.
82240func (s *LaunchTemplateEbsBlockDevice) SetIops(v int64) *LaunchTemplateEbsBlockDevice {
82241	s.Iops = &v
82242	return s
82243}
82244
82245// SetKmsKeyId sets the KmsKeyId field's value.
82246func (s *LaunchTemplateEbsBlockDevice) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDevice {
82247	s.KmsKeyId = &v
82248	return s
82249}
82250
82251// SetSnapshotId sets the SnapshotId field's value.
82252func (s *LaunchTemplateEbsBlockDevice) SetSnapshotId(v string) *LaunchTemplateEbsBlockDevice {
82253	s.SnapshotId = &v
82254	return s
82255}
82256
82257// SetVolumeSize sets the VolumeSize field's value.
82258func (s *LaunchTemplateEbsBlockDevice) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDevice {
82259	s.VolumeSize = &v
82260	return s
82261}
82262
82263// SetVolumeType sets the VolumeType field's value.
82264func (s *LaunchTemplateEbsBlockDevice) SetVolumeType(v string) *LaunchTemplateEbsBlockDevice {
82265	s.VolumeType = &v
82266	return s
82267}
82268
82269// The parameters for a block device for an EBS volume.
82270type LaunchTemplateEbsBlockDeviceRequest struct {
82271	_ struct{} `type:"structure"`
82272
82273	// Indicates whether the EBS volume is deleted on instance termination.
82274	DeleteOnTermination *bool `type:"boolean"`
82275
82276	// Indicates whether the EBS volume is encrypted. Encrypted volumes can only
82277	// be attached to instances that support Amazon EBS encryption. If you are creating
82278	// a volume from a snapshot, you can't specify an encryption value.
82279	Encrypted *bool `type:"boolean"`
82280
82281	// The number of I/O operations per second (IOPS) that the volume supports.
82282	// For io1, this represents the number of IOPS that are provisioned for the
82283	// volume. For gp2, this represents the baseline performance of the volume and
82284	// the rate at which the volume accumulates I/O credits for bursting. For more
82285	// information about General Purpose SSD baseline performance, I/O credits,
82286	// and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
82287	// in the Amazon Elastic Compute Cloud User Guide.
82288	//
82289	// Condition: This parameter is required for requests to create io1 volumes;
82290	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
82291	Iops *int64 `type:"integer"`
82292
82293	// The ARN of the symmetric AWS Key Management Service (AWS KMS) CMK used for
82294	// encryption.
82295	KmsKeyId *string `type:"string"`
82296
82297	// The ID of the snapshot.
82298	SnapshotId *string `type:"string"`
82299
82300	// The size of the volume, in GiB.
82301	//
82302	// Default: If you're creating the volume from a snapshot and don't specify
82303	// a volume size, the default is the snapshot size.
82304	VolumeSize *int64 `type:"integer"`
82305
82306	// The volume type.
82307	VolumeType *string `type:"string" enum:"VolumeType"`
82308}
82309
82310// String returns the string representation
82311func (s LaunchTemplateEbsBlockDeviceRequest) String() string {
82312	return awsutil.Prettify(s)
82313}
82314
82315// GoString returns the string representation
82316func (s LaunchTemplateEbsBlockDeviceRequest) GoString() string {
82317	return s.String()
82318}
82319
82320// SetDeleteOnTermination sets the DeleteOnTermination field's value.
82321func (s *LaunchTemplateEbsBlockDeviceRequest) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDeviceRequest {
82322	s.DeleteOnTermination = &v
82323	return s
82324}
82325
82326// SetEncrypted sets the Encrypted field's value.
82327func (s *LaunchTemplateEbsBlockDeviceRequest) SetEncrypted(v bool) *LaunchTemplateEbsBlockDeviceRequest {
82328	s.Encrypted = &v
82329	return s
82330}
82331
82332// SetIops sets the Iops field's value.
82333func (s *LaunchTemplateEbsBlockDeviceRequest) SetIops(v int64) *LaunchTemplateEbsBlockDeviceRequest {
82334	s.Iops = &v
82335	return s
82336}
82337
82338// SetKmsKeyId sets the KmsKeyId field's value.
82339func (s *LaunchTemplateEbsBlockDeviceRequest) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDeviceRequest {
82340	s.KmsKeyId = &v
82341	return s
82342}
82343
82344// SetSnapshotId sets the SnapshotId field's value.
82345func (s *LaunchTemplateEbsBlockDeviceRequest) SetSnapshotId(v string) *LaunchTemplateEbsBlockDeviceRequest {
82346	s.SnapshotId = &v
82347	return s
82348}
82349
82350// SetVolumeSize sets the VolumeSize field's value.
82351func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDeviceRequest {
82352	s.VolumeSize = &v
82353	return s
82354}
82355
82356// SetVolumeType sets the VolumeType field's value.
82357func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeType(v string) *LaunchTemplateEbsBlockDeviceRequest {
82358	s.VolumeType = &v
82359	return s
82360}
82361
82362// Describes an elastic inference accelerator.
82363type LaunchTemplateElasticInferenceAccelerator struct {
82364	_ struct{} `type:"structure"`
82365
82366	// The number of elastic inference accelerators to attach to the instance.
82367	//
82368	// Default: 1
82369	Count *int64 `min:"1" type:"integer"`
82370
82371	// The type of elastic inference accelerator. The possible values are eia1.medium,
82372	// eia1.large, and eia1.xlarge.
82373	//
82374	// Type is a required field
82375	Type *string `type:"string" required:"true"`
82376}
82377
82378// String returns the string representation
82379func (s LaunchTemplateElasticInferenceAccelerator) String() string {
82380	return awsutil.Prettify(s)
82381}
82382
82383// GoString returns the string representation
82384func (s LaunchTemplateElasticInferenceAccelerator) GoString() string {
82385	return s.String()
82386}
82387
82388// Validate inspects the fields of the type to determine if they are valid.
82389func (s *LaunchTemplateElasticInferenceAccelerator) Validate() error {
82390	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateElasticInferenceAccelerator"}
82391	if s.Count != nil && *s.Count < 1 {
82392		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
82393	}
82394	if s.Type == nil {
82395		invalidParams.Add(request.NewErrParamRequired("Type"))
82396	}
82397
82398	if invalidParams.Len() > 0 {
82399		return invalidParams
82400	}
82401	return nil
82402}
82403
82404// SetCount sets the Count field's value.
82405func (s *LaunchTemplateElasticInferenceAccelerator) SetCount(v int64) *LaunchTemplateElasticInferenceAccelerator {
82406	s.Count = &v
82407	return s
82408}
82409
82410// SetType sets the Type field's value.
82411func (s *LaunchTemplateElasticInferenceAccelerator) SetType(v string) *LaunchTemplateElasticInferenceAccelerator {
82412	s.Type = &v
82413	return s
82414}
82415
82416// Describes an elastic inference accelerator.
82417type LaunchTemplateElasticInferenceAcceleratorResponse struct {
82418	_ struct{} `type:"structure"`
82419
82420	// The number of elastic inference accelerators to attach to the instance.
82421	//
82422	// Default: 1
82423	Count *int64 `locationName:"count" type:"integer"`
82424
82425	// The type of elastic inference accelerator. The possible values are eia1.medium,
82426	// eia1.large, and eia1.xlarge.
82427	Type *string `locationName:"type" type:"string"`
82428}
82429
82430// String returns the string representation
82431func (s LaunchTemplateElasticInferenceAcceleratorResponse) String() string {
82432	return awsutil.Prettify(s)
82433}
82434
82435// GoString returns the string representation
82436func (s LaunchTemplateElasticInferenceAcceleratorResponse) GoString() string {
82437	return s.String()
82438}
82439
82440// SetCount sets the Count field's value.
82441func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetCount(v int64) *LaunchTemplateElasticInferenceAcceleratorResponse {
82442	s.Count = &v
82443	return s
82444}
82445
82446// SetType sets the Type field's value.
82447func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetType(v string) *LaunchTemplateElasticInferenceAcceleratorResponse {
82448	s.Type = &v
82449	return s
82450}
82451
82452// Indicates whether an instance is configured for hibernation.
82453type LaunchTemplateHibernationOptions struct {
82454	_ struct{} `type:"structure"`
82455
82456	// If this parameter is set to true, the instance is enabled for hibernation;
82457	// otherwise, it is not enabled for hibernation.
82458	Configured *bool `locationName:"configured" type:"boolean"`
82459}
82460
82461// String returns the string representation
82462func (s LaunchTemplateHibernationOptions) String() string {
82463	return awsutil.Prettify(s)
82464}
82465
82466// GoString returns the string representation
82467func (s LaunchTemplateHibernationOptions) GoString() string {
82468	return s.String()
82469}
82470
82471// SetConfigured sets the Configured field's value.
82472func (s *LaunchTemplateHibernationOptions) SetConfigured(v bool) *LaunchTemplateHibernationOptions {
82473	s.Configured = &v
82474	return s
82475}
82476
82477// Indicates whether the instance is configured for hibernation. This parameter
82478// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
82479type LaunchTemplateHibernationOptionsRequest struct {
82480	_ struct{} `type:"structure"`
82481
82482	// If you set this parameter to true, the instance is enabled for hibernation.
82483	//
82484	// Default: false
82485	Configured *bool `type:"boolean"`
82486}
82487
82488// String returns the string representation
82489func (s LaunchTemplateHibernationOptionsRequest) String() string {
82490	return awsutil.Prettify(s)
82491}
82492
82493// GoString returns the string representation
82494func (s LaunchTemplateHibernationOptionsRequest) GoString() string {
82495	return s.String()
82496}
82497
82498// SetConfigured sets the Configured field's value.
82499func (s *LaunchTemplateHibernationOptionsRequest) SetConfigured(v bool) *LaunchTemplateHibernationOptionsRequest {
82500	s.Configured = &v
82501	return s
82502}
82503
82504// Describes an IAM instance profile.
82505type LaunchTemplateIamInstanceProfileSpecification struct {
82506	_ struct{} `type:"structure"`
82507
82508	// The Amazon Resource Name (ARN) of the instance profile.
82509	Arn *string `locationName:"arn" type:"string"`
82510
82511	// The name of the instance profile.
82512	Name *string `locationName:"name" type:"string"`
82513}
82514
82515// String returns the string representation
82516func (s LaunchTemplateIamInstanceProfileSpecification) String() string {
82517	return awsutil.Prettify(s)
82518}
82519
82520// GoString returns the string representation
82521func (s LaunchTemplateIamInstanceProfileSpecification) GoString() string {
82522	return s.String()
82523}
82524
82525// SetArn sets the Arn field's value.
82526func (s *LaunchTemplateIamInstanceProfileSpecification) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecification {
82527	s.Arn = &v
82528	return s
82529}
82530
82531// SetName sets the Name field's value.
82532func (s *LaunchTemplateIamInstanceProfileSpecification) SetName(v string) *LaunchTemplateIamInstanceProfileSpecification {
82533	s.Name = &v
82534	return s
82535}
82536
82537// An IAM instance profile.
82538type LaunchTemplateIamInstanceProfileSpecificationRequest struct {
82539	_ struct{} `type:"structure"`
82540
82541	// The Amazon Resource Name (ARN) of the instance profile.
82542	Arn *string `type:"string"`
82543
82544	// The name of the instance profile.
82545	Name *string `type:"string"`
82546}
82547
82548// String returns the string representation
82549func (s LaunchTemplateIamInstanceProfileSpecificationRequest) String() string {
82550	return awsutil.Prettify(s)
82551}
82552
82553// GoString returns the string representation
82554func (s LaunchTemplateIamInstanceProfileSpecificationRequest) GoString() string {
82555	return s.String()
82556}
82557
82558// SetArn sets the Arn field's value.
82559func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
82560	s.Arn = &v
82561	return s
82562}
82563
82564// SetName sets the Name field's value.
82565func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetName(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
82566	s.Name = &v
82567	return s
82568}
82569
82570// The market (purchasing) option for the instances.
82571type LaunchTemplateInstanceMarketOptions struct {
82572	_ struct{} `type:"structure"`
82573
82574	// The market type.
82575	MarketType *string `locationName:"marketType" type:"string" enum:"MarketType"`
82576
82577	// The options for Spot Instances.
82578	SpotOptions *LaunchTemplateSpotMarketOptions `locationName:"spotOptions" type:"structure"`
82579}
82580
82581// String returns the string representation
82582func (s LaunchTemplateInstanceMarketOptions) String() string {
82583	return awsutil.Prettify(s)
82584}
82585
82586// GoString returns the string representation
82587func (s LaunchTemplateInstanceMarketOptions) GoString() string {
82588	return s.String()
82589}
82590
82591// SetMarketType sets the MarketType field's value.
82592func (s *LaunchTemplateInstanceMarketOptions) SetMarketType(v string) *LaunchTemplateInstanceMarketOptions {
82593	s.MarketType = &v
82594	return s
82595}
82596
82597// SetSpotOptions sets the SpotOptions field's value.
82598func (s *LaunchTemplateInstanceMarketOptions) SetSpotOptions(v *LaunchTemplateSpotMarketOptions) *LaunchTemplateInstanceMarketOptions {
82599	s.SpotOptions = v
82600	return s
82601}
82602
82603// The market (purchasing) option for the instances.
82604type LaunchTemplateInstanceMarketOptionsRequest struct {
82605	_ struct{} `type:"structure"`
82606
82607	// The market type.
82608	MarketType *string `type:"string" enum:"MarketType"`
82609
82610	// The options for Spot Instances.
82611	SpotOptions *LaunchTemplateSpotMarketOptionsRequest `type:"structure"`
82612}
82613
82614// String returns the string representation
82615func (s LaunchTemplateInstanceMarketOptionsRequest) String() string {
82616	return awsutil.Prettify(s)
82617}
82618
82619// GoString returns the string representation
82620func (s LaunchTemplateInstanceMarketOptionsRequest) GoString() string {
82621	return s.String()
82622}
82623
82624// SetMarketType sets the MarketType field's value.
82625func (s *LaunchTemplateInstanceMarketOptionsRequest) SetMarketType(v string) *LaunchTemplateInstanceMarketOptionsRequest {
82626	s.MarketType = &v
82627	return s
82628}
82629
82630// SetSpotOptions sets the SpotOptions field's value.
82631func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTemplateSpotMarketOptionsRequest) *LaunchTemplateInstanceMarketOptionsRequest {
82632	s.SpotOptions = v
82633	return s
82634}
82635
82636// The metadata options for the instance. For more information, see Instance
82637// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
82638// in the Amazon Elastic Compute Cloud User Guide.
82639type LaunchTemplateInstanceMetadataOptions struct {
82640	_ struct{} `type:"structure"`
82641
82642	// This parameter enables or disables the HTTP metadata endpoint on your instances.
82643	// If the parameter is not specified, the default state is enabled.
82644	//
82645	// If you specify a value of disabled, you will not be able to access your instance
82646	// metadata.
82647	HttpEndpoint *string `locationName:"httpEndpoint" type:"string" enum:"LaunchTemplateInstanceMetadataEndpointState"`
82648
82649	// The desired HTTP PUT response hop limit for instance metadata requests. The
82650	// larger the number, the further instance metadata requests can travel.
82651	//
82652	// Default: 1
82653	//
82654	// Possible values: Integers from 1 to 64
82655	HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" type:"integer"`
82656
82657	// The state of token usage for your instance metadata requests. If the parameter
82658	// is not specified in the request, the default state is optional.
82659	//
82660	// If the state is optional, you can choose to retrieve instance metadata with
82661	// or without a signed token header on your request. If you retrieve the IAM
82662	// role credentials without a token, the version 1.0 role credentials are returned.
82663	// If you retrieve the IAM role credentials using a valid signed token, the
82664	// version 2.0 role credentials are returned.
82665	//
82666	// If the state is required, you must send a signed token header with any instance
82667	// metadata retrieval requests. In this state, retrieving the IAM role credentials
82668	// always returns the version 2.0 credentials; the version 1.0 credentials are
82669	// not available.
82670	HttpTokens *string `locationName:"httpTokens" type:"string" enum:"LaunchTemplateHttpTokensState"`
82671
82672	// The state of the metadata option changes.
82673	//
82674	// pending - The metadata options are being updated and the instance is not
82675	// ready to process metadata traffic with the new selection.
82676	//
82677	// applied - The metadata options have been successfully applied on the instance.
82678	State *string `locationName:"state" type:"string" enum:"LaunchTemplateInstanceMetadataOptionsState"`
82679}
82680
82681// String returns the string representation
82682func (s LaunchTemplateInstanceMetadataOptions) String() string {
82683	return awsutil.Prettify(s)
82684}
82685
82686// GoString returns the string representation
82687func (s LaunchTemplateInstanceMetadataOptions) GoString() string {
82688	return s.String()
82689}
82690
82691// SetHttpEndpoint sets the HttpEndpoint field's value.
82692func (s *LaunchTemplateInstanceMetadataOptions) SetHttpEndpoint(v string) *LaunchTemplateInstanceMetadataOptions {
82693	s.HttpEndpoint = &v
82694	return s
82695}
82696
82697// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
82698func (s *LaunchTemplateInstanceMetadataOptions) SetHttpPutResponseHopLimit(v int64) *LaunchTemplateInstanceMetadataOptions {
82699	s.HttpPutResponseHopLimit = &v
82700	return s
82701}
82702
82703// SetHttpTokens sets the HttpTokens field's value.
82704func (s *LaunchTemplateInstanceMetadataOptions) SetHttpTokens(v string) *LaunchTemplateInstanceMetadataOptions {
82705	s.HttpTokens = &v
82706	return s
82707}
82708
82709// SetState sets the State field's value.
82710func (s *LaunchTemplateInstanceMetadataOptions) SetState(v string) *LaunchTemplateInstanceMetadataOptions {
82711	s.State = &v
82712	return s
82713}
82714
82715// The metadata options for the instance. For more information, see Instance
82716// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
82717// in the Amazon Elastic Compute Cloud User Guide.
82718type LaunchTemplateInstanceMetadataOptionsRequest struct {
82719	_ struct{} `type:"structure"`
82720
82721	// This parameter enables or disables the HTTP metadata endpoint on your instances.
82722	// If the parameter is not specified, the default state is enabled.
82723	//
82724	// If you specify a value of disabled, you will not be able to access your instance
82725	// metadata.
82726	HttpEndpoint *string `type:"string" enum:"LaunchTemplateInstanceMetadataEndpointState"`
82727
82728	// The desired HTTP PUT response hop limit for instance metadata requests. The
82729	// larger the number, the further instance metadata requests can travel.
82730	//
82731	// Default: 1
82732	//
82733	// Possible values: Integers from 1 to 64
82734	HttpPutResponseHopLimit *int64 `type:"integer"`
82735
82736	// The state of token usage for your instance metadata requests. If the parameter
82737	// is not specified in the request, the default state is optional.
82738	//
82739	// If the state is optional, you can choose to retrieve instance metadata with
82740	// or without a signed token header on your request. If you retrieve the IAM
82741	// role credentials without a token, the version 1.0 role credentials are returned.
82742	// If you retrieve the IAM role credentials using a valid signed token, the
82743	// version 2.0 role credentials are returned.
82744	//
82745	// If the state is required, you must send a signed token header with any instance
82746	// metadata retrieval requests. In this state, retrieving the IAM role credentials
82747	// always returns the version 2.0 credentials; the version 1.0 credentials are
82748	// not available.
82749	HttpTokens *string `type:"string" enum:"LaunchTemplateHttpTokensState"`
82750}
82751
82752// String returns the string representation
82753func (s LaunchTemplateInstanceMetadataOptionsRequest) String() string {
82754	return awsutil.Prettify(s)
82755}
82756
82757// GoString returns the string representation
82758func (s LaunchTemplateInstanceMetadataOptionsRequest) GoString() string {
82759	return s.String()
82760}
82761
82762// SetHttpEndpoint sets the HttpEndpoint field's value.
82763func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpEndpoint(v string) *LaunchTemplateInstanceMetadataOptionsRequest {
82764	s.HttpEndpoint = &v
82765	return s
82766}
82767
82768// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
82769func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpPutResponseHopLimit(v int64) *LaunchTemplateInstanceMetadataOptionsRequest {
82770	s.HttpPutResponseHopLimit = &v
82771	return s
82772}
82773
82774// SetHttpTokens sets the HttpTokens field's value.
82775func (s *LaunchTemplateInstanceMetadataOptionsRequest) SetHttpTokens(v string) *LaunchTemplateInstanceMetadataOptionsRequest {
82776	s.HttpTokens = &v
82777	return s
82778}
82779
82780// Describes a network interface.
82781type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
82782	_ struct{} `type:"structure"`
82783
82784	// Indicates whether to associate a public IPv4 address with eth0 for a new
82785	// network interface.
82786	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
82787
82788	// Indicates whether the network interface is deleted when the instance is terminated.
82789	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
82790
82791	// A description for the network interface.
82792	Description *string `locationName:"description" type:"string"`
82793
82794	// The device index for the network interface attachment.
82795	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
82796
82797	// The IDs of one or more security groups.
82798	Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"`
82799
82800	// The type of network interface.
82801	InterfaceType *string `locationName:"interfaceType" type:"string"`
82802
82803	// The number of IPv6 addresses for the network interface.
82804	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
82805
82806	// The IPv6 addresses for the network interface.
82807	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
82808
82809	// The ID of the network interface.
82810	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
82811
82812	// The primary private IPv4 address of the network interface.
82813	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
82814
82815	// One or more private IPv4 addresses.
82816	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
82817
82818	// The number of secondary private IPv4 addresses for the network interface.
82819	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
82820
82821	// The ID of the subnet for the network interface.
82822	SubnetId *string `locationName:"subnetId" type:"string"`
82823}
82824
82825// String returns the string representation
82826func (s LaunchTemplateInstanceNetworkInterfaceSpecification) String() string {
82827	return awsutil.Prettify(s)
82828}
82829
82830// GoString returns the string representation
82831func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string {
82832	return s.String()
82833}
82834
82835// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
82836func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82837	s.AssociatePublicIpAddress = &v
82838	return s
82839}
82840
82841// SetDeleteOnTermination sets the DeleteOnTermination field's value.
82842func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82843	s.DeleteOnTermination = &v
82844	return s
82845}
82846
82847// SetDescription sets the Description field's value.
82848func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82849	s.Description = &v
82850	return s
82851}
82852
82853// SetDeviceIndex sets the DeviceIndex field's value.
82854func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82855	s.DeviceIndex = &v
82856	return s
82857}
82858
82859// SetGroups sets the Groups field's value.
82860func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82861	s.Groups = v
82862	return s
82863}
82864
82865// SetInterfaceType sets the InterfaceType field's value.
82866func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82867	s.InterfaceType = &v
82868	return s
82869}
82870
82871// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
82872func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82873	s.Ipv6AddressCount = &v
82874	return s
82875}
82876
82877// SetIpv6Addresses sets the Ipv6Addresses field's value.
82878func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82879	s.Ipv6Addresses = v
82880	return s
82881}
82882
82883// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
82884func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82885	s.NetworkInterfaceId = &v
82886	return s
82887}
82888
82889// SetPrivateIpAddress sets the PrivateIpAddress field's value.
82890func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82891	s.PrivateIpAddress = &v
82892	return s
82893}
82894
82895// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
82896func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82897	s.PrivateIpAddresses = v
82898	return s
82899}
82900
82901// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
82902func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82903	s.SecondaryPrivateIpAddressCount = &v
82904	return s
82905}
82906
82907// SetSubnetId sets the SubnetId field's value.
82908func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
82909	s.SubnetId = &v
82910	return s
82911}
82912
82913// The parameters for a network interface.
82914type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
82915	_ struct{} `type:"structure"`
82916
82917	// Associates a public IPv4 address with eth0 for a new network interface.
82918	AssociatePublicIpAddress *bool `type:"boolean"`
82919
82920	// Indicates whether the network interface is deleted when the instance is terminated.
82921	DeleteOnTermination *bool `type:"boolean"`
82922
82923	// A description for the network interface.
82924	Description *string `type:"string"`
82925
82926	// The device index for the network interface attachment.
82927	DeviceIndex *int64 `type:"integer"`
82928
82929	// The IDs of one or more security groups.
82930	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
82931
82932	// The type of network interface. To create an Elastic Fabric Adapter (EFA),
82933	// specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
82934	// in the Amazon Elastic Compute Cloud User Guide.
82935	//
82936	// If you are not creating an EFA, specify interface or omit this parameter.
82937	//
82938	// Valid values: interface | efa
82939	InterfaceType *string `type:"string"`
82940
82941	// The number of IPv6 addresses to assign to a network interface. Amazon EC2
82942	// automatically selects the IPv6 addresses from the subnet range. You can't
82943	// use this option if specifying specific IPv6 addresses.
82944	Ipv6AddressCount *int64 `type:"integer"`
82945
82946	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your
82947	// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
82948	Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
82949
82950	// The ID of the network interface.
82951	NetworkInterfaceId *string `type:"string"`
82952
82953	// The primary private IPv4 address of the network interface.
82954	PrivateIpAddress *string `type:"string"`
82955
82956	// One or more private IPv4 addresses.
82957	PrivateIpAddresses []*PrivateIpAddressSpecification `locationNameList:"item" type:"list"`
82958
82959	// The number of secondary private IPv4 addresses to assign to a network interface.
82960	SecondaryPrivateIpAddressCount *int64 `type:"integer"`
82961
82962	// The ID of the subnet for the network interface.
82963	SubnetId *string `type:"string"`
82964}
82965
82966// String returns the string representation
82967func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) String() string {
82968	return awsutil.Prettify(s)
82969}
82970
82971// GoString returns the string representation
82972func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() string {
82973	return s.String()
82974}
82975
82976// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
82977func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
82978	s.AssociatePublicIpAddress = &v
82979	return s
82980}
82981
82982// SetDeleteOnTermination sets the DeleteOnTermination field's value.
82983func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
82984	s.DeleteOnTermination = &v
82985	return s
82986}
82987
82988// SetDescription sets the Description field's value.
82989func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
82990	s.Description = &v
82991	return s
82992}
82993
82994// SetDeviceIndex sets the DeviceIndex field's value.
82995func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
82996	s.DeviceIndex = &v
82997	return s
82998}
82999
83000// SetGroups sets the Groups field's value.
83001func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
83002	s.Groups = v
83003	return s
83004}
83005
83006// SetInterfaceType sets the InterfaceType field's value.
83007func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
83008	s.InterfaceType = &v
83009	return s
83010}
83011
83012// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
83013func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
83014	s.Ipv6AddressCount = &v
83015	return s
83016}
83017
83018// SetIpv6Addresses sets the Ipv6Addresses field's value.
83019func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addresses(v []*InstanceIpv6AddressRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
83020	s.Ipv6Addresses = v
83021	return s
83022}
83023
83024// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
83025func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
83026	s.NetworkInterfaceId = &v
83027	return s
83028}
83029
83030// SetPrivateIpAddress sets the PrivateIpAddress field's value.
83031func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
83032	s.PrivateIpAddress = &v
83033	return s
83034}
83035
83036// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
83037func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
83038	s.PrivateIpAddresses = v
83039	return s
83040}
83041
83042// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
83043func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
83044	s.SecondaryPrivateIpAddressCount = &v
83045	return s
83046}
83047
83048// SetSubnetId sets the SubnetId field's value.
83049func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
83050	s.SubnetId = &v
83051	return s
83052}
83053
83054// Describes a license configuration.
83055type LaunchTemplateLicenseConfiguration struct {
83056	_ struct{} `type:"structure"`
83057
83058	// The Amazon Resource Name (ARN) of the license configuration.
83059	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
83060}
83061
83062// String returns the string representation
83063func (s LaunchTemplateLicenseConfiguration) String() string {
83064	return awsutil.Prettify(s)
83065}
83066
83067// GoString returns the string representation
83068func (s LaunchTemplateLicenseConfiguration) GoString() string {
83069	return s.String()
83070}
83071
83072// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
83073func (s *LaunchTemplateLicenseConfiguration) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfiguration {
83074	s.LicenseConfigurationArn = &v
83075	return s
83076}
83077
83078// Describes a license configuration.
83079type LaunchTemplateLicenseConfigurationRequest struct {
83080	_ struct{} `type:"structure"`
83081
83082	// The Amazon Resource Name (ARN) of the license configuration.
83083	LicenseConfigurationArn *string `type:"string"`
83084}
83085
83086// String returns the string representation
83087func (s LaunchTemplateLicenseConfigurationRequest) String() string {
83088	return awsutil.Prettify(s)
83089}
83090
83091// GoString returns the string representation
83092func (s LaunchTemplateLicenseConfigurationRequest) GoString() string {
83093	return s.String()
83094}
83095
83096// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
83097func (s *LaunchTemplateLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfigurationRequest {
83098	s.LicenseConfigurationArn = &v
83099	return s
83100}
83101
83102// Describes overrides for a launch template.
83103type LaunchTemplateOverrides struct {
83104	_ struct{} `type:"structure"`
83105
83106	// The Availability Zone in which to launch the instances.
83107	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
83108
83109	// The instance type.
83110	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
83111
83112	// The priority for the launch template override. If OnDemandAllocationStrategy
83113	// is set to prioritized, Spot Fleet uses priority to determine which launch
83114	// template override to use first in fulfilling On-Demand capacity. The highest
83115	// priority is launched first. Valid values are whole numbers starting at 0.
83116	// The lower the number, the higher the priority. If no number is set, the launch
83117	// template override has the lowest priority.
83118	Priority *float64 `locationName:"priority" type:"double"`
83119
83120	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
83121	SpotPrice *string `locationName:"spotPrice" type:"string"`
83122
83123	// The ID of the subnet in which to launch the instances.
83124	SubnetId *string `locationName:"subnetId" type:"string"`
83125
83126	// The number of units provided by the specified instance type.
83127	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
83128}
83129
83130// String returns the string representation
83131func (s LaunchTemplateOverrides) String() string {
83132	return awsutil.Prettify(s)
83133}
83134
83135// GoString returns the string representation
83136func (s LaunchTemplateOverrides) GoString() string {
83137	return s.String()
83138}
83139
83140// SetAvailabilityZone sets the AvailabilityZone field's value.
83141func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateOverrides {
83142	s.AvailabilityZone = &v
83143	return s
83144}
83145
83146// SetInstanceType sets the InstanceType field's value.
83147func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides {
83148	s.InstanceType = &v
83149	return s
83150}
83151
83152// SetPriority sets the Priority field's value.
83153func (s *LaunchTemplateOverrides) SetPriority(v float64) *LaunchTemplateOverrides {
83154	s.Priority = &v
83155	return s
83156}
83157
83158// SetSpotPrice sets the SpotPrice field's value.
83159func (s *LaunchTemplateOverrides) SetSpotPrice(v string) *LaunchTemplateOverrides {
83160	s.SpotPrice = &v
83161	return s
83162}
83163
83164// SetSubnetId sets the SubnetId field's value.
83165func (s *LaunchTemplateOverrides) SetSubnetId(v string) *LaunchTemplateOverrides {
83166	s.SubnetId = &v
83167	return s
83168}
83169
83170// SetWeightedCapacity sets the WeightedCapacity field's value.
83171func (s *LaunchTemplateOverrides) SetWeightedCapacity(v float64) *LaunchTemplateOverrides {
83172	s.WeightedCapacity = &v
83173	return s
83174}
83175
83176// Describes the placement of an instance.
83177type LaunchTemplatePlacement struct {
83178	_ struct{} `type:"structure"`
83179
83180	// The affinity setting for the instance on the Dedicated Host.
83181	Affinity *string `locationName:"affinity" type:"string"`
83182
83183	// The Availability Zone of the instance.
83184	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
83185
83186	// The name of the placement group for the instance.
83187	GroupName *string `locationName:"groupName" type:"string"`
83188
83189	// The ID of the Dedicated Host for the instance.
83190	HostId *string `locationName:"hostId" type:"string"`
83191
83192	// The ARN of the host resource group in which to launch the instances.
83193	HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
83194
83195	// The number of the partition the instance should launch in. Valid only if
83196	// the placement group strategy is set to partition.
83197	PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
83198
83199	// Reserved for future use.
83200	SpreadDomain *string `locationName:"spreadDomain" type:"string"`
83201
83202	// The tenancy of the instance (if the instance is running in a VPC). An instance
83203	// with a tenancy of dedicated runs on single-tenant hardware.
83204	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
83205}
83206
83207// String returns the string representation
83208func (s LaunchTemplatePlacement) String() string {
83209	return awsutil.Prettify(s)
83210}
83211
83212// GoString returns the string representation
83213func (s LaunchTemplatePlacement) GoString() string {
83214	return s.String()
83215}
83216
83217// SetAffinity sets the Affinity field's value.
83218func (s *LaunchTemplatePlacement) SetAffinity(v string) *LaunchTemplatePlacement {
83219	s.Affinity = &v
83220	return s
83221}
83222
83223// SetAvailabilityZone sets the AvailabilityZone field's value.
83224func (s *LaunchTemplatePlacement) SetAvailabilityZone(v string) *LaunchTemplatePlacement {
83225	s.AvailabilityZone = &v
83226	return s
83227}
83228
83229// SetGroupName sets the GroupName field's value.
83230func (s *LaunchTemplatePlacement) SetGroupName(v string) *LaunchTemplatePlacement {
83231	s.GroupName = &v
83232	return s
83233}
83234
83235// SetHostId sets the HostId field's value.
83236func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
83237	s.HostId = &v
83238	return s
83239}
83240
83241// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
83242func (s *LaunchTemplatePlacement) SetHostResourceGroupArn(v string) *LaunchTemplatePlacement {
83243	s.HostResourceGroupArn = &v
83244	return s
83245}
83246
83247// SetPartitionNumber sets the PartitionNumber field's value.
83248func (s *LaunchTemplatePlacement) SetPartitionNumber(v int64) *LaunchTemplatePlacement {
83249	s.PartitionNumber = &v
83250	return s
83251}
83252
83253// SetSpreadDomain sets the SpreadDomain field's value.
83254func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
83255	s.SpreadDomain = &v
83256	return s
83257}
83258
83259// SetTenancy sets the Tenancy field's value.
83260func (s *LaunchTemplatePlacement) SetTenancy(v string) *LaunchTemplatePlacement {
83261	s.Tenancy = &v
83262	return s
83263}
83264
83265// Describes the placement of an instance.
83266type LaunchTemplatePlacementRequest struct {
83267	_ struct{} `type:"structure"`
83268
83269	// The affinity setting for an instance on a Dedicated Host.
83270	Affinity *string `type:"string"`
83271
83272	// The Availability Zone for the instance.
83273	AvailabilityZone *string `type:"string"`
83274
83275	// The name of the placement group for the instance.
83276	GroupName *string `type:"string"`
83277
83278	// The ID of the Dedicated Host for the instance.
83279	HostId *string `type:"string"`
83280
83281	// The ARN of the host resource group in which to launch the instances. If you
83282	// specify a host resource group ARN, omit the Tenancy parameter or set it to
83283	// host.
83284	HostResourceGroupArn *string `type:"string"`
83285
83286	// The number of the partition the instance should launch in. Valid only if
83287	// the placement group strategy is set to partition.
83288	PartitionNumber *int64 `type:"integer"`
83289
83290	// Reserved for future use.
83291	SpreadDomain *string `type:"string"`
83292
83293	// The tenancy of the instance (if the instance is running in a VPC). An instance
83294	// with a tenancy of dedicated runs on single-tenant hardware.
83295	Tenancy *string `type:"string" enum:"Tenancy"`
83296}
83297
83298// String returns the string representation
83299func (s LaunchTemplatePlacementRequest) String() string {
83300	return awsutil.Prettify(s)
83301}
83302
83303// GoString returns the string representation
83304func (s LaunchTemplatePlacementRequest) GoString() string {
83305	return s.String()
83306}
83307
83308// SetAffinity sets the Affinity field's value.
83309func (s *LaunchTemplatePlacementRequest) SetAffinity(v string) *LaunchTemplatePlacementRequest {
83310	s.Affinity = &v
83311	return s
83312}
83313
83314// SetAvailabilityZone sets the AvailabilityZone field's value.
83315func (s *LaunchTemplatePlacementRequest) SetAvailabilityZone(v string) *LaunchTemplatePlacementRequest {
83316	s.AvailabilityZone = &v
83317	return s
83318}
83319
83320// SetGroupName sets the GroupName field's value.
83321func (s *LaunchTemplatePlacementRequest) SetGroupName(v string) *LaunchTemplatePlacementRequest {
83322	s.GroupName = &v
83323	return s
83324}
83325
83326// SetHostId sets the HostId field's value.
83327func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlacementRequest {
83328	s.HostId = &v
83329	return s
83330}
83331
83332// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
83333func (s *LaunchTemplatePlacementRequest) SetHostResourceGroupArn(v string) *LaunchTemplatePlacementRequest {
83334	s.HostResourceGroupArn = &v
83335	return s
83336}
83337
83338// SetPartitionNumber sets the PartitionNumber field's value.
83339func (s *LaunchTemplatePlacementRequest) SetPartitionNumber(v int64) *LaunchTemplatePlacementRequest {
83340	s.PartitionNumber = &v
83341	return s
83342}
83343
83344// SetSpreadDomain sets the SpreadDomain field's value.
83345func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
83346	s.SpreadDomain = &v
83347	return s
83348}
83349
83350// SetTenancy sets the Tenancy field's value.
83351func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePlacementRequest {
83352	s.Tenancy = &v
83353	return s
83354}
83355
83356// The launch template to use. You must specify either the launch template ID
83357// or launch template name in the request, but not both.
83358type LaunchTemplateSpecification struct {
83359	_ struct{} `type:"structure"`
83360
83361	// The ID of the launch template.
83362	LaunchTemplateId *string `type:"string"`
83363
83364	// The name of the launch template.
83365	LaunchTemplateName *string `type:"string"`
83366
83367	// The version number of the launch template.
83368	//
83369	// Default: The default version for the launch template.
83370	Version *string `type:"string"`
83371}
83372
83373// String returns the string representation
83374func (s LaunchTemplateSpecification) String() string {
83375	return awsutil.Prettify(s)
83376}
83377
83378// GoString returns the string representation
83379func (s LaunchTemplateSpecification) GoString() string {
83380	return s.String()
83381}
83382
83383// SetLaunchTemplateId sets the LaunchTemplateId field's value.
83384func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
83385	s.LaunchTemplateId = &v
83386	return s
83387}
83388
83389// SetLaunchTemplateName sets the LaunchTemplateName field's value.
83390func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
83391	s.LaunchTemplateName = &v
83392	return s
83393}
83394
83395// SetVersion sets the Version field's value.
83396func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
83397	s.Version = &v
83398	return s
83399}
83400
83401// The options for Spot Instances.
83402type LaunchTemplateSpotMarketOptions struct {
83403	_ struct{} `type:"structure"`
83404
83405	// The required duration for the Spot Instances (also known as Spot blocks),
83406	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
83407	// or 360).
83408	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
83409
83410	// The behavior when a Spot Instance is interrupted.
83411	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
83412
83413	// The maximum hourly price you're willing to pay for the Spot Instances.
83414	MaxPrice *string `locationName:"maxPrice" type:"string"`
83415
83416	// The Spot Instance request type.
83417	SpotInstanceType *string `locationName:"spotInstanceType" type:"string" enum:"SpotInstanceType"`
83418
83419	// The end date of the request. For a one-time request, the request remains
83420	// active until all instances launch, the request is canceled, or this date
83421	// is reached. If the request is persistent, it remains active until it is canceled
83422	// or this date and time is reached.
83423	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
83424}
83425
83426// String returns the string representation
83427func (s LaunchTemplateSpotMarketOptions) String() string {
83428	return awsutil.Prettify(s)
83429}
83430
83431// GoString returns the string representation
83432func (s LaunchTemplateSpotMarketOptions) GoString() string {
83433	return s.String()
83434}
83435
83436// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
83437func (s *LaunchTemplateSpotMarketOptions) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptions {
83438	s.BlockDurationMinutes = &v
83439	return s
83440}
83441
83442// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
83443func (s *LaunchTemplateSpotMarketOptions) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptions {
83444	s.InstanceInterruptionBehavior = &v
83445	return s
83446}
83447
83448// SetMaxPrice sets the MaxPrice field's value.
83449func (s *LaunchTemplateSpotMarketOptions) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptions {
83450	s.MaxPrice = &v
83451	return s
83452}
83453
83454// SetSpotInstanceType sets the SpotInstanceType field's value.
83455func (s *LaunchTemplateSpotMarketOptions) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptions {
83456	s.SpotInstanceType = &v
83457	return s
83458}
83459
83460// SetValidUntil sets the ValidUntil field's value.
83461func (s *LaunchTemplateSpotMarketOptions) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptions {
83462	s.ValidUntil = &v
83463	return s
83464}
83465
83466// The options for Spot Instances.
83467type LaunchTemplateSpotMarketOptionsRequest struct {
83468	_ struct{} `type:"structure"`
83469
83470	// The required duration for the Spot Instances (also known as Spot blocks),
83471	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
83472	// or 360).
83473	BlockDurationMinutes *int64 `type:"integer"`
83474
83475	// The behavior when a Spot Instance is interrupted. The default is terminate.
83476	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
83477
83478	// The maximum hourly price you're willing to pay for the Spot Instances.
83479	MaxPrice *string `type:"string"`
83480
83481	// The Spot Instance request type.
83482	SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
83483
83484	// The end date of the request. For a one-time request, the request remains
83485	// active until all instances launch, the request is canceled, or this date
83486	// is reached. If the request is persistent, it remains active until it is canceled
83487	// or this date and time is reached. The default end date is 7 days from the
83488	// current date.
83489	ValidUntil *time.Time `type:"timestamp"`
83490}
83491
83492// String returns the string representation
83493func (s LaunchTemplateSpotMarketOptionsRequest) String() string {
83494	return awsutil.Prettify(s)
83495}
83496
83497// GoString returns the string representation
83498func (s LaunchTemplateSpotMarketOptionsRequest) GoString() string {
83499	return s.String()
83500}
83501
83502// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
83503func (s *LaunchTemplateSpotMarketOptionsRequest) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptionsRequest {
83504	s.BlockDurationMinutes = &v
83505	return s
83506}
83507
83508// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
83509func (s *LaunchTemplateSpotMarketOptionsRequest) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptionsRequest {
83510	s.InstanceInterruptionBehavior = &v
83511	return s
83512}
83513
83514// SetMaxPrice sets the MaxPrice field's value.
83515func (s *LaunchTemplateSpotMarketOptionsRequest) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptionsRequest {
83516	s.MaxPrice = &v
83517	return s
83518}
83519
83520// SetSpotInstanceType sets the SpotInstanceType field's value.
83521func (s *LaunchTemplateSpotMarketOptionsRequest) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptionsRequest {
83522	s.SpotInstanceType = &v
83523	return s
83524}
83525
83526// SetValidUntil sets the ValidUntil field's value.
83527func (s *LaunchTemplateSpotMarketOptionsRequest) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptionsRequest {
83528	s.ValidUntil = &v
83529	return s
83530}
83531
83532// The tag specification for the launch template.
83533type LaunchTemplateTagSpecification struct {
83534	_ struct{} `type:"structure"`
83535
83536	// The type of resource.
83537	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
83538
83539	// The tags for the resource.
83540	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
83541}
83542
83543// String returns the string representation
83544func (s LaunchTemplateTagSpecification) String() string {
83545	return awsutil.Prettify(s)
83546}
83547
83548// GoString returns the string representation
83549func (s LaunchTemplateTagSpecification) GoString() string {
83550	return s.String()
83551}
83552
83553// SetResourceType sets the ResourceType field's value.
83554func (s *LaunchTemplateTagSpecification) SetResourceType(v string) *LaunchTemplateTagSpecification {
83555	s.ResourceType = &v
83556	return s
83557}
83558
83559// SetTags sets the Tags field's value.
83560func (s *LaunchTemplateTagSpecification) SetTags(v []*Tag) *LaunchTemplateTagSpecification {
83561	s.Tags = v
83562	return s
83563}
83564
83565// The tags specification for the launch template.
83566type LaunchTemplateTagSpecificationRequest struct {
83567	_ struct{} `type:"structure"`
83568
83569	// The type of resource to tag. Currently, the resource types that support tagging
83570	// on creation are instance and volume. To tag a resource after it has been
83571	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
83572	ResourceType *string `type:"string" enum:"ResourceType"`
83573
83574	// The tags to apply to the resource.
83575	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
83576}
83577
83578// String returns the string representation
83579func (s LaunchTemplateTagSpecificationRequest) String() string {
83580	return awsutil.Prettify(s)
83581}
83582
83583// GoString returns the string representation
83584func (s LaunchTemplateTagSpecificationRequest) GoString() string {
83585	return s.String()
83586}
83587
83588// SetResourceType sets the ResourceType field's value.
83589func (s *LaunchTemplateTagSpecificationRequest) SetResourceType(v string) *LaunchTemplateTagSpecificationRequest {
83590	s.ResourceType = &v
83591	return s
83592}
83593
83594// SetTags sets the Tags field's value.
83595func (s *LaunchTemplateTagSpecificationRequest) SetTags(v []*Tag) *LaunchTemplateTagSpecificationRequest {
83596	s.Tags = v
83597	return s
83598}
83599
83600// Describes a launch template version.
83601type LaunchTemplateVersion struct {
83602	_ struct{} `type:"structure"`
83603
83604	// The time the version was created.
83605	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
83606
83607	// The principal that created the version.
83608	CreatedBy *string `locationName:"createdBy" type:"string"`
83609
83610	// Indicates whether the version is the default version.
83611	DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
83612
83613	// Information about the launch template.
83614	LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
83615
83616	// The ID of the launch template.
83617	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
83618
83619	// The name of the launch template.
83620	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
83621
83622	// The description for the version.
83623	VersionDescription *string `locationName:"versionDescription" type:"string"`
83624
83625	// The version number.
83626	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
83627}
83628
83629// String returns the string representation
83630func (s LaunchTemplateVersion) String() string {
83631	return awsutil.Prettify(s)
83632}
83633
83634// GoString returns the string representation
83635func (s LaunchTemplateVersion) GoString() string {
83636	return s.String()
83637}
83638
83639// SetCreateTime sets the CreateTime field's value.
83640func (s *LaunchTemplateVersion) SetCreateTime(v time.Time) *LaunchTemplateVersion {
83641	s.CreateTime = &v
83642	return s
83643}
83644
83645// SetCreatedBy sets the CreatedBy field's value.
83646func (s *LaunchTemplateVersion) SetCreatedBy(v string) *LaunchTemplateVersion {
83647	s.CreatedBy = &v
83648	return s
83649}
83650
83651// SetDefaultVersion sets the DefaultVersion field's value.
83652func (s *LaunchTemplateVersion) SetDefaultVersion(v bool) *LaunchTemplateVersion {
83653	s.DefaultVersion = &v
83654	return s
83655}
83656
83657// SetLaunchTemplateData sets the LaunchTemplateData field's value.
83658func (s *LaunchTemplateVersion) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *LaunchTemplateVersion {
83659	s.LaunchTemplateData = v
83660	return s
83661}
83662
83663// SetLaunchTemplateId sets the LaunchTemplateId field's value.
83664func (s *LaunchTemplateVersion) SetLaunchTemplateId(v string) *LaunchTemplateVersion {
83665	s.LaunchTemplateId = &v
83666	return s
83667}
83668
83669// SetLaunchTemplateName sets the LaunchTemplateName field's value.
83670func (s *LaunchTemplateVersion) SetLaunchTemplateName(v string) *LaunchTemplateVersion {
83671	s.LaunchTemplateName = &v
83672	return s
83673}
83674
83675// SetVersionDescription sets the VersionDescription field's value.
83676func (s *LaunchTemplateVersion) SetVersionDescription(v string) *LaunchTemplateVersion {
83677	s.VersionDescription = &v
83678	return s
83679}
83680
83681// SetVersionNumber sets the VersionNumber field's value.
83682func (s *LaunchTemplateVersion) SetVersionNumber(v int64) *LaunchTemplateVersion {
83683	s.VersionNumber = &v
83684	return s
83685}
83686
83687// Describes the monitoring for the instance.
83688type LaunchTemplatesMonitoring struct {
83689	_ struct{} `type:"structure"`
83690
83691	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
83692	// is enabled.
83693	Enabled *bool `locationName:"enabled" type:"boolean"`
83694}
83695
83696// String returns the string representation
83697func (s LaunchTemplatesMonitoring) String() string {
83698	return awsutil.Prettify(s)
83699}
83700
83701// GoString returns the string representation
83702func (s LaunchTemplatesMonitoring) GoString() string {
83703	return s.String()
83704}
83705
83706// SetEnabled sets the Enabled field's value.
83707func (s *LaunchTemplatesMonitoring) SetEnabled(v bool) *LaunchTemplatesMonitoring {
83708	s.Enabled = &v
83709	return s
83710}
83711
83712// Describes the monitoring for the instance.
83713type LaunchTemplatesMonitoringRequest struct {
83714	_ struct{} `type:"structure"`
83715
83716	// Specify true to enable detailed monitoring. Otherwise, basic monitoring is
83717	// enabled.
83718	Enabled *bool `type:"boolean"`
83719}
83720
83721// String returns the string representation
83722func (s LaunchTemplatesMonitoringRequest) String() string {
83723	return awsutil.Prettify(s)
83724}
83725
83726// GoString returns the string representation
83727func (s LaunchTemplatesMonitoringRequest) GoString() string {
83728	return s.String()
83729}
83730
83731// SetEnabled sets the Enabled field's value.
83732func (s *LaunchTemplatesMonitoringRequest) SetEnabled(v bool) *LaunchTemplatesMonitoringRequest {
83733	s.Enabled = &v
83734	return s
83735}
83736
83737// Describes a license configuration.
83738type LicenseConfiguration struct {
83739	_ struct{} `type:"structure"`
83740
83741	// The Amazon Resource Name (ARN) of the license configuration.
83742	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
83743}
83744
83745// String returns the string representation
83746func (s LicenseConfiguration) String() string {
83747	return awsutil.Prettify(s)
83748}
83749
83750// GoString returns the string representation
83751func (s LicenseConfiguration) GoString() string {
83752	return s.String()
83753}
83754
83755// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
83756func (s *LicenseConfiguration) SetLicenseConfigurationArn(v string) *LicenseConfiguration {
83757	s.LicenseConfigurationArn = &v
83758	return s
83759}
83760
83761// Describes a license configuration.
83762type LicenseConfigurationRequest struct {
83763	_ struct{} `type:"structure"`
83764
83765	// The Amazon Resource Name (ARN) of the license configuration.
83766	LicenseConfigurationArn *string `type:"string"`
83767}
83768
83769// String returns the string representation
83770func (s LicenseConfigurationRequest) String() string {
83771	return awsutil.Prettify(s)
83772}
83773
83774// GoString returns the string representation
83775func (s LicenseConfigurationRequest) GoString() string {
83776	return s.String()
83777}
83778
83779// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
83780func (s *LicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LicenseConfigurationRequest {
83781	s.LicenseConfigurationArn = &v
83782	return s
83783}
83784
83785// Describes the Classic Load Balancers and target groups to attach to a Spot
83786// Fleet request.
83787type LoadBalancersConfig struct {
83788	_ struct{} `type:"structure"`
83789
83790	// The Classic Load Balancers.
83791	ClassicLoadBalancersConfig *ClassicLoadBalancersConfig `locationName:"classicLoadBalancersConfig" type:"structure"`
83792
83793	// The target groups.
83794	TargetGroupsConfig *TargetGroupsConfig `locationName:"targetGroupsConfig" type:"structure"`
83795}
83796
83797// String returns the string representation
83798func (s LoadBalancersConfig) String() string {
83799	return awsutil.Prettify(s)
83800}
83801
83802// GoString returns the string representation
83803func (s LoadBalancersConfig) GoString() string {
83804	return s.String()
83805}
83806
83807// Validate inspects the fields of the type to determine if they are valid.
83808func (s *LoadBalancersConfig) Validate() error {
83809	invalidParams := request.ErrInvalidParams{Context: "LoadBalancersConfig"}
83810	if s.ClassicLoadBalancersConfig != nil {
83811		if err := s.ClassicLoadBalancersConfig.Validate(); err != nil {
83812			invalidParams.AddNested("ClassicLoadBalancersConfig", err.(request.ErrInvalidParams))
83813		}
83814	}
83815	if s.TargetGroupsConfig != nil {
83816		if err := s.TargetGroupsConfig.Validate(); err != nil {
83817			invalidParams.AddNested("TargetGroupsConfig", err.(request.ErrInvalidParams))
83818		}
83819	}
83820
83821	if invalidParams.Len() > 0 {
83822		return invalidParams
83823	}
83824	return nil
83825}
83826
83827// SetClassicLoadBalancersConfig sets the ClassicLoadBalancersConfig field's value.
83828func (s *LoadBalancersConfig) SetClassicLoadBalancersConfig(v *ClassicLoadBalancersConfig) *LoadBalancersConfig {
83829	s.ClassicLoadBalancersConfig = v
83830	return s
83831}
83832
83833// SetTargetGroupsConfig sets the TargetGroupsConfig field's value.
83834func (s *LoadBalancersConfig) SetTargetGroupsConfig(v *TargetGroupsConfig) *LoadBalancersConfig {
83835	s.TargetGroupsConfig = v
83836	return s
83837}
83838
83839// Describes a load permission.
83840type LoadPermission struct {
83841	_ struct{} `type:"structure"`
83842
83843	// The name of the group.
83844	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
83845
83846	// The AWS account ID.
83847	UserId *string `locationName:"userId" type:"string"`
83848}
83849
83850// String returns the string representation
83851func (s LoadPermission) String() string {
83852	return awsutil.Prettify(s)
83853}
83854
83855// GoString returns the string representation
83856func (s LoadPermission) GoString() string {
83857	return s.String()
83858}
83859
83860// SetGroup sets the Group field's value.
83861func (s *LoadPermission) SetGroup(v string) *LoadPermission {
83862	s.Group = &v
83863	return s
83864}
83865
83866// SetUserId sets the UserId field's value.
83867func (s *LoadPermission) SetUserId(v string) *LoadPermission {
83868	s.UserId = &v
83869	return s
83870}
83871
83872// Describes modifications to the load permissions of an Amazon FPGA image (AFI).
83873type LoadPermissionModifications struct {
83874	_ struct{} `type:"structure"`
83875
83876	// The load permissions to add.
83877	Add []*LoadPermissionRequest `locationNameList:"item" type:"list"`
83878
83879	// The load permissions to remove.
83880	Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"`
83881}
83882
83883// String returns the string representation
83884func (s LoadPermissionModifications) String() string {
83885	return awsutil.Prettify(s)
83886}
83887
83888// GoString returns the string representation
83889func (s LoadPermissionModifications) GoString() string {
83890	return s.String()
83891}
83892
83893// SetAdd sets the Add field's value.
83894func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications {
83895	s.Add = v
83896	return s
83897}
83898
83899// SetRemove sets the Remove field's value.
83900func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications {
83901	s.Remove = v
83902	return s
83903}
83904
83905// Describes a load permission.
83906type LoadPermissionRequest struct {
83907	_ struct{} `type:"structure"`
83908
83909	// The name of the group.
83910	Group *string `type:"string" enum:"PermissionGroup"`
83911
83912	// The AWS account ID.
83913	UserId *string `type:"string"`
83914}
83915
83916// String returns the string representation
83917func (s LoadPermissionRequest) String() string {
83918	return awsutil.Prettify(s)
83919}
83920
83921// GoString returns the string representation
83922func (s LoadPermissionRequest) GoString() string {
83923	return s.String()
83924}
83925
83926// SetGroup sets the Group field's value.
83927func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest {
83928	s.Group = &v
83929	return s
83930}
83931
83932// SetUserId sets the UserId field's value.
83933func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
83934	s.UserId = &v
83935	return s
83936}
83937
83938// Describes a local gateway.
83939type LocalGateway struct {
83940	_ struct{} `type:"structure"`
83941
83942	// The ID of the local gateway.
83943	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
83944
83945	// The Amazon Resource Name (ARN) of the Outpost.
83946	OutpostArn *string `locationName:"outpostArn" type:"string"`
83947
83948	// The ID of the AWS account ID that owns the local gateway.
83949	OwnerId *string `locationName:"ownerId" type:"string"`
83950
83951	// The state of the local gateway.
83952	State *string `locationName:"state" type:"string"`
83953
83954	// The tags assigned to the local gateway.
83955	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
83956}
83957
83958// String returns the string representation
83959func (s LocalGateway) String() string {
83960	return awsutil.Prettify(s)
83961}
83962
83963// GoString returns the string representation
83964func (s LocalGateway) GoString() string {
83965	return s.String()
83966}
83967
83968// SetLocalGatewayId sets the LocalGatewayId field's value.
83969func (s *LocalGateway) SetLocalGatewayId(v string) *LocalGateway {
83970	s.LocalGatewayId = &v
83971	return s
83972}
83973
83974// SetOutpostArn sets the OutpostArn field's value.
83975func (s *LocalGateway) SetOutpostArn(v string) *LocalGateway {
83976	s.OutpostArn = &v
83977	return s
83978}
83979
83980// SetOwnerId sets the OwnerId field's value.
83981func (s *LocalGateway) SetOwnerId(v string) *LocalGateway {
83982	s.OwnerId = &v
83983	return s
83984}
83985
83986// SetState sets the State field's value.
83987func (s *LocalGateway) SetState(v string) *LocalGateway {
83988	s.State = &v
83989	return s
83990}
83991
83992// SetTags sets the Tags field's value.
83993func (s *LocalGateway) SetTags(v []*Tag) *LocalGateway {
83994	s.Tags = v
83995	return s
83996}
83997
83998// Describes a route for a local gateway route table.
83999type LocalGatewayRoute struct {
84000	_ struct{} `type:"structure"`
84001
84002	// The CIDR block used for destination matches.
84003	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
84004
84005	// The ID of the local gateway route table.
84006	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
84007
84008	// The ID of the virtual interface group.
84009	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
84010
84011	// The state of the route.
84012	State *string `locationName:"state" type:"string" enum:"LocalGatewayRouteState"`
84013
84014	// The route type.
84015	Type *string `locationName:"type" type:"string" enum:"LocalGatewayRouteType"`
84016}
84017
84018// String returns the string representation
84019func (s LocalGatewayRoute) String() string {
84020	return awsutil.Prettify(s)
84021}
84022
84023// GoString returns the string representation
84024func (s LocalGatewayRoute) GoString() string {
84025	return s.String()
84026}
84027
84028// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
84029func (s *LocalGatewayRoute) SetDestinationCidrBlock(v string) *LocalGatewayRoute {
84030	s.DestinationCidrBlock = &v
84031	return s
84032}
84033
84034// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
84035func (s *LocalGatewayRoute) SetLocalGatewayRouteTableId(v string) *LocalGatewayRoute {
84036	s.LocalGatewayRouteTableId = &v
84037	return s
84038}
84039
84040// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
84041func (s *LocalGatewayRoute) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRoute {
84042	s.LocalGatewayVirtualInterfaceGroupId = &v
84043	return s
84044}
84045
84046// SetState sets the State field's value.
84047func (s *LocalGatewayRoute) SetState(v string) *LocalGatewayRoute {
84048	s.State = &v
84049	return s
84050}
84051
84052// SetType sets the Type field's value.
84053func (s *LocalGatewayRoute) SetType(v string) *LocalGatewayRoute {
84054	s.Type = &v
84055	return s
84056}
84057
84058// Describes a local gateway route table.
84059type LocalGatewayRouteTable struct {
84060	_ struct{} `type:"structure"`
84061
84062	// The ID of the local gateway.
84063	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
84064
84065	// The ID of the local gateway route table.
84066	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
84067
84068	// The Amazon Resource Name (ARN) of the Outpost.
84069	OutpostArn *string `locationName:"outpostArn" type:"string"`
84070
84071	// The state of the local gateway route table.
84072	State *string `locationName:"state" type:"string"`
84073
84074	// The tags assigned to the local gateway route table.
84075	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
84076}
84077
84078// String returns the string representation
84079func (s LocalGatewayRouteTable) String() string {
84080	return awsutil.Prettify(s)
84081}
84082
84083// GoString returns the string representation
84084func (s LocalGatewayRouteTable) GoString() string {
84085	return s.String()
84086}
84087
84088// SetLocalGatewayId sets the LocalGatewayId field's value.
84089func (s *LocalGatewayRouteTable) SetLocalGatewayId(v string) *LocalGatewayRouteTable {
84090	s.LocalGatewayId = &v
84091	return s
84092}
84093
84094// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
84095func (s *LocalGatewayRouteTable) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTable {
84096	s.LocalGatewayRouteTableId = &v
84097	return s
84098}
84099
84100// SetOutpostArn sets the OutpostArn field's value.
84101func (s *LocalGatewayRouteTable) SetOutpostArn(v string) *LocalGatewayRouteTable {
84102	s.OutpostArn = &v
84103	return s
84104}
84105
84106// SetState sets the State field's value.
84107func (s *LocalGatewayRouteTable) SetState(v string) *LocalGatewayRouteTable {
84108	s.State = &v
84109	return s
84110}
84111
84112// SetTags sets the Tags field's value.
84113func (s *LocalGatewayRouteTable) SetTags(v []*Tag) *LocalGatewayRouteTable {
84114	s.Tags = v
84115	return s
84116}
84117
84118// Describes an association between a local gateway route table and a virtual
84119// interface group.
84120type LocalGatewayRouteTableVirtualInterfaceGroupAssociation struct {
84121	_ struct{} `type:"structure"`
84122
84123	// The ID of the local gateway.
84124	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
84125
84126	// The ID of the local gateway route table.
84127	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
84128
84129	// The ID of the association.
84130	LocalGatewayRouteTableVirtualInterfaceGroupAssociationId *string `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationId" type:"string"`
84131
84132	// The ID of the virtual interface group.
84133	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
84134
84135	// The state of the association.
84136	State *string `locationName:"state" type:"string"`
84137
84138	// The tags assigned to the association.
84139	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
84140}
84141
84142// String returns the string representation
84143func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) String() string {
84144	return awsutil.Prettify(s)
84145}
84146
84147// GoString returns the string representation
84148func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) GoString() string {
84149	return s.String()
84150}
84151
84152// SetLocalGatewayId sets the LocalGatewayId field's value.
84153func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
84154	s.LocalGatewayId = &v
84155	return s
84156}
84157
84158// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
84159func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
84160	s.LocalGatewayRouteTableId = &v
84161	return s
84162}
84163
84164// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationId field's value.
84165func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
84166	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationId = &v
84167	return s
84168}
84169
84170// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
84171func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
84172	s.LocalGatewayVirtualInterfaceGroupId = &v
84173	return s
84174}
84175
84176// SetState sets the State field's value.
84177func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetState(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
84178	s.State = &v
84179	return s
84180}
84181
84182// SetTags sets the Tags field's value.
84183func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetTags(v []*Tag) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
84184	s.Tags = v
84185	return s
84186}
84187
84188// Describes an association between a local gateway route table and a VPC.
84189type LocalGatewayRouteTableVpcAssociation struct {
84190	_ struct{} `type:"structure"`
84191
84192	// The ID of the local gateway.
84193	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
84194
84195	// The ID of the local gateway route table.
84196	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
84197
84198	// The ID of the association.
84199	LocalGatewayRouteTableVpcAssociationId *string `locationName:"localGatewayRouteTableVpcAssociationId" type:"string"`
84200
84201	// The state of the association.
84202	State *string `locationName:"state" type:"string"`
84203
84204	// The tags assigned to the association.
84205	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
84206
84207	// The ID of the VPC.
84208	VpcId *string `locationName:"vpcId" type:"string"`
84209}
84210
84211// String returns the string representation
84212func (s LocalGatewayRouteTableVpcAssociation) String() string {
84213	return awsutil.Prettify(s)
84214}
84215
84216// GoString returns the string representation
84217func (s LocalGatewayRouteTableVpcAssociation) GoString() string {
84218	return s.String()
84219}
84220
84221// SetLocalGatewayId sets the LocalGatewayId field's value.
84222func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVpcAssociation {
84223	s.LocalGatewayId = &v
84224	return s
84225}
84226
84227// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
84228func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVpcAssociation {
84229	s.LocalGatewayRouteTableId = &v
84230	return s
84231}
84232
84233// SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
84234func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableVpcAssociationId(v string) *LocalGatewayRouteTableVpcAssociation {
84235	s.LocalGatewayRouteTableVpcAssociationId = &v
84236	return s
84237}
84238
84239// SetState sets the State field's value.
84240func (s *LocalGatewayRouteTableVpcAssociation) SetState(v string) *LocalGatewayRouteTableVpcAssociation {
84241	s.State = &v
84242	return s
84243}
84244
84245// SetTags sets the Tags field's value.
84246func (s *LocalGatewayRouteTableVpcAssociation) SetTags(v []*Tag) *LocalGatewayRouteTableVpcAssociation {
84247	s.Tags = v
84248	return s
84249}
84250
84251// SetVpcId sets the VpcId field's value.
84252func (s *LocalGatewayRouteTableVpcAssociation) SetVpcId(v string) *LocalGatewayRouteTableVpcAssociation {
84253	s.VpcId = &v
84254	return s
84255}
84256
84257// Describes a local gateway virtual interface.
84258type LocalGatewayVirtualInterface struct {
84259	_ struct{} `type:"structure"`
84260
84261	// The local address.
84262	LocalAddress *string `locationName:"localAddress" type:"string"`
84263
84264	// The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local
84265	// gateway.
84266	LocalBgpAsn *int64 `locationName:"localBgpAsn" type:"integer"`
84267
84268	// The ID of the local gateway.
84269	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
84270
84271	// The ID of the virtual interface.
84272	LocalGatewayVirtualInterfaceId *string `locationName:"localGatewayVirtualInterfaceId" type:"string"`
84273
84274	// The peer address.
84275	PeerAddress *string `locationName:"peerAddress" type:"string"`
84276
84277	// The peer BGP ASN.
84278	PeerBgpAsn *int64 `locationName:"peerBgpAsn" type:"integer"`
84279
84280	// The tags assigned to the virtual interface.
84281	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
84282
84283	// The ID of the VLAN.
84284	Vlan *int64 `locationName:"vlan" type:"integer"`
84285}
84286
84287// String returns the string representation
84288func (s LocalGatewayVirtualInterface) String() string {
84289	return awsutil.Prettify(s)
84290}
84291
84292// GoString returns the string representation
84293func (s LocalGatewayVirtualInterface) GoString() string {
84294	return s.String()
84295}
84296
84297// SetLocalAddress sets the LocalAddress field's value.
84298func (s *LocalGatewayVirtualInterface) SetLocalAddress(v string) *LocalGatewayVirtualInterface {
84299	s.LocalAddress = &v
84300	return s
84301}
84302
84303// SetLocalBgpAsn sets the LocalBgpAsn field's value.
84304func (s *LocalGatewayVirtualInterface) SetLocalBgpAsn(v int64) *LocalGatewayVirtualInterface {
84305	s.LocalBgpAsn = &v
84306	return s
84307}
84308
84309// SetLocalGatewayId sets the LocalGatewayId field's value.
84310func (s *LocalGatewayVirtualInterface) SetLocalGatewayId(v string) *LocalGatewayVirtualInterface {
84311	s.LocalGatewayId = &v
84312	return s
84313}
84314
84315// SetLocalGatewayVirtualInterfaceId sets the LocalGatewayVirtualInterfaceId field's value.
84316func (s *LocalGatewayVirtualInterface) SetLocalGatewayVirtualInterfaceId(v string) *LocalGatewayVirtualInterface {
84317	s.LocalGatewayVirtualInterfaceId = &v
84318	return s
84319}
84320
84321// SetPeerAddress sets the PeerAddress field's value.
84322func (s *LocalGatewayVirtualInterface) SetPeerAddress(v string) *LocalGatewayVirtualInterface {
84323	s.PeerAddress = &v
84324	return s
84325}
84326
84327// SetPeerBgpAsn sets the PeerBgpAsn field's value.
84328func (s *LocalGatewayVirtualInterface) SetPeerBgpAsn(v int64) *LocalGatewayVirtualInterface {
84329	s.PeerBgpAsn = &v
84330	return s
84331}
84332
84333// SetTags sets the Tags field's value.
84334func (s *LocalGatewayVirtualInterface) SetTags(v []*Tag) *LocalGatewayVirtualInterface {
84335	s.Tags = v
84336	return s
84337}
84338
84339// SetVlan sets the Vlan field's value.
84340func (s *LocalGatewayVirtualInterface) SetVlan(v int64) *LocalGatewayVirtualInterface {
84341	s.Vlan = &v
84342	return s
84343}
84344
84345// Describes a local gateway virtual interface group.
84346type LocalGatewayVirtualInterfaceGroup struct {
84347	_ struct{} `type:"structure"`
84348
84349	// The ID of the local gateway.
84350	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
84351
84352	// The ID of the virtual interface group.
84353	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
84354
84355	// The IDs of the virtual interfaces.
84356	LocalGatewayVirtualInterfaceIds []*string `locationName:"localGatewayVirtualInterfaceIdSet" locationNameList:"item" type:"list"`
84357
84358	// The tags assigned to the virtual interface group.
84359	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
84360}
84361
84362// String returns the string representation
84363func (s LocalGatewayVirtualInterfaceGroup) String() string {
84364	return awsutil.Prettify(s)
84365}
84366
84367// GoString returns the string representation
84368func (s LocalGatewayVirtualInterfaceGroup) GoString() string {
84369	return s.String()
84370}
84371
84372// SetLocalGatewayId sets the LocalGatewayId field's value.
84373func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayId(v string) *LocalGatewayVirtualInterfaceGroup {
84374	s.LocalGatewayId = &v
84375	return s
84376}
84377
84378// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
84379func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayVirtualInterfaceGroup {
84380	s.LocalGatewayVirtualInterfaceGroupId = &v
84381	return s
84382}
84383
84384// SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
84385func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceIds(v []*string) *LocalGatewayVirtualInterfaceGroup {
84386	s.LocalGatewayVirtualInterfaceIds = v
84387	return s
84388}
84389
84390// SetTags sets the Tags field's value.
84391func (s *LocalGatewayVirtualInterfaceGroup) SetTags(v []*Tag) *LocalGatewayVirtualInterfaceGroup {
84392	s.Tags = v
84393	return s
84394}
84395
84396// Describes the memory for the instance type.
84397type MemoryInfo struct {
84398	_ struct{} `type:"structure"`
84399
84400	// Size of the memory, in MiB.
84401	SizeInMiB *int64 `locationName:"sizeInMiB" type:"long"`
84402}
84403
84404// String returns the string representation
84405func (s MemoryInfo) String() string {
84406	return awsutil.Prettify(s)
84407}
84408
84409// GoString returns the string representation
84410func (s MemoryInfo) GoString() string {
84411	return s.String()
84412}
84413
84414// SetSizeInMiB sets the SizeInMiB field's value.
84415func (s *MemoryInfo) SetSizeInMiB(v int64) *MemoryInfo {
84416	s.SizeInMiB = &v
84417	return s
84418}
84419
84420type ModifyAvailabilityZoneGroupInput struct {
84421	_ struct{} `type:"structure"`
84422
84423	// Checks whether you have the required permissions for the action, without
84424	// actually making the request, and provides an error response. If you have
84425	// the required permissions, the error response is DryRunOperation. Otherwise,
84426	// it is UnauthorizedOperation.
84427	DryRun *bool `type:"boolean"`
84428
84429	// The names of the Zone Group.
84430	//
84431	// GroupName is a required field
84432	GroupName *string `type:"string" required:"true"`
84433
84434	// Indicates whether to enable or disable Zone Group membership. The valid values
84435	// are opted-in.
84436	//
84437	// OptInStatus is a required field
84438	OptInStatus *string `type:"string" required:"true" enum:"ModifyAvailabilityZoneOptInStatus"`
84439}
84440
84441// String returns the string representation
84442func (s ModifyAvailabilityZoneGroupInput) String() string {
84443	return awsutil.Prettify(s)
84444}
84445
84446// GoString returns the string representation
84447func (s ModifyAvailabilityZoneGroupInput) GoString() string {
84448	return s.String()
84449}
84450
84451// Validate inspects the fields of the type to determine if they are valid.
84452func (s *ModifyAvailabilityZoneGroupInput) Validate() error {
84453	invalidParams := request.ErrInvalidParams{Context: "ModifyAvailabilityZoneGroupInput"}
84454	if s.GroupName == nil {
84455		invalidParams.Add(request.NewErrParamRequired("GroupName"))
84456	}
84457	if s.OptInStatus == nil {
84458		invalidParams.Add(request.NewErrParamRequired("OptInStatus"))
84459	}
84460
84461	if invalidParams.Len() > 0 {
84462		return invalidParams
84463	}
84464	return nil
84465}
84466
84467// SetDryRun sets the DryRun field's value.
84468func (s *ModifyAvailabilityZoneGroupInput) SetDryRun(v bool) *ModifyAvailabilityZoneGroupInput {
84469	s.DryRun = &v
84470	return s
84471}
84472
84473// SetGroupName sets the GroupName field's value.
84474func (s *ModifyAvailabilityZoneGroupInput) SetGroupName(v string) *ModifyAvailabilityZoneGroupInput {
84475	s.GroupName = &v
84476	return s
84477}
84478
84479// SetOptInStatus sets the OptInStatus field's value.
84480func (s *ModifyAvailabilityZoneGroupInput) SetOptInStatus(v string) *ModifyAvailabilityZoneGroupInput {
84481	s.OptInStatus = &v
84482	return s
84483}
84484
84485type ModifyAvailabilityZoneGroupOutput struct {
84486	_ struct{} `type:"structure"`
84487
84488	// Is true if the request succeeds, and an error otherwise.
84489	Return *bool `locationName:"return" type:"boolean"`
84490}
84491
84492// String returns the string representation
84493func (s ModifyAvailabilityZoneGroupOutput) String() string {
84494	return awsutil.Prettify(s)
84495}
84496
84497// GoString returns the string representation
84498func (s ModifyAvailabilityZoneGroupOutput) GoString() string {
84499	return s.String()
84500}
84501
84502// SetReturn sets the Return field's value.
84503func (s *ModifyAvailabilityZoneGroupOutput) SetReturn(v bool) *ModifyAvailabilityZoneGroupOutput {
84504	s.Return = &v
84505	return s
84506}
84507
84508type ModifyCapacityReservationInput struct {
84509	_ struct{} `type:"structure"`
84510
84511	// The ID of the Capacity Reservation.
84512	//
84513	// CapacityReservationId is a required field
84514	CapacityReservationId *string `type:"string" required:"true"`
84515
84516	// Checks whether you have the required permissions for the action, without
84517	// actually making the request, and provides an error response. If you have
84518	// the required permissions, the error response is DryRunOperation. Otherwise,
84519	// it is UnauthorizedOperation.
84520	DryRun *bool `type:"boolean"`
84521
84522	// The date and time at which the Capacity Reservation expires. When a Capacity
84523	// Reservation expires, the reserved capacity is released and you can no longer
84524	// launch instances into it. The Capacity Reservation's state changes to expired
84525	// when it reaches its end date and time.
84526	//
84527	// The Capacity Reservation is cancelled within an hour from the specified time.
84528	// For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation
84529	// is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
84530	//
84531	// You must provide an EndDate value if EndDateType is limited. Omit EndDate
84532	// if EndDateType is unlimited.
84533	EndDate *time.Time `type:"timestamp"`
84534
84535	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
84536	// can have one of the following end types:
84537	//
84538	//    * unlimited - The Capacity Reservation remains active until you explicitly
84539	//    cancel it. Do not provide an EndDate value if EndDateType is unlimited.
84540	//
84541	//    * limited - The Capacity Reservation expires automatically at a specified
84542	//    date and time. You must provide an EndDate value if EndDateType is limited.
84543	EndDateType *string `type:"string" enum:"EndDateType"`
84544
84545	// The number of instances for which to reserve capacity.
84546	InstanceCount *int64 `type:"integer"`
84547}
84548
84549// String returns the string representation
84550func (s ModifyCapacityReservationInput) String() string {
84551	return awsutil.Prettify(s)
84552}
84553
84554// GoString returns the string representation
84555func (s ModifyCapacityReservationInput) GoString() string {
84556	return s.String()
84557}
84558
84559// Validate inspects the fields of the type to determine if they are valid.
84560func (s *ModifyCapacityReservationInput) Validate() error {
84561	invalidParams := request.ErrInvalidParams{Context: "ModifyCapacityReservationInput"}
84562	if s.CapacityReservationId == nil {
84563		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
84564	}
84565
84566	if invalidParams.Len() > 0 {
84567		return invalidParams
84568	}
84569	return nil
84570}
84571
84572// SetCapacityReservationId sets the CapacityReservationId field's value.
84573func (s *ModifyCapacityReservationInput) SetCapacityReservationId(v string) *ModifyCapacityReservationInput {
84574	s.CapacityReservationId = &v
84575	return s
84576}
84577
84578// SetDryRun sets the DryRun field's value.
84579func (s *ModifyCapacityReservationInput) SetDryRun(v bool) *ModifyCapacityReservationInput {
84580	s.DryRun = &v
84581	return s
84582}
84583
84584// SetEndDate sets the EndDate field's value.
84585func (s *ModifyCapacityReservationInput) SetEndDate(v time.Time) *ModifyCapacityReservationInput {
84586	s.EndDate = &v
84587	return s
84588}
84589
84590// SetEndDateType sets the EndDateType field's value.
84591func (s *ModifyCapacityReservationInput) SetEndDateType(v string) *ModifyCapacityReservationInput {
84592	s.EndDateType = &v
84593	return s
84594}
84595
84596// SetInstanceCount sets the InstanceCount field's value.
84597func (s *ModifyCapacityReservationInput) SetInstanceCount(v int64) *ModifyCapacityReservationInput {
84598	s.InstanceCount = &v
84599	return s
84600}
84601
84602type ModifyCapacityReservationOutput struct {
84603	_ struct{} `type:"structure"`
84604
84605	// Returns true if the request succeeds; otherwise, it returns an error.
84606	Return *bool `locationName:"return" type:"boolean"`
84607}
84608
84609// String returns the string representation
84610func (s ModifyCapacityReservationOutput) String() string {
84611	return awsutil.Prettify(s)
84612}
84613
84614// GoString returns the string representation
84615func (s ModifyCapacityReservationOutput) GoString() string {
84616	return s.String()
84617}
84618
84619// SetReturn sets the Return field's value.
84620func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReservationOutput {
84621	s.Return = &v
84622	return s
84623}
84624
84625type ModifyClientVpnEndpointInput struct {
84626	_ struct{} `type:"structure"`
84627
84628	// The ID of the Client VPN endpoint to modify.
84629	//
84630	// ClientVpnEndpointId is a required field
84631	ClientVpnEndpointId *string `type:"string" required:"true"`
84632
84633	// Information about the client connection logging options.
84634	//
84635	// If you enable client connection logging, data about client connections is
84636	// sent to a Cloudwatch Logs log stream. The following information is logged:
84637	//
84638	//    * Client connection requests
84639	//
84640	//    * Client connection results (successful and unsuccessful)
84641	//
84642	//    * Reasons for unsuccessful client connection requests
84643	//
84644	//    * Client connection termination time
84645	ConnectionLogOptions *ConnectionLogOptions `type:"structure"`
84646
84647	// A brief description of the Client VPN endpoint.
84648	Description *string `type:"string"`
84649
84650	// Information about the DNS servers to be used by Client VPN connections. A
84651	// Client VPN endpoint can have up to two DNS servers.
84652	DnsServers *DnsServersOptionsModifyStructure `type:"structure"`
84653
84654	// Checks whether you have the required permissions for the action, without
84655	// actually making the request, and provides an error response. If you have
84656	// the required permissions, the error response is DryRunOperation. Otherwise,
84657	// it is UnauthorizedOperation.
84658	DryRun *bool `type:"boolean"`
84659
84660	// The IDs of one or more security groups to apply to the target network.
84661	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
84662
84663	// The ARN of the server certificate to be used. The server certificate must
84664	// be provisioned in AWS Certificate Manager (ACM).
84665	ServerCertificateArn *string `type:"string"`
84666
84667	// Indicates whether the VPN is split-tunnel.
84668	//
84669	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
84670	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
84671	// in the AWS Client VPN Administrator Guide.
84672	SplitTunnel *bool `type:"boolean"`
84673
84674	// The ID of the VPC to associate with the Client VPN endpoint.
84675	VpcId *string `type:"string"`
84676
84677	// The port number to assign to the Client VPN endpoint for TCP and UDP traffic.
84678	//
84679	// Valid Values: 443 | 1194
84680	//
84681	// Default Value: 443
84682	VpnPort *int64 `type:"integer"`
84683}
84684
84685// String returns the string representation
84686func (s ModifyClientVpnEndpointInput) String() string {
84687	return awsutil.Prettify(s)
84688}
84689
84690// GoString returns the string representation
84691func (s ModifyClientVpnEndpointInput) GoString() string {
84692	return s.String()
84693}
84694
84695// Validate inspects the fields of the type to determine if they are valid.
84696func (s *ModifyClientVpnEndpointInput) Validate() error {
84697	invalidParams := request.ErrInvalidParams{Context: "ModifyClientVpnEndpointInput"}
84698	if s.ClientVpnEndpointId == nil {
84699		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
84700	}
84701
84702	if invalidParams.Len() > 0 {
84703		return invalidParams
84704	}
84705	return nil
84706}
84707
84708// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
84709func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput {
84710	s.ClientVpnEndpointId = &v
84711	return s
84712}
84713
84714// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
84715func (s *ModifyClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *ModifyClientVpnEndpointInput {
84716	s.ConnectionLogOptions = v
84717	return s
84718}
84719
84720// SetDescription sets the Description field's value.
84721func (s *ModifyClientVpnEndpointInput) SetDescription(v string) *ModifyClientVpnEndpointInput {
84722	s.Description = &v
84723	return s
84724}
84725
84726// SetDnsServers sets the DnsServers field's value.
84727func (s *ModifyClientVpnEndpointInput) SetDnsServers(v *DnsServersOptionsModifyStructure) *ModifyClientVpnEndpointInput {
84728	s.DnsServers = v
84729	return s
84730}
84731
84732// SetDryRun sets the DryRun field's value.
84733func (s *ModifyClientVpnEndpointInput) SetDryRun(v bool) *ModifyClientVpnEndpointInput {
84734	s.DryRun = &v
84735	return s
84736}
84737
84738// SetSecurityGroupIds sets the SecurityGroupIds field's value.
84739func (s *ModifyClientVpnEndpointInput) SetSecurityGroupIds(v []*string) *ModifyClientVpnEndpointInput {
84740	s.SecurityGroupIds = v
84741	return s
84742}
84743
84744// SetServerCertificateArn sets the ServerCertificateArn field's value.
84745func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *ModifyClientVpnEndpointInput {
84746	s.ServerCertificateArn = &v
84747	return s
84748}
84749
84750// SetSplitTunnel sets the SplitTunnel field's value.
84751func (s *ModifyClientVpnEndpointInput) SetSplitTunnel(v bool) *ModifyClientVpnEndpointInput {
84752	s.SplitTunnel = &v
84753	return s
84754}
84755
84756// SetVpcId sets the VpcId field's value.
84757func (s *ModifyClientVpnEndpointInput) SetVpcId(v string) *ModifyClientVpnEndpointInput {
84758	s.VpcId = &v
84759	return s
84760}
84761
84762// SetVpnPort sets the VpnPort field's value.
84763func (s *ModifyClientVpnEndpointInput) SetVpnPort(v int64) *ModifyClientVpnEndpointInput {
84764	s.VpnPort = &v
84765	return s
84766}
84767
84768type ModifyClientVpnEndpointOutput struct {
84769	_ struct{} `type:"structure"`
84770
84771	// Returns true if the request succeeds; otherwise, it returns an error.
84772	Return *bool `locationName:"return" type:"boolean"`
84773}
84774
84775// String returns the string representation
84776func (s ModifyClientVpnEndpointOutput) String() string {
84777	return awsutil.Prettify(s)
84778}
84779
84780// GoString returns the string representation
84781func (s ModifyClientVpnEndpointOutput) GoString() string {
84782	return s.String()
84783}
84784
84785// SetReturn sets the Return field's value.
84786func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpointOutput {
84787	s.Return = &v
84788	return s
84789}
84790
84791type ModifyDefaultCreditSpecificationInput struct {
84792	_ struct{} `type:"structure"`
84793
84794	// The credit option for CPU usage of the instance family.
84795	//
84796	// Valid Values: standard | unlimited
84797	//
84798	// CpuCredits is a required field
84799	CpuCredits *string `type:"string" required:"true"`
84800
84801	// Checks whether you have the required permissions for the action, without
84802	// actually making the request, and provides an error response. If you have
84803	// the required permissions, the error response is DryRunOperation. Otherwise,
84804	// it is UnauthorizedOperation.
84805	DryRun *bool `type:"boolean"`
84806
84807	// The instance family.
84808	//
84809	// InstanceFamily is a required field
84810	InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
84811}
84812
84813// String returns the string representation
84814func (s ModifyDefaultCreditSpecificationInput) String() string {
84815	return awsutil.Prettify(s)
84816}
84817
84818// GoString returns the string representation
84819func (s ModifyDefaultCreditSpecificationInput) GoString() string {
84820	return s.String()
84821}
84822
84823// Validate inspects the fields of the type to determine if they are valid.
84824func (s *ModifyDefaultCreditSpecificationInput) Validate() error {
84825	invalidParams := request.ErrInvalidParams{Context: "ModifyDefaultCreditSpecificationInput"}
84826	if s.CpuCredits == nil {
84827		invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
84828	}
84829	if s.InstanceFamily == nil {
84830		invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
84831	}
84832
84833	if invalidParams.Len() > 0 {
84834		return invalidParams
84835	}
84836	return nil
84837}
84838
84839// SetCpuCredits sets the CpuCredits field's value.
84840func (s *ModifyDefaultCreditSpecificationInput) SetCpuCredits(v string) *ModifyDefaultCreditSpecificationInput {
84841	s.CpuCredits = &v
84842	return s
84843}
84844
84845// SetDryRun sets the DryRun field's value.
84846func (s *ModifyDefaultCreditSpecificationInput) SetDryRun(v bool) *ModifyDefaultCreditSpecificationInput {
84847	s.DryRun = &v
84848	return s
84849}
84850
84851// SetInstanceFamily sets the InstanceFamily field's value.
84852func (s *ModifyDefaultCreditSpecificationInput) SetInstanceFamily(v string) *ModifyDefaultCreditSpecificationInput {
84853	s.InstanceFamily = &v
84854	return s
84855}
84856
84857type ModifyDefaultCreditSpecificationOutput struct {
84858	_ struct{} `type:"structure"`
84859
84860	// The default credit option for CPU usage of the instance family.
84861	InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
84862}
84863
84864// String returns the string representation
84865func (s ModifyDefaultCreditSpecificationOutput) String() string {
84866	return awsutil.Prettify(s)
84867}
84868
84869// GoString returns the string representation
84870func (s ModifyDefaultCreditSpecificationOutput) GoString() string {
84871	return s.String()
84872}
84873
84874// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
84875func (s *ModifyDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *ModifyDefaultCreditSpecificationOutput {
84876	s.InstanceFamilyCreditSpecification = v
84877	return s
84878}
84879
84880type ModifyEbsDefaultKmsKeyIdInput struct {
84881	_ struct{} `type:"structure"`
84882
84883	// Checks whether you have the required permissions for the action, without
84884	// actually making the request, and provides an error response. If you have
84885	// the required permissions, the error response is DryRunOperation. Otherwise,
84886	// it is UnauthorizedOperation.
84887	DryRun *bool `type:"boolean"`
84888
84889	// The identifier of the AWS Key Management Service (AWS KMS) customer master
84890	// key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
84891	// your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
84892	// state must be true.
84893	//
84894	// You can specify the CMK using any of the following:
84895	//
84896	//    * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
84897	//
84898	//    * Key alias. For example, alias/ExampleAlias.
84899	//
84900	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
84901	//
84902	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
84903	//
84904	// AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
84905	// alias, or ARN that is not valid, the action can appear to complete, but eventually
84906	// fails.
84907	//
84908	// Amazon EBS does not support asymmetric CMKs.
84909	//
84910	// KmsKeyId is a required field
84911	KmsKeyId *string `type:"string" required:"true"`
84912}
84913
84914// String returns the string representation
84915func (s ModifyEbsDefaultKmsKeyIdInput) String() string {
84916	return awsutil.Prettify(s)
84917}
84918
84919// GoString returns the string representation
84920func (s ModifyEbsDefaultKmsKeyIdInput) GoString() string {
84921	return s.String()
84922}
84923
84924// Validate inspects the fields of the type to determine if they are valid.
84925func (s *ModifyEbsDefaultKmsKeyIdInput) Validate() error {
84926	invalidParams := request.ErrInvalidParams{Context: "ModifyEbsDefaultKmsKeyIdInput"}
84927	if s.KmsKeyId == nil {
84928		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
84929	}
84930
84931	if invalidParams.Len() > 0 {
84932		return invalidParams
84933	}
84934	return nil
84935}
84936
84937// SetDryRun sets the DryRun field's value.
84938func (s *ModifyEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ModifyEbsDefaultKmsKeyIdInput {
84939	s.DryRun = &v
84940	return s
84941}
84942
84943// SetKmsKeyId sets the KmsKeyId field's value.
84944func (s *ModifyEbsDefaultKmsKeyIdInput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdInput {
84945	s.KmsKeyId = &v
84946	return s
84947}
84948
84949type ModifyEbsDefaultKmsKeyIdOutput struct {
84950	_ struct{} `type:"structure"`
84951
84952	// The Amazon Resource Name (ARN) of the default CMK for encryption by default.
84953	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
84954}
84955
84956// String returns the string representation
84957func (s ModifyEbsDefaultKmsKeyIdOutput) String() string {
84958	return awsutil.Prettify(s)
84959}
84960
84961// GoString returns the string representation
84962func (s ModifyEbsDefaultKmsKeyIdOutput) GoString() string {
84963	return s.String()
84964}
84965
84966// SetKmsKeyId sets the KmsKeyId field's value.
84967func (s *ModifyEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdOutput {
84968	s.KmsKeyId = &v
84969	return s
84970}
84971
84972type ModifyFleetInput struct {
84973	_ struct{} `type:"structure"`
84974
84975	// Checks whether you have the required permissions for the action, without
84976	// actually making the request, and provides an error response. If you have
84977	// the required permissions, the error response is DryRunOperation. Otherwise,
84978	// it is UnauthorizedOperation.
84979	DryRun *bool `type:"boolean"`
84980
84981	// Indicates whether running instances should be terminated if the total target
84982	// capacity of the EC2 Fleet is decreased below the current size of the EC2
84983	// Fleet.
84984	ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
84985
84986	// The ID of the EC2 Fleet.
84987	//
84988	// FleetId is a required field
84989	FleetId *string `type:"string" required:"true"`
84990
84991	// The size of the EC2 Fleet.
84992	//
84993	// TargetCapacitySpecification is a required field
84994	TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
84995}
84996
84997// String returns the string representation
84998func (s ModifyFleetInput) String() string {
84999	return awsutil.Prettify(s)
85000}
85001
85002// GoString returns the string representation
85003func (s ModifyFleetInput) GoString() string {
85004	return s.String()
85005}
85006
85007// Validate inspects the fields of the type to determine if they are valid.
85008func (s *ModifyFleetInput) Validate() error {
85009	invalidParams := request.ErrInvalidParams{Context: "ModifyFleetInput"}
85010	if s.FleetId == nil {
85011		invalidParams.Add(request.NewErrParamRequired("FleetId"))
85012	}
85013	if s.TargetCapacitySpecification == nil {
85014		invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
85015	}
85016	if s.TargetCapacitySpecification != nil {
85017		if err := s.TargetCapacitySpecification.Validate(); err != nil {
85018			invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
85019		}
85020	}
85021
85022	if invalidParams.Len() > 0 {
85023		return invalidParams
85024	}
85025	return nil
85026}
85027
85028// SetDryRun sets the DryRun field's value.
85029func (s *ModifyFleetInput) SetDryRun(v bool) *ModifyFleetInput {
85030	s.DryRun = &v
85031	return s
85032}
85033
85034// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
85035func (s *ModifyFleetInput) SetExcessCapacityTerminationPolicy(v string) *ModifyFleetInput {
85036	s.ExcessCapacityTerminationPolicy = &v
85037	return s
85038}
85039
85040// SetFleetId sets the FleetId field's value.
85041func (s *ModifyFleetInput) SetFleetId(v string) *ModifyFleetInput {
85042	s.FleetId = &v
85043	return s
85044}
85045
85046// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
85047func (s *ModifyFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *ModifyFleetInput {
85048	s.TargetCapacitySpecification = v
85049	return s
85050}
85051
85052type ModifyFleetOutput struct {
85053	_ struct{} `type:"structure"`
85054
85055	// Is true if the request succeeds, and an error otherwise.
85056	Return *bool `locationName:"return" type:"boolean"`
85057}
85058
85059// String returns the string representation
85060func (s ModifyFleetOutput) String() string {
85061	return awsutil.Prettify(s)
85062}
85063
85064// GoString returns the string representation
85065func (s ModifyFleetOutput) GoString() string {
85066	return s.String()
85067}
85068
85069// SetReturn sets the Return field's value.
85070func (s *ModifyFleetOutput) SetReturn(v bool) *ModifyFleetOutput {
85071	s.Return = &v
85072	return s
85073}
85074
85075type ModifyFpgaImageAttributeInput struct {
85076	_ struct{} `type:"structure"`
85077
85078	// The name of the attribute.
85079	Attribute *string `type:"string" enum:"FpgaImageAttributeName"`
85080
85081	// A description for the AFI.
85082	Description *string `type:"string"`
85083
85084	// Checks whether you have the required permissions for the action, without
85085	// actually making the request, and provides an error response. If you have
85086	// the required permissions, the error response is DryRunOperation. Otherwise,
85087	// it is UnauthorizedOperation.
85088	DryRun *bool `type:"boolean"`
85089
85090	// The ID of the AFI.
85091	//
85092	// FpgaImageId is a required field
85093	FpgaImageId *string `type:"string" required:"true"`
85094
85095	// The load permission for the AFI.
85096	LoadPermission *LoadPermissionModifications `type:"structure"`
85097
85098	// A name for the AFI.
85099	Name *string `type:"string"`
85100
85101	// The operation type.
85102	OperationType *string `type:"string" enum:"OperationType"`
85103
85104	// The product codes. After you add a product code to an AFI, it can't be removed.
85105	// This parameter is valid only when modifying the productCodes attribute.
85106	ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
85107
85108	// The user groups. This parameter is valid only when modifying the loadPermission
85109	// attribute.
85110	UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
85111
85112	// The AWS account IDs. This parameter is valid only when modifying the loadPermission
85113	// attribute.
85114	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
85115}
85116
85117// String returns the string representation
85118func (s ModifyFpgaImageAttributeInput) String() string {
85119	return awsutil.Prettify(s)
85120}
85121
85122// GoString returns the string representation
85123func (s ModifyFpgaImageAttributeInput) GoString() string {
85124	return s.String()
85125}
85126
85127// Validate inspects the fields of the type to determine if they are valid.
85128func (s *ModifyFpgaImageAttributeInput) Validate() error {
85129	invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"}
85130	if s.FpgaImageId == nil {
85131		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
85132	}
85133
85134	if invalidParams.Len() > 0 {
85135		return invalidParams
85136	}
85137	return nil
85138}
85139
85140// SetAttribute sets the Attribute field's value.
85141func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput {
85142	s.Attribute = &v
85143	return s
85144}
85145
85146// SetDescription sets the Description field's value.
85147func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput {
85148	s.Description = &v
85149	return s
85150}
85151
85152// SetDryRun sets the DryRun field's value.
85153func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput {
85154	s.DryRun = &v
85155	return s
85156}
85157
85158// SetFpgaImageId sets the FpgaImageId field's value.
85159func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput {
85160	s.FpgaImageId = &v
85161	return s
85162}
85163
85164// SetLoadPermission sets the LoadPermission field's value.
85165func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput {
85166	s.LoadPermission = v
85167	return s
85168}
85169
85170// SetName sets the Name field's value.
85171func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput {
85172	s.Name = &v
85173	return s
85174}
85175
85176// SetOperationType sets the OperationType field's value.
85177func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput {
85178	s.OperationType = &v
85179	return s
85180}
85181
85182// SetProductCodes sets the ProductCodes field's value.
85183func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput {
85184	s.ProductCodes = v
85185	return s
85186}
85187
85188// SetUserGroups sets the UserGroups field's value.
85189func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput {
85190	s.UserGroups = v
85191	return s
85192}
85193
85194// SetUserIds sets the UserIds field's value.
85195func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput {
85196	s.UserIds = v
85197	return s
85198}
85199
85200type ModifyFpgaImageAttributeOutput struct {
85201	_ struct{} `type:"structure"`
85202
85203	// Information about the attribute.
85204	FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
85205}
85206
85207// String returns the string representation
85208func (s ModifyFpgaImageAttributeOutput) String() string {
85209	return awsutil.Prettify(s)
85210}
85211
85212// GoString returns the string representation
85213func (s ModifyFpgaImageAttributeOutput) GoString() string {
85214	return s.String()
85215}
85216
85217// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
85218func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput {
85219	s.FpgaImageAttribute = v
85220	return s
85221}
85222
85223type ModifyHostsInput struct {
85224	_ struct{} `type:"structure"`
85225
85226	// Specify whether to enable or disable auto-placement.
85227	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
85228
85229	// The IDs of the Dedicated Hosts to modify.
85230	//
85231	// HostIds is a required field
85232	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
85233
85234	// Indicates whether to enable or disable host recovery for the Dedicated Host.
85235	// For more information, see Host Recovery (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html)
85236	// in the Amazon Elastic Compute Cloud User Guide.
85237	HostRecovery *string `type:"string" enum:"HostRecovery"`
85238
85239	// Specifies the instance family to be supported by the Dedicated Host. Specify
85240	// this parameter to modify a Dedicated Host to support multiple instance types
85241	// within its current instance family.
85242	//
85243	// If you want to modify a Dedicated Host to support a specific instance type
85244	// only, omit this parameter and specify InstanceType instead. You cannot specify
85245	// InstanceFamily and InstanceType in the same request.
85246	InstanceFamily *string `type:"string"`
85247
85248	// Specifies the instance type to be supported by the Dedicated Host. Specify
85249	// this parameter to modify a Dedicated Host to support only a specific instance
85250	// type.
85251	//
85252	// If you want to modify a Dedicated Host to support multiple instance types
85253	// in its current instance family, omit this parameter and specify InstanceFamily
85254	// instead. You cannot specify InstanceType and InstanceFamily in the same request.
85255	InstanceType *string `type:"string"`
85256}
85257
85258// String returns the string representation
85259func (s ModifyHostsInput) String() string {
85260	return awsutil.Prettify(s)
85261}
85262
85263// GoString returns the string representation
85264func (s ModifyHostsInput) GoString() string {
85265	return s.String()
85266}
85267
85268// Validate inspects the fields of the type to determine if they are valid.
85269func (s *ModifyHostsInput) Validate() error {
85270	invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
85271	if s.HostIds == nil {
85272		invalidParams.Add(request.NewErrParamRequired("HostIds"))
85273	}
85274
85275	if invalidParams.Len() > 0 {
85276		return invalidParams
85277	}
85278	return nil
85279}
85280
85281// SetAutoPlacement sets the AutoPlacement field's value.
85282func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
85283	s.AutoPlacement = &v
85284	return s
85285}
85286
85287// SetHostIds sets the HostIds field's value.
85288func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
85289	s.HostIds = v
85290	return s
85291}
85292
85293// SetHostRecovery sets the HostRecovery field's value.
85294func (s *ModifyHostsInput) SetHostRecovery(v string) *ModifyHostsInput {
85295	s.HostRecovery = &v
85296	return s
85297}
85298
85299// SetInstanceFamily sets the InstanceFamily field's value.
85300func (s *ModifyHostsInput) SetInstanceFamily(v string) *ModifyHostsInput {
85301	s.InstanceFamily = &v
85302	return s
85303}
85304
85305// SetInstanceType sets the InstanceType field's value.
85306func (s *ModifyHostsInput) SetInstanceType(v string) *ModifyHostsInput {
85307	s.InstanceType = &v
85308	return s
85309}
85310
85311type ModifyHostsOutput struct {
85312	_ struct{} `type:"structure"`
85313
85314	// The IDs of the Dedicated Hosts that were successfully modified.
85315	Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
85316
85317	// The IDs of the Dedicated Hosts that could not be modified. Check whether
85318	// the setting you requested can be used.
85319	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
85320}
85321
85322// String returns the string representation
85323func (s ModifyHostsOutput) String() string {
85324	return awsutil.Prettify(s)
85325}
85326
85327// GoString returns the string representation
85328func (s ModifyHostsOutput) GoString() string {
85329	return s.String()
85330}
85331
85332// SetSuccessful sets the Successful field's value.
85333func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
85334	s.Successful = v
85335	return s
85336}
85337
85338// SetUnsuccessful sets the Unsuccessful field's value.
85339func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
85340	s.Unsuccessful = v
85341	return s
85342}
85343
85344type ModifyIdFormatInput struct {
85345	_ struct{} `type:"structure"`
85346
85347	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
85348	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
85349	// | image | import-task | internet-gateway | network-acl | network-acl-association
85350	// | network-interface | network-interface-attachment | prefix-list | route-table
85351	// | route-table-association | security-group | subnet | subnet-cidr-block-association
85352	// | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
85353	// | vpn-connection | vpn-gateway.
85354	//
85355	// Alternatively, use the all-current option to include all resource types that
85356	// are currently within their opt-in period for longer IDs.
85357	//
85358	// Resource is a required field
85359	Resource *string `type:"string" required:"true"`
85360
85361	// Indicate whether the resource should use longer IDs (17-character IDs).
85362	//
85363	// UseLongIds is a required field
85364	UseLongIds *bool `type:"boolean" required:"true"`
85365}
85366
85367// String returns the string representation
85368func (s ModifyIdFormatInput) String() string {
85369	return awsutil.Prettify(s)
85370}
85371
85372// GoString returns the string representation
85373func (s ModifyIdFormatInput) GoString() string {
85374	return s.String()
85375}
85376
85377// Validate inspects the fields of the type to determine if they are valid.
85378func (s *ModifyIdFormatInput) Validate() error {
85379	invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
85380	if s.Resource == nil {
85381		invalidParams.Add(request.NewErrParamRequired("Resource"))
85382	}
85383	if s.UseLongIds == nil {
85384		invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
85385	}
85386
85387	if invalidParams.Len() > 0 {
85388		return invalidParams
85389	}
85390	return nil
85391}
85392
85393// SetResource sets the Resource field's value.
85394func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
85395	s.Resource = &v
85396	return s
85397}
85398
85399// SetUseLongIds sets the UseLongIds field's value.
85400func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
85401	s.UseLongIds = &v
85402	return s
85403}
85404
85405type ModifyIdFormatOutput struct {
85406	_ struct{} `type:"structure"`
85407}
85408
85409// String returns the string representation
85410func (s ModifyIdFormatOutput) String() string {
85411	return awsutil.Prettify(s)
85412}
85413
85414// GoString returns the string representation
85415func (s ModifyIdFormatOutput) GoString() string {
85416	return s.String()
85417}
85418
85419type ModifyIdentityIdFormatInput struct {
85420	_ struct{} `type:"structure"`
85421
85422	// The ARN of the principal, which can be an IAM user, IAM role, or the root
85423	// user. Specify all to modify the ID format for all IAM users, IAM roles, and
85424	// the root user of the account.
85425	//
85426	// PrincipalArn is a required field
85427	PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
85428
85429	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
85430	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
85431	// | image | import-task | internet-gateway | network-acl | network-acl-association
85432	// | network-interface | network-interface-attachment | prefix-list | route-table
85433	// | route-table-association | security-group | subnet | subnet-cidr-block-association
85434	// | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
85435	// | vpn-connection | vpn-gateway.
85436	//
85437	// Alternatively, use the all-current option to include all resource types that
85438	// are currently within their opt-in period for longer IDs.
85439	//
85440	// Resource is a required field
85441	Resource *string `locationName:"resource" type:"string" required:"true"`
85442
85443	// Indicates whether the resource should use longer IDs (17-character IDs)
85444	//
85445	// UseLongIds is a required field
85446	UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
85447}
85448
85449// String returns the string representation
85450func (s ModifyIdentityIdFormatInput) String() string {
85451	return awsutil.Prettify(s)
85452}
85453
85454// GoString returns the string representation
85455func (s ModifyIdentityIdFormatInput) GoString() string {
85456	return s.String()
85457}
85458
85459// Validate inspects the fields of the type to determine if they are valid.
85460func (s *ModifyIdentityIdFormatInput) Validate() error {
85461	invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
85462	if s.PrincipalArn == nil {
85463		invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
85464	}
85465	if s.Resource == nil {
85466		invalidParams.Add(request.NewErrParamRequired("Resource"))
85467	}
85468	if s.UseLongIds == nil {
85469		invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
85470	}
85471
85472	if invalidParams.Len() > 0 {
85473		return invalidParams
85474	}
85475	return nil
85476}
85477
85478// SetPrincipalArn sets the PrincipalArn field's value.
85479func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
85480	s.PrincipalArn = &v
85481	return s
85482}
85483
85484// SetResource sets the Resource field's value.
85485func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
85486	s.Resource = &v
85487	return s
85488}
85489
85490// SetUseLongIds sets the UseLongIds field's value.
85491func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
85492	s.UseLongIds = &v
85493	return s
85494}
85495
85496type ModifyIdentityIdFormatOutput struct {
85497	_ struct{} `type:"structure"`
85498}
85499
85500// String returns the string representation
85501func (s ModifyIdentityIdFormatOutput) String() string {
85502	return awsutil.Prettify(s)
85503}
85504
85505// GoString returns the string representation
85506func (s ModifyIdentityIdFormatOutput) GoString() string {
85507	return s.String()
85508}
85509
85510// Contains the parameters for ModifyImageAttribute.
85511type ModifyImageAttributeInput struct {
85512	_ struct{} `type:"structure"`
85513
85514	// The name of the attribute to modify. The valid values are description, launchPermission,
85515	// and productCodes.
85516	Attribute *string `type:"string"`
85517
85518	// A new description for the AMI.
85519	Description *AttributeValue `type:"structure"`
85520
85521	// Checks whether you have the required permissions for the action, without
85522	// actually making the request, and provides an error response. If you have
85523	// the required permissions, the error response is DryRunOperation. Otherwise,
85524	// it is UnauthorizedOperation.
85525	DryRun *bool `locationName:"dryRun" type:"boolean"`
85526
85527	// The ID of the AMI.
85528	//
85529	// ImageId is a required field
85530	ImageId *string `type:"string" required:"true"`
85531
85532	// A new launch permission for the AMI.
85533	LaunchPermission *LaunchPermissionModifications `type:"structure"`
85534
85535	// The operation type. This parameter can be used only when the Attribute parameter
85536	// is launchPermission.
85537	OperationType *string `type:"string" enum:"OperationType"`
85538
85539	// The DevPay product codes. After you add a product code to an AMI, it can't
85540	// be removed.
85541	ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
85542
85543	// The user groups. This parameter can be used only when the Attribute parameter
85544	// is launchPermission.
85545	UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
85546
85547	// The AWS account IDs. This parameter can be used only when the Attribute parameter
85548	// is launchPermission.
85549	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
85550
85551	// The value of the attribute being modified. This parameter can be used only
85552	// when the Attribute parameter is description or productCodes.
85553	Value *string `type:"string"`
85554}
85555
85556// String returns the string representation
85557func (s ModifyImageAttributeInput) String() string {
85558	return awsutil.Prettify(s)
85559}
85560
85561// GoString returns the string representation
85562func (s ModifyImageAttributeInput) GoString() string {
85563	return s.String()
85564}
85565
85566// Validate inspects the fields of the type to determine if they are valid.
85567func (s *ModifyImageAttributeInput) Validate() error {
85568	invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
85569	if s.ImageId == nil {
85570		invalidParams.Add(request.NewErrParamRequired("ImageId"))
85571	}
85572
85573	if invalidParams.Len() > 0 {
85574		return invalidParams
85575	}
85576	return nil
85577}
85578
85579// SetAttribute sets the Attribute field's value.
85580func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
85581	s.Attribute = &v
85582	return s
85583}
85584
85585// SetDescription sets the Description field's value.
85586func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
85587	s.Description = v
85588	return s
85589}
85590
85591// SetDryRun sets the DryRun field's value.
85592func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
85593	s.DryRun = &v
85594	return s
85595}
85596
85597// SetImageId sets the ImageId field's value.
85598func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
85599	s.ImageId = &v
85600	return s
85601}
85602
85603// SetLaunchPermission sets the LaunchPermission field's value.
85604func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
85605	s.LaunchPermission = v
85606	return s
85607}
85608
85609// SetOperationType sets the OperationType field's value.
85610func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
85611	s.OperationType = &v
85612	return s
85613}
85614
85615// SetProductCodes sets the ProductCodes field's value.
85616func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
85617	s.ProductCodes = v
85618	return s
85619}
85620
85621// SetUserGroups sets the UserGroups field's value.
85622func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
85623	s.UserGroups = v
85624	return s
85625}
85626
85627// SetUserIds sets the UserIds field's value.
85628func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
85629	s.UserIds = v
85630	return s
85631}
85632
85633// SetValue sets the Value field's value.
85634func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
85635	s.Value = &v
85636	return s
85637}
85638
85639type ModifyImageAttributeOutput struct {
85640	_ struct{} `type:"structure"`
85641}
85642
85643// String returns the string representation
85644func (s ModifyImageAttributeOutput) String() string {
85645	return awsutil.Prettify(s)
85646}
85647
85648// GoString returns the string representation
85649func (s ModifyImageAttributeOutput) GoString() string {
85650	return s.String()
85651}
85652
85653type ModifyInstanceAttributeInput struct {
85654	_ struct{} `type:"structure"`
85655
85656	// The name of the attribute.
85657	Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
85658
85659	// Modifies the DeleteOnTermination attribute for volumes that are currently
85660	// attached. The volume must be owned by the caller. If no value is specified
85661	// for DeleteOnTermination, the default is true and the volume is deleted when
85662	// the instance is terminated.
85663	//
85664	// To add instance store volumes to an Amazon EBS-backed instance, you must
85665	// add them when you launch the instance. For more information, see Updating
85666	// the Block Device Mapping when Launching an Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
85667	// in the Amazon Elastic Compute Cloud User Guide.
85668	BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
85669
85670	// If the value is true, you can't terminate the instance using the Amazon EC2
85671	// console, CLI, or API; otherwise, you can. You cannot use this parameter for
85672	// Spot Instances.
85673	DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
85674
85675	// Checks whether you have the required permissions for the action, without
85676	// actually making the request, and provides an error response. If you have
85677	// the required permissions, the error response is DryRunOperation. Otherwise,
85678	// it is UnauthorizedOperation.
85679	DryRun *bool `locationName:"dryRun" type:"boolean"`
85680
85681	// Specifies whether the instance is optimized for Amazon EBS I/O. This optimization
85682	// provides dedicated throughput to Amazon EBS and an optimized configuration
85683	// stack to provide optimal EBS I/O performance. This optimization isn't available
85684	// with all instance types. Additional usage charges apply when using an EBS
85685	// Optimized instance.
85686	EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
85687
85688	// Set to true to enable enhanced networking with ENA for the instance.
85689	//
85690	// This option is supported only for HVM instances. Specifying this option with
85691	// a PV instance can make it unreachable.
85692	EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
85693
85694	// [EC2-VPC] Changes the security groups of the instance. You must specify at
85695	// least one security group, even if it's just the default security group for
85696	// the VPC. You must specify the security group ID, not the security group name.
85697	Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
85698
85699	// The ID of the instance.
85700	//
85701	// InstanceId is a required field
85702	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
85703
85704	// Specifies whether an instance stops or terminates when you initiate shutdown
85705	// from the instance (using the operating system command for system shutdown).
85706	InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
85707
85708	// Changes the instance type to the specified value. For more information, see
85709	// Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
85710	// If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
85711	InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
85712
85713	// Changes the instance's kernel to the specified value. We recommend that you
85714	// use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
85715	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
85716	Kernel *AttributeValue `locationName:"kernel" type:"structure"`
85717
85718	// Changes the instance's RAM disk to the specified value. We recommend that
85719	// you use PV-GRUB instead of kernels and RAM disks. For more information, see
85720	// PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
85721	Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
85722
85723	// Specifies whether source/destination checking is enabled. A value of true
85724	// means that checking is enabled, and false means that checking is disabled.
85725	// This value must be false for a NAT instance to perform NAT.
85726	SourceDestCheck *AttributeBooleanValue `type:"structure"`
85727
85728	// Set to simple to enable enhanced networking with the Intel 82599 Virtual
85729	// Function interface for the instance.
85730	//
85731	// There is no way to disable enhanced networking with the Intel 82599 Virtual
85732	// Function interface at this time.
85733	//
85734	// This option is supported only for HVM instances. Specifying this option with
85735	// a PV instance can make it unreachable.
85736	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
85737
85738	// Changes the instance's user data to the specified value. If you are using
85739	// an AWS SDK or command line tool, base64-encoding is performed for you, and
85740	// you can load the text from a file. Otherwise, you must provide base64-encoded
85741	// text.
85742	UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
85743
85744	// A new value for the attribute. Use only with the kernel, ramdisk, userData,
85745	// disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
85746	Value *string `locationName:"value" type:"string"`
85747}
85748
85749// String returns the string representation
85750func (s ModifyInstanceAttributeInput) String() string {
85751	return awsutil.Prettify(s)
85752}
85753
85754// GoString returns the string representation
85755func (s ModifyInstanceAttributeInput) GoString() string {
85756	return s.String()
85757}
85758
85759// Validate inspects the fields of the type to determine if they are valid.
85760func (s *ModifyInstanceAttributeInput) Validate() error {
85761	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
85762	if s.InstanceId == nil {
85763		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
85764	}
85765
85766	if invalidParams.Len() > 0 {
85767		return invalidParams
85768	}
85769	return nil
85770}
85771
85772// SetAttribute sets the Attribute field's value.
85773func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
85774	s.Attribute = &v
85775	return s
85776}
85777
85778// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
85779func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
85780	s.BlockDeviceMappings = v
85781	return s
85782}
85783
85784// SetDisableApiTermination sets the DisableApiTermination field's value.
85785func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
85786	s.DisableApiTermination = v
85787	return s
85788}
85789
85790// SetDryRun sets the DryRun field's value.
85791func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
85792	s.DryRun = &v
85793	return s
85794}
85795
85796// SetEbsOptimized sets the EbsOptimized field's value.
85797func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
85798	s.EbsOptimized = v
85799	return s
85800}
85801
85802// SetEnaSupport sets the EnaSupport field's value.
85803func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
85804	s.EnaSupport = v
85805	return s
85806}
85807
85808// SetGroups sets the Groups field's value.
85809func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
85810	s.Groups = v
85811	return s
85812}
85813
85814// SetInstanceId sets the InstanceId field's value.
85815func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
85816	s.InstanceId = &v
85817	return s
85818}
85819
85820// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
85821func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
85822	s.InstanceInitiatedShutdownBehavior = v
85823	return s
85824}
85825
85826// SetInstanceType sets the InstanceType field's value.
85827func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
85828	s.InstanceType = v
85829	return s
85830}
85831
85832// SetKernel sets the Kernel field's value.
85833func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
85834	s.Kernel = v
85835	return s
85836}
85837
85838// SetRamdisk sets the Ramdisk field's value.
85839func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
85840	s.Ramdisk = v
85841	return s
85842}
85843
85844// SetSourceDestCheck sets the SourceDestCheck field's value.
85845func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
85846	s.SourceDestCheck = v
85847	return s
85848}
85849
85850// SetSriovNetSupport sets the SriovNetSupport field's value.
85851func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
85852	s.SriovNetSupport = v
85853	return s
85854}
85855
85856// SetUserData sets the UserData field's value.
85857func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
85858	s.UserData = v
85859	return s
85860}
85861
85862// SetValue sets the Value field's value.
85863func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
85864	s.Value = &v
85865	return s
85866}
85867
85868type ModifyInstanceAttributeOutput struct {
85869	_ struct{} `type:"structure"`
85870}
85871
85872// String returns the string representation
85873func (s ModifyInstanceAttributeOutput) String() string {
85874	return awsutil.Prettify(s)
85875}
85876
85877// GoString returns the string representation
85878func (s ModifyInstanceAttributeOutput) GoString() string {
85879	return s.String()
85880}
85881
85882type ModifyInstanceCapacityReservationAttributesInput struct {
85883	_ struct{} `type:"structure"`
85884
85885	// Information about the Capacity Reservation targeting option.
85886	//
85887	// CapacityReservationSpecification is a required field
85888	CapacityReservationSpecification *CapacityReservationSpecification `type:"structure" required:"true"`
85889
85890	// Checks whether you have the required permissions for the action, without
85891	// actually making the request, and provides an error response. If you have
85892	// the required permissions, the error response is DryRunOperation. Otherwise,
85893	// it is UnauthorizedOperation.
85894	DryRun *bool `type:"boolean"`
85895
85896	// The ID of the instance to be modified.
85897	//
85898	// InstanceId is a required field
85899	InstanceId *string `type:"string" required:"true"`
85900}
85901
85902// String returns the string representation
85903func (s ModifyInstanceCapacityReservationAttributesInput) String() string {
85904	return awsutil.Prettify(s)
85905}
85906
85907// GoString returns the string representation
85908func (s ModifyInstanceCapacityReservationAttributesInput) GoString() string {
85909	return s.String()
85910}
85911
85912// Validate inspects the fields of the type to determine if they are valid.
85913func (s *ModifyInstanceCapacityReservationAttributesInput) Validate() error {
85914	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCapacityReservationAttributesInput"}
85915	if s.CapacityReservationSpecification == nil {
85916		invalidParams.Add(request.NewErrParamRequired("CapacityReservationSpecification"))
85917	}
85918	if s.InstanceId == nil {
85919		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
85920	}
85921
85922	if invalidParams.Len() > 0 {
85923		return invalidParams
85924	}
85925	return nil
85926}
85927
85928// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
85929func (s *ModifyInstanceCapacityReservationAttributesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *ModifyInstanceCapacityReservationAttributesInput {
85930	s.CapacityReservationSpecification = v
85931	return s
85932}
85933
85934// SetDryRun sets the DryRun field's value.
85935func (s *ModifyInstanceCapacityReservationAttributesInput) SetDryRun(v bool) *ModifyInstanceCapacityReservationAttributesInput {
85936	s.DryRun = &v
85937	return s
85938}
85939
85940// SetInstanceId sets the InstanceId field's value.
85941func (s *ModifyInstanceCapacityReservationAttributesInput) SetInstanceId(v string) *ModifyInstanceCapacityReservationAttributesInput {
85942	s.InstanceId = &v
85943	return s
85944}
85945
85946type ModifyInstanceCapacityReservationAttributesOutput struct {
85947	_ struct{} `type:"structure"`
85948
85949	// Returns true if the request succeeds; otherwise, it returns an error.
85950	Return *bool `locationName:"return" type:"boolean"`
85951}
85952
85953// String returns the string representation
85954func (s ModifyInstanceCapacityReservationAttributesOutput) String() string {
85955	return awsutil.Prettify(s)
85956}
85957
85958// GoString returns the string representation
85959func (s ModifyInstanceCapacityReservationAttributesOutput) GoString() string {
85960	return s.String()
85961}
85962
85963// SetReturn sets the Return field's value.
85964func (s *ModifyInstanceCapacityReservationAttributesOutput) SetReturn(v bool) *ModifyInstanceCapacityReservationAttributesOutput {
85965	s.Return = &v
85966	return s
85967}
85968
85969type ModifyInstanceCreditSpecificationInput struct {
85970	_ struct{} `type:"structure"`
85971
85972	// A unique, case-sensitive token that you provide to ensure idempotency of
85973	// your modification request. For more information, see Ensuring Idempotency
85974	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
85975	ClientToken *string `type:"string"`
85976
85977	// Checks whether you have the required permissions for the action, without
85978	// actually making the request, and provides an error response. If you have
85979	// the required permissions, the error response is DryRunOperation. Otherwise,
85980	// it is UnauthorizedOperation.
85981	DryRun *bool `type:"boolean"`
85982
85983	// Information about the credit option for CPU usage.
85984	//
85985	// InstanceCreditSpecifications is a required field
85986	InstanceCreditSpecifications []*InstanceCreditSpecificationRequest `locationName:"InstanceCreditSpecification" locationNameList:"item" type:"list" required:"true"`
85987}
85988
85989// String returns the string representation
85990func (s ModifyInstanceCreditSpecificationInput) String() string {
85991	return awsutil.Prettify(s)
85992}
85993
85994// GoString returns the string representation
85995func (s ModifyInstanceCreditSpecificationInput) GoString() string {
85996	return s.String()
85997}
85998
85999// Validate inspects the fields of the type to determine if they are valid.
86000func (s *ModifyInstanceCreditSpecificationInput) Validate() error {
86001	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCreditSpecificationInput"}
86002	if s.InstanceCreditSpecifications == nil {
86003		invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications"))
86004	}
86005
86006	if invalidParams.Len() > 0 {
86007		return invalidParams
86008	}
86009	return nil
86010}
86011
86012// SetClientToken sets the ClientToken field's value.
86013func (s *ModifyInstanceCreditSpecificationInput) SetClientToken(v string) *ModifyInstanceCreditSpecificationInput {
86014	s.ClientToken = &v
86015	return s
86016}
86017
86018// SetDryRun sets the DryRun field's value.
86019func (s *ModifyInstanceCreditSpecificationInput) SetDryRun(v bool) *ModifyInstanceCreditSpecificationInput {
86020	s.DryRun = &v
86021	return s
86022}
86023
86024// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
86025func (s *ModifyInstanceCreditSpecificationInput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecificationRequest) *ModifyInstanceCreditSpecificationInput {
86026	s.InstanceCreditSpecifications = v
86027	return s
86028}
86029
86030type ModifyInstanceCreditSpecificationOutput struct {
86031	_ struct{} `type:"structure"`
86032
86033	// Information about the instances whose credit option for CPU usage was successfully
86034	// modified.
86035	SuccessfulInstanceCreditSpecifications []*SuccessfulInstanceCreditSpecificationItem `locationName:"successfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
86036
86037	// Information about the instances whose credit option for CPU usage was not
86038	// modified.
86039	UnsuccessfulInstanceCreditSpecifications []*UnsuccessfulInstanceCreditSpecificationItem `locationName:"unsuccessfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
86040}
86041
86042// String returns the string representation
86043func (s ModifyInstanceCreditSpecificationOutput) String() string {
86044	return awsutil.Prettify(s)
86045}
86046
86047// GoString returns the string representation
86048func (s ModifyInstanceCreditSpecificationOutput) GoString() string {
86049	return s.String()
86050}
86051
86052// SetSuccessfulInstanceCreditSpecifications sets the SuccessfulInstanceCreditSpecifications field's value.
86053func (s *ModifyInstanceCreditSpecificationOutput) SetSuccessfulInstanceCreditSpecifications(v []*SuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
86054	s.SuccessfulInstanceCreditSpecifications = v
86055	return s
86056}
86057
86058// SetUnsuccessfulInstanceCreditSpecifications sets the UnsuccessfulInstanceCreditSpecifications field's value.
86059func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditSpecifications(v []*UnsuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
86060	s.UnsuccessfulInstanceCreditSpecifications = v
86061	return s
86062}
86063
86064type ModifyInstanceEventStartTimeInput struct {
86065	_ struct{} `type:"structure"`
86066
86067	// Checks whether you have the required permissions for the action, without
86068	// actually making the request, and provides an error response. If you have
86069	// the required permissions, the error response is DryRunOperation. Otherwise,
86070	// it is UnauthorizedOperation.
86071	DryRun *bool `type:"boolean"`
86072
86073	// The ID of the event whose date and time you are modifying.
86074	//
86075	// InstanceEventId is a required field
86076	InstanceEventId *string `type:"string" required:"true"`
86077
86078	// The ID of the instance with the scheduled event.
86079	//
86080	// InstanceId is a required field
86081	InstanceId *string `type:"string" required:"true"`
86082
86083	// The new date and time when the event will take place.
86084	//
86085	// NotBefore is a required field
86086	NotBefore *time.Time `type:"timestamp" required:"true"`
86087}
86088
86089// String returns the string representation
86090func (s ModifyInstanceEventStartTimeInput) String() string {
86091	return awsutil.Prettify(s)
86092}
86093
86094// GoString returns the string representation
86095func (s ModifyInstanceEventStartTimeInput) GoString() string {
86096	return s.String()
86097}
86098
86099// Validate inspects the fields of the type to determine if they are valid.
86100func (s *ModifyInstanceEventStartTimeInput) Validate() error {
86101	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceEventStartTimeInput"}
86102	if s.InstanceEventId == nil {
86103		invalidParams.Add(request.NewErrParamRequired("InstanceEventId"))
86104	}
86105	if s.InstanceId == nil {
86106		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
86107	}
86108	if s.NotBefore == nil {
86109		invalidParams.Add(request.NewErrParamRequired("NotBefore"))
86110	}
86111
86112	if invalidParams.Len() > 0 {
86113		return invalidParams
86114	}
86115	return nil
86116}
86117
86118// SetDryRun sets the DryRun field's value.
86119func (s *ModifyInstanceEventStartTimeInput) SetDryRun(v bool) *ModifyInstanceEventStartTimeInput {
86120	s.DryRun = &v
86121	return s
86122}
86123
86124// SetInstanceEventId sets the InstanceEventId field's value.
86125func (s *ModifyInstanceEventStartTimeInput) SetInstanceEventId(v string) *ModifyInstanceEventStartTimeInput {
86126	s.InstanceEventId = &v
86127	return s
86128}
86129
86130// SetInstanceId sets the InstanceId field's value.
86131func (s *ModifyInstanceEventStartTimeInput) SetInstanceId(v string) *ModifyInstanceEventStartTimeInput {
86132	s.InstanceId = &v
86133	return s
86134}
86135
86136// SetNotBefore sets the NotBefore field's value.
86137func (s *ModifyInstanceEventStartTimeInput) SetNotBefore(v time.Time) *ModifyInstanceEventStartTimeInput {
86138	s.NotBefore = &v
86139	return s
86140}
86141
86142type ModifyInstanceEventStartTimeOutput struct {
86143	_ struct{} `type:"structure"`
86144
86145	// Describes a scheduled event for an instance.
86146	Event *InstanceStatusEvent `locationName:"event" type:"structure"`
86147}
86148
86149// String returns the string representation
86150func (s ModifyInstanceEventStartTimeOutput) String() string {
86151	return awsutil.Prettify(s)
86152}
86153
86154// GoString returns the string representation
86155func (s ModifyInstanceEventStartTimeOutput) GoString() string {
86156	return s.String()
86157}
86158
86159// SetEvent sets the Event field's value.
86160func (s *ModifyInstanceEventStartTimeOutput) SetEvent(v *InstanceStatusEvent) *ModifyInstanceEventStartTimeOutput {
86161	s.Event = v
86162	return s
86163}
86164
86165type ModifyInstanceMetadataOptionsInput struct {
86166	_ struct{} `type:"structure"`
86167
86168	// Checks whether you have the required permissions for the action, without
86169	// actually making the request, and provides an error response. If you have
86170	// the required permissions, the error response is DryRunOperation. Otherwise,
86171	// it is UnauthorizedOperation.
86172	DryRun *bool `type:"boolean"`
86173
86174	// This parameter enables or disables the HTTP metadata endpoint on your instances.
86175	// If the parameter is not specified, the existing state is maintained.
86176	//
86177	// If you specify a value of disabled, you will not be able to access your instance
86178	// metadata.
86179	HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
86180
86181	// The desired HTTP PUT response hop limit for instance metadata requests. The
86182	// larger the number, the further instance metadata requests can travel. If
86183	// no parameter is specified, the existing state is maintained.
86184	//
86185	// Possible values: Integers from 1 to 64
86186	HttpPutResponseHopLimit *int64 `type:"integer"`
86187
86188	// The state of token usage for your instance metadata requests. If the parameter
86189	// is not specified in the request, the default state is optional.
86190	//
86191	// If the state is optional, you can choose to retrieve instance metadata with
86192	// or without a signed token header on your request. If you retrieve the IAM
86193	// role credentials without a token, the version 1.0 role credentials are returned.
86194	// If you retrieve the IAM role credentials using a valid signed token, the
86195	// version 2.0 role credentials are returned.
86196	//
86197	// If the state is required, you must send a signed token header with any instance
86198	// metadata retrieval requests. In this state, retrieving the IAM role credential
86199	// always returns the version 2.0 credentials; the version 1.0 credentials are
86200	// not available.
86201	HttpTokens *string `type:"string" enum:"HttpTokensState"`
86202
86203	// The ID of the instance.
86204	//
86205	// InstanceId is a required field
86206	InstanceId *string `type:"string" required:"true"`
86207}
86208
86209// String returns the string representation
86210func (s ModifyInstanceMetadataOptionsInput) String() string {
86211	return awsutil.Prettify(s)
86212}
86213
86214// GoString returns the string representation
86215func (s ModifyInstanceMetadataOptionsInput) GoString() string {
86216	return s.String()
86217}
86218
86219// Validate inspects the fields of the type to determine if they are valid.
86220func (s *ModifyInstanceMetadataOptionsInput) Validate() error {
86221	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceMetadataOptionsInput"}
86222	if s.InstanceId == nil {
86223		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
86224	}
86225
86226	if invalidParams.Len() > 0 {
86227		return invalidParams
86228	}
86229	return nil
86230}
86231
86232// SetDryRun sets the DryRun field's value.
86233func (s *ModifyInstanceMetadataOptionsInput) SetDryRun(v bool) *ModifyInstanceMetadataOptionsInput {
86234	s.DryRun = &v
86235	return s
86236}
86237
86238// SetHttpEndpoint sets the HttpEndpoint field's value.
86239func (s *ModifyInstanceMetadataOptionsInput) SetHttpEndpoint(v string) *ModifyInstanceMetadataOptionsInput {
86240	s.HttpEndpoint = &v
86241	return s
86242}
86243
86244// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
86245func (s *ModifyInstanceMetadataOptionsInput) SetHttpPutResponseHopLimit(v int64) *ModifyInstanceMetadataOptionsInput {
86246	s.HttpPutResponseHopLimit = &v
86247	return s
86248}
86249
86250// SetHttpTokens sets the HttpTokens field's value.
86251func (s *ModifyInstanceMetadataOptionsInput) SetHttpTokens(v string) *ModifyInstanceMetadataOptionsInput {
86252	s.HttpTokens = &v
86253	return s
86254}
86255
86256// SetInstanceId sets the InstanceId field's value.
86257func (s *ModifyInstanceMetadataOptionsInput) SetInstanceId(v string) *ModifyInstanceMetadataOptionsInput {
86258	s.InstanceId = &v
86259	return s
86260}
86261
86262type ModifyInstanceMetadataOptionsOutput struct {
86263	_ struct{} `type:"structure"`
86264
86265	// The ID of the instance.
86266	InstanceId *string `locationName:"instanceId" type:"string"`
86267
86268	// The metadata options for the instance.
86269	InstanceMetadataOptions *InstanceMetadataOptionsResponse `locationName:"instanceMetadataOptions" type:"structure"`
86270}
86271
86272// String returns the string representation
86273func (s ModifyInstanceMetadataOptionsOutput) String() string {
86274	return awsutil.Prettify(s)
86275}
86276
86277// GoString returns the string representation
86278func (s ModifyInstanceMetadataOptionsOutput) GoString() string {
86279	return s.String()
86280}
86281
86282// SetInstanceId sets the InstanceId field's value.
86283func (s *ModifyInstanceMetadataOptionsOutput) SetInstanceId(v string) *ModifyInstanceMetadataOptionsOutput {
86284	s.InstanceId = &v
86285	return s
86286}
86287
86288// SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value.
86289func (s *ModifyInstanceMetadataOptionsOutput) SetInstanceMetadataOptions(v *InstanceMetadataOptionsResponse) *ModifyInstanceMetadataOptionsOutput {
86290	s.InstanceMetadataOptions = v
86291	return s
86292}
86293
86294type ModifyInstancePlacementInput struct {
86295	_ struct{} `type:"structure"`
86296
86297	// The affinity setting for the instance.
86298	Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
86299
86300	// The name of the placement group in which to place the instance. For spread
86301	// placement groups, the instance must have a tenancy of default. For cluster
86302	// and partition placement groups, the instance must have a tenancy of default
86303	// or dedicated.
86304	//
86305	// To remove an instance from a placement group, specify an empty string ("").
86306	GroupName *string `type:"string"`
86307
86308	// The ID of the Dedicated Host with which to associate the instance.
86309	HostId *string `locationName:"hostId" type:"string"`
86310
86311	// The ARN of the host resource group in which to place the instance.
86312	HostResourceGroupArn *string `type:"string"`
86313
86314	// The ID of the instance that you are modifying.
86315	//
86316	// InstanceId is a required field
86317	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
86318
86319	// Reserved for future use.
86320	PartitionNumber *int64 `type:"integer"`
86321
86322	// The tenancy for the instance.
86323	Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
86324}
86325
86326// String returns the string representation
86327func (s ModifyInstancePlacementInput) String() string {
86328	return awsutil.Prettify(s)
86329}
86330
86331// GoString returns the string representation
86332func (s ModifyInstancePlacementInput) GoString() string {
86333	return s.String()
86334}
86335
86336// Validate inspects the fields of the type to determine if they are valid.
86337func (s *ModifyInstancePlacementInput) Validate() error {
86338	invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
86339	if s.InstanceId == nil {
86340		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
86341	}
86342
86343	if invalidParams.Len() > 0 {
86344		return invalidParams
86345	}
86346	return nil
86347}
86348
86349// SetAffinity sets the Affinity field's value.
86350func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
86351	s.Affinity = &v
86352	return s
86353}
86354
86355// SetGroupName sets the GroupName field's value.
86356func (s *ModifyInstancePlacementInput) SetGroupName(v string) *ModifyInstancePlacementInput {
86357	s.GroupName = &v
86358	return s
86359}
86360
86361// SetHostId sets the HostId field's value.
86362func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
86363	s.HostId = &v
86364	return s
86365}
86366
86367// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
86368func (s *ModifyInstancePlacementInput) SetHostResourceGroupArn(v string) *ModifyInstancePlacementInput {
86369	s.HostResourceGroupArn = &v
86370	return s
86371}
86372
86373// SetInstanceId sets the InstanceId field's value.
86374func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
86375	s.InstanceId = &v
86376	return s
86377}
86378
86379// SetPartitionNumber sets the PartitionNumber field's value.
86380func (s *ModifyInstancePlacementInput) SetPartitionNumber(v int64) *ModifyInstancePlacementInput {
86381	s.PartitionNumber = &v
86382	return s
86383}
86384
86385// SetTenancy sets the Tenancy field's value.
86386func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
86387	s.Tenancy = &v
86388	return s
86389}
86390
86391type ModifyInstancePlacementOutput struct {
86392	_ struct{} `type:"structure"`
86393
86394	// Is true if the request succeeds, and an error otherwise.
86395	Return *bool `locationName:"return" type:"boolean"`
86396}
86397
86398// String returns the string representation
86399func (s ModifyInstancePlacementOutput) String() string {
86400	return awsutil.Prettify(s)
86401}
86402
86403// GoString returns the string representation
86404func (s ModifyInstancePlacementOutput) GoString() string {
86405	return s.String()
86406}
86407
86408// SetReturn sets the Return field's value.
86409func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
86410	s.Return = &v
86411	return s
86412}
86413
86414type ModifyLaunchTemplateInput struct {
86415	_ struct{} `type:"structure"`
86416
86417	// Unique, case-sensitive identifier you provide to ensure the idempotency of
86418	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
86419	//
86420	// Constraint: Maximum 128 ASCII characters.
86421	ClientToken *string `type:"string"`
86422
86423	// The version number of the launch template to set as the default version.
86424	DefaultVersion *string `locationName:"SetDefaultVersion" type:"string"`
86425
86426	// Checks whether you have the required permissions for the action, without
86427	// actually making the request, and provides an error response. If you have
86428	// the required permissions, the error response is DryRunOperation. Otherwise,
86429	// it is UnauthorizedOperation.
86430	DryRun *bool `type:"boolean"`
86431
86432	// The ID of the launch template. You must specify either the launch template
86433	// ID or launch template name in the request.
86434	LaunchTemplateId *string `type:"string"`
86435
86436	// The name of the launch template. You must specify either the launch template
86437	// ID or launch template name in the request.
86438	LaunchTemplateName *string `min:"3" type:"string"`
86439}
86440
86441// String returns the string representation
86442func (s ModifyLaunchTemplateInput) String() string {
86443	return awsutil.Prettify(s)
86444}
86445
86446// GoString returns the string representation
86447func (s ModifyLaunchTemplateInput) GoString() string {
86448	return s.String()
86449}
86450
86451// Validate inspects the fields of the type to determine if they are valid.
86452func (s *ModifyLaunchTemplateInput) Validate() error {
86453	invalidParams := request.ErrInvalidParams{Context: "ModifyLaunchTemplateInput"}
86454	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
86455		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
86456	}
86457
86458	if invalidParams.Len() > 0 {
86459		return invalidParams
86460	}
86461	return nil
86462}
86463
86464// SetClientToken sets the ClientToken field's value.
86465func (s *ModifyLaunchTemplateInput) SetClientToken(v string) *ModifyLaunchTemplateInput {
86466	s.ClientToken = &v
86467	return s
86468}
86469
86470// SetDefaultVersion sets the DefaultVersion field's value.
86471func (s *ModifyLaunchTemplateInput) SetDefaultVersion(v string) *ModifyLaunchTemplateInput {
86472	s.DefaultVersion = &v
86473	return s
86474}
86475
86476// SetDryRun sets the DryRun field's value.
86477func (s *ModifyLaunchTemplateInput) SetDryRun(v bool) *ModifyLaunchTemplateInput {
86478	s.DryRun = &v
86479	return s
86480}
86481
86482// SetLaunchTemplateId sets the LaunchTemplateId field's value.
86483func (s *ModifyLaunchTemplateInput) SetLaunchTemplateId(v string) *ModifyLaunchTemplateInput {
86484	s.LaunchTemplateId = &v
86485	return s
86486}
86487
86488// SetLaunchTemplateName sets the LaunchTemplateName field's value.
86489func (s *ModifyLaunchTemplateInput) SetLaunchTemplateName(v string) *ModifyLaunchTemplateInput {
86490	s.LaunchTemplateName = &v
86491	return s
86492}
86493
86494type ModifyLaunchTemplateOutput struct {
86495	_ struct{} `type:"structure"`
86496
86497	// Information about the launch template.
86498	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
86499}
86500
86501// String returns the string representation
86502func (s ModifyLaunchTemplateOutput) String() string {
86503	return awsutil.Prettify(s)
86504}
86505
86506// GoString returns the string representation
86507func (s ModifyLaunchTemplateOutput) GoString() string {
86508	return s.String()
86509}
86510
86511// SetLaunchTemplate sets the LaunchTemplate field's value.
86512func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *ModifyLaunchTemplateOutput {
86513	s.LaunchTemplate = v
86514	return s
86515}
86516
86517// Contains the parameters for ModifyNetworkInterfaceAttribute.
86518type ModifyNetworkInterfaceAttributeInput struct {
86519	_ struct{} `type:"structure"`
86520
86521	// Information about the interface attachment. If modifying the 'delete on termination'
86522	// attribute, you must specify the ID of the interface attachment.
86523	Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
86524
86525	// A description for the network interface.
86526	Description *AttributeValue `locationName:"description" type:"structure"`
86527
86528	// Checks whether you have the required permissions for the action, without
86529	// actually making the request, and provides an error response. If you have
86530	// the required permissions, the error response is DryRunOperation. Otherwise,
86531	// it is UnauthorizedOperation.
86532	DryRun *bool `locationName:"dryRun" type:"boolean"`
86533
86534	// Changes the security groups for the network interface. The new set of groups
86535	// you specify replaces the current set. You must specify at least one group,
86536	// even if it's just the default security group in the VPC. You must specify
86537	// the ID of the security group, not the name.
86538	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
86539
86540	// The ID of the network interface.
86541	//
86542	// NetworkInterfaceId is a required field
86543	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
86544
86545	// Indicates whether source/destination checking is enabled. A value of true
86546	// means checking is enabled, and false means checking is disabled. This value
86547	// must be false for a NAT instance to perform NAT. For more information, see
86548	// NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
86549	// in the Amazon Virtual Private Cloud User Guide.
86550	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
86551}
86552
86553// String returns the string representation
86554func (s ModifyNetworkInterfaceAttributeInput) String() string {
86555	return awsutil.Prettify(s)
86556}
86557
86558// GoString returns the string representation
86559func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
86560	return s.String()
86561}
86562
86563// Validate inspects the fields of the type to determine if they are valid.
86564func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
86565	invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
86566	if s.NetworkInterfaceId == nil {
86567		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
86568	}
86569
86570	if invalidParams.Len() > 0 {
86571		return invalidParams
86572	}
86573	return nil
86574}
86575
86576// SetAttachment sets the Attachment field's value.
86577func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
86578	s.Attachment = v
86579	return s
86580}
86581
86582// SetDescription sets the Description field's value.
86583func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
86584	s.Description = v
86585	return s
86586}
86587
86588// SetDryRun sets the DryRun field's value.
86589func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
86590	s.DryRun = &v
86591	return s
86592}
86593
86594// SetGroups sets the Groups field's value.
86595func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
86596	s.Groups = v
86597	return s
86598}
86599
86600// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
86601func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
86602	s.NetworkInterfaceId = &v
86603	return s
86604}
86605
86606// SetSourceDestCheck sets the SourceDestCheck field's value.
86607func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
86608	s.SourceDestCheck = v
86609	return s
86610}
86611
86612type ModifyNetworkInterfaceAttributeOutput struct {
86613	_ struct{} `type:"structure"`
86614}
86615
86616// String returns the string representation
86617func (s ModifyNetworkInterfaceAttributeOutput) String() string {
86618	return awsutil.Prettify(s)
86619}
86620
86621// GoString returns the string representation
86622func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
86623	return s.String()
86624}
86625
86626// Contains the parameters for ModifyReservedInstances.
86627type ModifyReservedInstancesInput struct {
86628	_ struct{} `type:"structure"`
86629
86630	// A unique, case-sensitive token you provide to ensure idempotency of your
86631	// modification request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
86632	ClientToken *string `locationName:"clientToken" type:"string"`
86633
86634	// The IDs of the Reserved Instances to modify.
86635	//
86636	// ReservedInstancesIds is a required field
86637	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
86638
86639	// The configuration settings for the Reserved Instances to modify.
86640	//
86641	// TargetConfigurations is a required field
86642	TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
86643}
86644
86645// String returns the string representation
86646func (s ModifyReservedInstancesInput) String() string {
86647	return awsutil.Prettify(s)
86648}
86649
86650// GoString returns the string representation
86651func (s ModifyReservedInstancesInput) GoString() string {
86652	return s.String()
86653}
86654
86655// Validate inspects the fields of the type to determine if they are valid.
86656func (s *ModifyReservedInstancesInput) Validate() error {
86657	invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
86658	if s.ReservedInstancesIds == nil {
86659		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
86660	}
86661	if s.TargetConfigurations == nil {
86662		invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
86663	}
86664
86665	if invalidParams.Len() > 0 {
86666		return invalidParams
86667	}
86668	return nil
86669}
86670
86671// SetClientToken sets the ClientToken field's value.
86672func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
86673	s.ClientToken = &v
86674	return s
86675}
86676
86677// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
86678func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
86679	s.ReservedInstancesIds = v
86680	return s
86681}
86682
86683// SetTargetConfigurations sets the TargetConfigurations field's value.
86684func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
86685	s.TargetConfigurations = v
86686	return s
86687}
86688
86689// Contains the output of ModifyReservedInstances.
86690type ModifyReservedInstancesOutput struct {
86691	_ struct{} `type:"structure"`
86692
86693	// The ID for the modification.
86694	ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
86695}
86696
86697// String returns the string representation
86698func (s ModifyReservedInstancesOutput) String() string {
86699	return awsutil.Prettify(s)
86700}
86701
86702// GoString returns the string representation
86703func (s ModifyReservedInstancesOutput) GoString() string {
86704	return s.String()
86705}
86706
86707// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
86708func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
86709	s.ReservedInstancesModificationId = &v
86710	return s
86711}
86712
86713type ModifySnapshotAttributeInput struct {
86714	_ struct{} `type:"structure"`
86715
86716	// The snapshot attribute to modify. Only volume creation permissions can be
86717	// modified.
86718	Attribute *string `type:"string" enum:"SnapshotAttributeName"`
86719
86720	// A JSON representation of the snapshot attribute modification.
86721	CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
86722
86723	// Checks whether you have the required permissions for the action, without
86724	// actually making the request, and provides an error response. If you have
86725	// the required permissions, the error response is DryRunOperation. Otherwise,
86726	// it is UnauthorizedOperation.
86727	DryRun *bool `locationName:"dryRun" type:"boolean"`
86728
86729	// The group to modify for the snapshot.
86730	GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
86731
86732	// The type of operation to perform to the attribute.
86733	OperationType *string `type:"string" enum:"OperationType"`
86734
86735	// The ID of the snapshot.
86736	//
86737	// SnapshotId is a required field
86738	SnapshotId *string `type:"string" required:"true"`
86739
86740	// The account ID to modify for the snapshot.
86741	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
86742}
86743
86744// String returns the string representation
86745func (s ModifySnapshotAttributeInput) String() string {
86746	return awsutil.Prettify(s)
86747}
86748
86749// GoString returns the string representation
86750func (s ModifySnapshotAttributeInput) GoString() string {
86751	return s.String()
86752}
86753
86754// Validate inspects the fields of the type to determine if they are valid.
86755func (s *ModifySnapshotAttributeInput) Validate() error {
86756	invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
86757	if s.SnapshotId == nil {
86758		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
86759	}
86760
86761	if invalidParams.Len() > 0 {
86762		return invalidParams
86763	}
86764	return nil
86765}
86766
86767// SetAttribute sets the Attribute field's value.
86768func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
86769	s.Attribute = &v
86770	return s
86771}
86772
86773// SetCreateVolumePermission sets the CreateVolumePermission field's value.
86774func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
86775	s.CreateVolumePermission = v
86776	return s
86777}
86778
86779// SetDryRun sets the DryRun field's value.
86780func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
86781	s.DryRun = &v
86782	return s
86783}
86784
86785// SetGroupNames sets the GroupNames field's value.
86786func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
86787	s.GroupNames = v
86788	return s
86789}
86790
86791// SetOperationType sets the OperationType field's value.
86792func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
86793	s.OperationType = &v
86794	return s
86795}
86796
86797// SetSnapshotId sets the SnapshotId field's value.
86798func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
86799	s.SnapshotId = &v
86800	return s
86801}
86802
86803// SetUserIds sets the UserIds field's value.
86804func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
86805	s.UserIds = v
86806	return s
86807}
86808
86809type ModifySnapshotAttributeOutput struct {
86810	_ struct{} `type:"structure"`
86811}
86812
86813// String returns the string representation
86814func (s ModifySnapshotAttributeOutput) String() string {
86815	return awsutil.Prettify(s)
86816}
86817
86818// GoString returns the string representation
86819func (s ModifySnapshotAttributeOutput) GoString() string {
86820	return s.String()
86821}
86822
86823// Contains the parameters for ModifySpotFleetRequest.
86824type ModifySpotFleetRequestInput struct {
86825	_ struct{} `type:"structure"`
86826
86827	// Indicates whether running Spot Instances should be terminated if the target
86828	// capacity of the Spot Fleet request is decreased below the current size of
86829	// the Spot Fleet.
86830	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
86831
86832	// The number of On-Demand Instances in the fleet.
86833	OnDemandTargetCapacity *int64 `type:"integer"`
86834
86835	// The ID of the Spot Fleet request.
86836	//
86837	// SpotFleetRequestId is a required field
86838	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
86839
86840	// The size of the fleet.
86841	TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
86842}
86843
86844// String returns the string representation
86845func (s ModifySpotFleetRequestInput) String() string {
86846	return awsutil.Prettify(s)
86847}
86848
86849// GoString returns the string representation
86850func (s ModifySpotFleetRequestInput) GoString() string {
86851	return s.String()
86852}
86853
86854// Validate inspects the fields of the type to determine if they are valid.
86855func (s *ModifySpotFleetRequestInput) Validate() error {
86856	invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
86857	if s.SpotFleetRequestId == nil {
86858		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
86859	}
86860
86861	if invalidParams.Len() > 0 {
86862		return invalidParams
86863	}
86864	return nil
86865}
86866
86867// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
86868func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
86869	s.ExcessCapacityTerminationPolicy = &v
86870	return s
86871}
86872
86873// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
86874func (s *ModifySpotFleetRequestInput) SetOnDemandTargetCapacity(v int64) *ModifySpotFleetRequestInput {
86875	s.OnDemandTargetCapacity = &v
86876	return s
86877}
86878
86879// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
86880func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
86881	s.SpotFleetRequestId = &v
86882	return s
86883}
86884
86885// SetTargetCapacity sets the TargetCapacity field's value.
86886func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
86887	s.TargetCapacity = &v
86888	return s
86889}
86890
86891// Contains the output of ModifySpotFleetRequest.
86892type ModifySpotFleetRequestOutput struct {
86893	_ struct{} `type:"structure"`
86894
86895	// Is true if the request succeeds, and an error otherwise.
86896	Return *bool `locationName:"return" type:"boolean"`
86897}
86898
86899// String returns the string representation
86900func (s ModifySpotFleetRequestOutput) String() string {
86901	return awsutil.Prettify(s)
86902}
86903
86904// GoString returns the string representation
86905func (s ModifySpotFleetRequestOutput) GoString() string {
86906	return s.String()
86907}
86908
86909// SetReturn sets the Return field's value.
86910func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
86911	s.Return = &v
86912	return s
86913}
86914
86915type ModifySubnetAttributeInput struct {
86916	_ struct{} `type:"structure"`
86917
86918	// Specify true to indicate that network interfaces created in the specified
86919	// subnet should be assigned an IPv6 address. This includes a network interface
86920	// that's created when launching an instance into the subnet (the instance therefore
86921	// receives an IPv6 address).
86922	//
86923	// If you enable the IPv6 addressing feature for your subnet, your network interface
86924	// or instance only receives an IPv6 address if it's created using version 2016-11-15
86925	// or later of the Amazon EC2 API.
86926	AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
86927
86928	// Specify true to indicate that ENIs attached to instances created in the specified
86929	// subnet should be assigned a public IPv4 address.
86930	MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
86931
86932	// The ID of the subnet.
86933	//
86934	// SubnetId is a required field
86935	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
86936}
86937
86938// String returns the string representation
86939func (s ModifySubnetAttributeInput) String() string {
86940	return awsutil.Prettify(s)
86941}
86942
86943// GoString returns the string representation
86944func (s ModifySubnetAttributeInput) GoString() string {
86945	return s.String()
86946}
86947
86948// Validate inspects the fields of the type to determine if they are valid.
86949func (s *ModifySubnetAttributeInput) Validate() error {
86950	invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
86951	if s.SubnetId == nil {
86952		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
86953	}
86954
86955	if invalidParams.Len() > 0 {
86956		return invalidParams
86957	}
86958	return nil
86959}
86960
86961// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
86962func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
86963	s.AssignIpv6AddressOnCreation = v
86964	return s
86965}
86966
86967// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
86968func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
86969	s.MapPublicIpOnLaunch = v
86970	return s
86971}
86972
86973// SetSubnetId sets the SubnetId field's value.
86974func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
86975	s.SubnetId = &v
86976	return s
86977}
86978
86979type ModifySubnetAttributeOutput struct {
86980	_ struct{} `type:"structure"`
86981}
86982
86983// String returns the string representation
86984func (s ModifySubnetAttributeOutput) String() string {
86985	return awsutil.Prettify(s)
86986}
86987
86988// GoString returns the string representation
86989func (s ModifySubnetAttributeOutput) GoString() string {
86990	return s.String()
86991}
86992
86993type ModifyTrafficMirrorFilterNetworkServicesInput struct {
86994	_ struct{} `type:"structure"`
86995
86996	// The network service, for example Amazon DNS, that you want to mirror.
86997	AddNetworkServices []*string `locationName:"AddNetworkService" locationNameList:"item" type:"list"`
86998
86999	// Checks whether you have the required permissions for the action, without
87000	// actually making the request, and provides an error response. If you have
87001	// the required permissions, the error response is DryRunOperation. Otherwise,
87002	// it is UnauthorizedOperation.
87003	DryRun *bool `type:"boolean"`
87004
87005	// The network service, for example Amazon DNS, that you no longer want to mirror.
87006	RemoveNetworkServices []*string `locationName:"RemoveNetworkService" locationNameList:"item" type:"list"`
87007
87008	// The ID of the Traffic Mirror filter.
87009	//
87010	// TrafficMirrorFilterId is a required field
87011	TrafficMirrorFilterId *string `type:"string" required:"true"`
87012}
87013
87014// String returns the string representation
87015func (s ModifyTrafficMirrorFilterNetworkServicesInput) String() string {
87016	return awsutil.Prettify(s)
87017}
87018
87019// GoString returns the string representation
87020func (s ModifyTrafficMirrorFilterNetworkServicesInput) GoString() string {
87021	return s.String()
87022}
87023
87024// Validate inspects the fields of the type to determine if they are valid.
87025func (s *ModifyTrafficMirrorFilterNetworkServicesInput) Validate() error {
87026	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterNetworkServicesInput"}
87027	if s.TrafficMirrorFilterId == nil {
87028		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
87029	}
87030
87031	if invalidParams.Len() > 0 {
87032		return invalidParams
87033	}
87034	return nil
87035}
87036
87037// SetAddNetworkServices sets the AddNetworkServices field's value.
87038func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetAddNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput {
87039	s.AddNetworkServices = v
87040	return s
87041}
87042
87043// SetDryRun sets the DryRun field's value.
87044func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterNetworkServicesInput {
87045	s.DryRun = &v
87046	return s
87047}
87048
87049// SetRemoveNetworkServices sets the RemoveNetworkServices field's value.
87050func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetRemoveNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput {
87051	s.RemoveNetworkServices = v
87052	return s
87053}
87054
87055// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
87056func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorFilterNetworkServicesInput {
87057	s.TrafficMirrorFilterId = &v
87058	return s
87059}
87060
87061type ModifyTrafficMirrorFilterNetworkServicesOutput struct {
87062	_ struct{} `type:"structure"`
87063
87064	// The Traffic Mirror filter that the network service is associated with.
87065	TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"`
87066}
87067
87068// String returns the string representation
87069func (s ModifyTrafficMirrorFilterNetworkServicesOutput) String() string {
87070	return awsutil.Prettify(s)
87071}
87072
87073// GoString returns the string representation
87074func (s ModifyTrafficMirrorFilterNetworkServicesOutput) GoString() string {
87075	return s.String()
87076}
87077
87078// SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value.
87079func (s *ModifyTrafficMirrorFilterNetworkServicesOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *ModifyTrafficMirrorFilterNetworkServicesOutput {
87080	s.TrafficMirrorFilter = v
87081	return s
87082}
87083
87084type ModifyTrafficMirrorFilterRuleInput struct {
87085	_ struct{} `type:"structure"`
87086
87087	// The description to assign to the Traffic Mirror rule.
87088	Description *string `type:"string"`
87089
87090	// The destination CIDR block to assign to the Traffic Mirror rule.
87091	DestinationCidrBlock *string `type:"string"`
87092
87093	// The destination ports that are associated with the Traffic Mirror rule.
87094	DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"`
87095
87096	// Checks whether you have the required permissions for the action, without
87097	// actually making the request, and provides an error response. If you have
87098	// the required permissions, the error response is DryRunOperation. Otherwise,
87099	// it is UnauthorizedOperation.
87100	DryRun *bool `type:"boolean"`
87101
87102	// The protocol, for example TCP, to assign to the Traffic Mirror rule.
87103	Protocol *int64 `type:"integer"`
87104
87105	// The properties that you want to remove from the Traffic Mirror filter rule.
87106	//
87107	// When you remove a property from a Traffic Mirror filter rule, the property
87108	// is set to the default.
87109	RemoveFields []*string `locationName:"RemoveField" type:"list"`
87110
87111	// The action to assign to the rule.
87112	RuleAction *string `type:"string" enum:"TrafficMirrorRuleAction"`
87113
87114	// The number of the Traffic Mirror rule. This number must be unique for each
87115	// Traffic Mirror rule in a given direction. The rules are processed in ascending
87116	// order by rule number.
87117	RuleNumber *int64 `type:"integer"`
87118
87119	// The source CIDR block to assign to the Traffic Mirror rule.
87120	SourceCidrBlock *string `type:"string"`
87121
87122	// The port range to assign to the Traffic Mirror rule.
87123	SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"`
87124
87125	// The type of traffic (ingress | egress) to assign to the rule.
87126	TrafficDirection *string `type:"string" enum:"TrafficDirection"`
87127
87128	// The ID of the Traffic Mirror rule.
87129	//
87130	// TrafficMirrorFilterRuleId is a required field
87131	TrafficMirrorFilterRuleId *string `type:"string" required:"true"`
87132}
87133
87134// String returns the string representation
87135func (s ModifyTrafficMirrorFilterRuleInput) String() string {
87136	return awsutil.Prettify(s)
87137}
87138
87139// GoString returns the string representation
87140func (s ModifyTrafficMirrorFilterRuleInput) GoString() string {
87141	return s.String()
87142}
87143
87144// Validate inspects the fields of the type to determine if they are valid.
87145func (s *ModifyTrafficMirrorFilterRuleInput) Validate() error {
87146	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterRuleInput"}
87147	if s.TrafficMirrorFilterRuleId == nil {
87148		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId"))
87149	}
87150
87151	if invalidParams.Len() > 0 {
87152		return invalidParams
87153	}
87154	return nil
87155}
87156
87157// SetDescription sets the Description field's value.
87158func (s *ModifyTrafficMirrorFilterRuleInput) SetDescription(v string) *ModifyTrafficMirrorFilterRuleInput {
87159	s.Description = &v
87160	return s
87161}
87162
87163// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
87164func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput {
87165	s.DestinationCidrBlock = &v
87166	return s
87167}
87168
87169// SetDestinationPortRange sets the DestinationPortRange field's value.
87170func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput {
87171	s.DestinationPortRange = v
87172	return s
87173}
87174
87175// SetDryRun sets the DryRun field's value.
87176func (s *ModifyTrafficMirrorFilterRuleInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterRuleInput {
87177	s.DryRun = &v
87178	return s
87179}
87180
87181// SetProtocol sets the Protocol field's value.
87182func (s *ModifyTrafficMirrorFilterRuleInput) SetProtocol(v int64) *ModifyTrafficMirrorFilterRuleInput {
87183	s.Protocol = &v
87184	return s
87185}
87186
87187// SetRemoveFields sets the RemoveFields field's value.
87188func (s *ModifyTrafficMirrorFilterRuleInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorFilterRuleInput {
87189	s.RemoveFields = v
87190	return s
87191}
87192
87193// SetRuleAction sets the RuleAction field's value.
87194func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleAction(v string) *ModifyTrafficMirrorFilterRuleInput {
87195	s.RuleAction = &v
87196	return s
87197}
87198
87199// SetRuleNumber sets the RuleNumber field's value.
87200func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *ModifyTrafficMirrorFilterRuleInput {
87201	s.RuleNumber = &v
87202	return s
87203}
87204
87205// SetSourceCidrBlock sets the SourceCidrBlock field's value.
87206func (s *ModifyTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput {
87207	s.SourceCidrBlock = &v
87208	return s
87209}
87210
87211// SetSourcePortRange sets the SourcePortRange field's value.
87212func (s *ModifyTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput {
87213	s.SourcePortRange = v
87214	return s
87215}
87216
87217// SetTrafficDirection sets the TrafficDirection field's value.
87218func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *ModifyTrafficMirrorFilterRuleInput {
87219	s.TrafficDirection = &v
87220	return s
87221}
87222
87223// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
87224func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *ModifyTrafficMirrorFilterRuleInput {
87225	s.TrafficMirrorFilterRuleId = &v
87226	return s
87227}
87228
87229type ModifyTrafficMirrorFilterRuleOutput struct {
87230	_ struct{} `type:"structure"`
87231
87232	// Modifies a Traffic Mirror rule.
87233	TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"`
87234}
87235
87236// String returns the string representation
87237func (s ModifyTrafficMirrorFilterRuleOutput) String() string {
87238	return awsutil.Prettify(s)
87239}
87240
87241// GoString returns the string representation
87242func (s ModifyTrafficMirrorFilterRuleOutput) GoString() string {
87243	return s.String()
87244}
87245
87246// SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value.
87247func (s *ModifyTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *ModifyTrafficMirrorFilterRuleOutput {
87248	s.TrafficMirrorFilterRule = v
87249	return s
87250}
87251
87252type ModifyTrafficMirrorSessionInput struct {
87253	_ struct{} `type:"structure"`
87254
87255	// The description to assign to the Traffic Mirror session.
87256	Description *string `type:"string"`
87257
87258	// Checks whether you have the required permissions for the action, without
87259	// actually making the request, and provides an error response. If you have
87260	// the required permissions, the error response is DryRunOperation. Otherwise,
87261	// it is UnauthorizedOperation.
87262	DryRun *bool `type:"boolean"`
87263
87264	// The number of bytes in each packet to mirror. These are bytes after the VXLAN
87265	// header. To mirror a subset, set this to the length (in bytes) to mirror.
87266	// For example, if you set this value to 100, then the first 100 bytes that
87267	// meet the filter criteria are copied to the target. Do not specify this parameter
87268	// when you want to mirror the entire packet.
87269	PacketLength *int64 `type:"integer"`
87270
87271	// The properties that you want to remove from the Traffic Mirror session.
87272	//
87273	// When you remove a property from a Traffic Mirror session, the property is
87274	// set to the default.
87275	RemoveFields []*string `locationName:"RemoveField" type:"list"`
87276
87277	// The session number determines the order in which sessions are evaluated when
87278	// an interface is used by multiple sessions. The first session with a matching
87279	// filter is the one that mirrors the packets.
87280	//
87281	// Valid values are 1-32766.
87282	SessionNumber *int64 `type:"integer"`
87283
87284	// The ID of the Traffic Mirror filter.
87285	TrafficMirrorFilterId *string `type:"string"`
87286
87287	// The ID of the Traffic Mirror session.
87288	//
87289	// TrafficMirrorSessionId is a required field
87290	TrafficMirrorSessionId *string `type:"string" required:"true"`
87291
87292	// The Traffic Mirror target. The target must be in the same VPC as the source,
87293	// or have a VPC peering connection with the source.
87294	TrafficMirrorTargetId *string `type:"string"`
87295
87296	// The virtual network ID of the Traffic Mirror session.
87297	VirtualNetworkId *int64 `type:"integer"`
87298}
87299
87300// String returns the string representation
87301func (s ModifyTrafficMirrorSessionInput) String() string {
87302	return awsutil.Prettify(s)
87303}
87304
87305// GoString returns the string representation
87306func (s ModifyTrafficMirrorSessionInput) GoString() string {
87307	return s.String()
87308}
87309
87310// Validate inspects the fields of the type to determine if they are valid.
87311func (s *ModifyTrafficMirrorSessionInput) Validate() error {
87312	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorSessionInput"}
87313	if s.TrafficMirrorSessionId == nil {
87314		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId"))
87315	}
87316
87317	if invalidParams.Len() > 0 {
87318		return invalidParams
87319	}
87320	return nil
87321}
87322
87323// SetDescription sets the Description field's value.
87324func (s *ModifyTrafficMirrorSessionInput) SetDescription(v string) *ModifyTrafficMirrorSessionInput {
87325	s.Description = &v
87326	return s
87327}
87328
87329// SetDryRun sets the DryRun field's value.
87330func (s *ModifyTrafficMirrorSessionInput) SetDryRun(v bool) *ModifyTrafficMirrorSessionInput {
87331	s.DryRun = &v
87332	return s
87333}
87334
87335// SetPacketLength sets the PacketLength field's value.
87336func (s *ModifyTrafficMirrorSessionInput) SetPacketLength(v int64) *ModifyTrafficMirrorSessionInput {
87337	s.PacketLength = &v
87338	return s
87339}
87340
87341// SetRemoveFields sets the RemoveFields field's value.
87342func (s *ModifyTrafficMirrorSessionInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorSessionInput {
87343	s.RemoveFields = v
87344	return s
87345}
87346
87347// SetSessionNumber sets the SessionNumber field's value.
87348func (s *ModifyTrafficMirrorSessionInput) SetSessionNumber(v int64) *ModifyTrafficMirrorSessionInput {
87349	s.SessionNumber = &v
87350	return s
87351}
87352
87353// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
87354func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorSessionInput {
87355	s.TrafficMirrorFilterId = &v
87356	return s
87357}
87358
87359// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
87360func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *ModifyTrafficMirrorSessionInput {
87361	s.TrafficMirrorSessionId = &v
87362	return s
87363}
87364
87365// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
87366func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *ModifyTrafficMirrorSessionInput {
87367	s.TrafficMirrorTargetId = &v
87368	return s
87369}
87370
87371// SetVirtualNetworkId sets the VirtualNetworkId field's value.
87372func (s *ModifyTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *ModifyTrafficMirrorSessionInput {
87373	s.VirtualNetworkId = &v
87374	return s
87375}
87376
87377type ModifyTrafficMirrorSessionOutput struct {
87378	_ struct{} `type:"structure"`
87379
87380	// Information about the Traffic Mirror session.
87381	TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"`
87382}
87383
87384// String returns the string representation
87385func (s ModifyTrafficMirrorSessionOutput) String() string {
87386	return awsutil.Prettify(s)
87387}
87388
87389// GoString returns the string representation
87390func (s ModifyTrafficMirrorSessionOutput) GoString() string {
87391	return s.String()
87392}
87393
87394// SetTrafficMirrorSession sets the TrafficMirrorSession field's value.
87395func (s *ModifyTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *ModifyTrafficMirrorSessionOutput {
87396	s.TrafficMirrorSession = v
87397	return s
87398}
87399
87400type ModifyTransitGatewayVpcAttachmentInput struct {
87401	_ struct{} `type:"structure"`
87402
87403	// The IDs of one or more subnets to add. You can specify at most one subnet
87404	// per Availability Zone.
87405	AddSubnetIds []*string `locationNameList:"item" type:"list"`
87406
87407	// Checks whether you have the required permissions for the action, without
87408	// actually making the request, and provides an error response. If you have
87409	// the required permissions, the error response is DryRunOperation. Otherwise,
87410	// it is UnauthorizedOperation.
87411	DryRun *bool `type:"boolean"`
87412
87413	// The new VPC attachment options.
87414	//
87415	// You cannot modify the IPv6 options.
87416	Options *ModifyTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
87417
87418	// The IDs of one or more subnets to remove.
87419	RemoveSubnetIds []*string `locationNameList:"item" type:"list"`
87420
87421	// The ID of the attachment.
87422	//
87423	// TransitGatewayAttachmentId is a required field
87424	TransitGatewayAttachmentId *string `type:"string" required:"true"`
87425}
87426
87427// String returns the string representation
87428func (s ModifyTransitGatewayVpcAttachmentInput) String() string {
87429	return awsutil.Prettify(s)
87430}
87431
87432// GoString returns the string representation
87433func (s ModifyTransitGatewayVpcAttachmentInput) GoString() string {
87434	return s.String()
87435}
87436
87437// Validate inspects the fields of the type to determine if they are valid.
87438func (s *ModifyTransitGatewayVpcAttachmentInput) Validate() error {
87439	invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayVpcAttachmentInput"}
87440	if s.TransitGatewayAttachmentId == nil {
87441		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
87442	}
87443
87444	if invalidParams.Len() > 0 {
87445		return invalidParams
87446	}
87447	return nil
87448}
87449
87450// SetAddSubnetIds sets the AddSubnetIds field's value.
87451func (s *ModifyTransitGatewayVpcAttachmentInput) SetAddSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
87452	s.AddSubnetIds = v
87453	return s
87454}
87455
87456// SetDryRun sets the DryRun field's value.
87457func (s *ModifyTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *ModifyTransitGatewayVpcAttachmentInput {
87458	s.DryRun = &v
87459	return s
87460}
87461
87462// SetOptions sets the Options field's value.
87463func (s *ModifyTransitGatewayVpcAttachmentInput) SetOptions(v *ModifyTransitGatewayVpcAttachmentRequestOptions) *ModifyTransitGatewayVpcAttachmentInput {
87464	s.Options = v
87465	return s
87466}
87467
87468// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
87469func (s *ModifyTransitGatewayVpcAttachmentInput) SetRemoveSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
87470	s.RemoveSubnetIds = v
87471	return s
87472}
87473
87474// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
87475func (s *ModifyTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *ModifyTransitGatewayVpcAttachmentInput {
87476	s.TransitGatewayAttachmentId = &v
87477	return s
87478}
87479
87480type ModifyTransitGatewayVpcAttachmentOutput struct {
87481	_ struct{} `type:"structure"`
87482
87483	// Information about the modified attachment.
87484	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
87485}
87486
87487// String returns the string representation
87488func (s ModifyTransitGatewayVpcAttachmentOutput) String() string {
87489	return awsutil.Prettify(s)
87490}
87491
87492// GoString returns the string representation
87493func (s ModifyTransitGatewayVpcAttachmentOutput) GoString() string {
87494	return s.String()
87495}
87496
87497// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
87498func (s *ModifyTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *ModifyTransitGatewayVpcAttachmentOutput {
87499	s.TransitGatewayVpcAttachment = v
87500	return s
87501}
87502
87503// Describes the options for a VPC attachment.
87504type ModifyTransitGatewayVpcAttachmentRequestOptions struct {
87505	_ struct{} `type:"structure"`
87506
87507	// Enable or disable DNS support. The default is enable.
87508	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
87509
87510	// Enable or disable IPv6 support. The default is enable.
87511	Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
87512}
87513
87514// String returns the string representation
87515func (s ModifyTransitGatewayVpcAttachmentRequestOptions) String() string {
87516	return awsutil.Prettify(s)
87517}
87518
87519// GoString returns the string representation
87520func (s ModifyTransitGatewayVpcAttachmentRequestOptions) GoString() string {
87521	return s.String()
87522}
87523
87524// SetDnsSupport sets the DnsSupport field's value.
87525func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
87526	s.DnsSupport = &v
87527	return s
87528}
87529
87530// SetIpv6Support sets the Ipv6Support field's value.
87531func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
87532	s.Ipv6Support = &v
87533	return s
87534}
87535
87536type ModifyVolumeAttributeInput struct {
87537	_ struct{} `type:"structure"`
87538
87539	// Indicates whether the volume should be auto-enabled for I/O operations.
87540	AutoEnableIO *AttributeBooleanValue `type:"structure"`
87541
87542	// Checks whether you have the required permissions for the action, without
87543	// actually making the request, and provides an error response. If you have
87544	// the required permissions, the error response is DryRunOperation. Otherwise,
87545	// it is UnauthorizedOperation.
87546	DryRun *bool `locationName:"dryRun" type:"boolean"`
87547
87548	// The ID of the volume.
87549	//
87550	// VolumeId is a required field
87551	VolumeId *string `type:"string" required:"true"`
87552}
87553
87554// String returns the string representation
87555func (s ModifyVolumeAttributeInput) String() string {
87556	return awsutil.Prettify(s)
87557}
87558
87559// GoString returns the string representation
87560func (s ModifyVolumeAttributeInput) GoString() string {
87561	return s.String()
87562}
87563
87564// Validate inspects the fields of the type to determine if they are valid.
87565func (s *ModifyVolumeAttributeInput) Validate() error {
87566	invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
87567	if s.VolumeId == nil {
87568		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
87569	}
87570
87571	if invalidParams.Len() > 0 {
87572		return invalidParams
87573	}
87574	return nil
87575}
87576
87577// SetAutoEnableIO sets the AutoEnableIO field's value.
87578func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
87579	s.AutoEnableIO = v
87580	return s
87581}
87582
87583// SetDryRun sets the DryRun field's value.
87584func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
87585	s.DryRun = &v
87586	return s
87587}
87588
87589// SetVolumeId sets the VolumeId field's value.
87590func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
87591	s.VolumeId = &v
87592	return s
87593}
87594
87595type ModifyVolumeAttributeOutput struct {
87596	_ struct{} `type:"structure"`
87597}
87598
87599// String returns the string representation
87600func (s ModifyVolumeAttributeOutput) String() string {
87601	return awsutil.Prettify(s)
87602}
87603
87604// GoString returns the string representation
87605func (s ModifyVolumeAttributeOutput) GoString() string {
87606	return s.String()
87607}
87608
87609type ModifyVolumeInput struct {
87610	_ struct{} `type:"structure"`
87611
87612	// Checks whether you have the required permissions for the action, without
87613	// actually making the request, and provides an error response. If you have
87614	// the required permissions, the error response is DryRunOperation. Otherwise,
87615	// it is UnauthorizedOperation.
87616	DryRun *bool `type:"boolean"`
87617
87618	// The target IOPS rate of the volume.
87619	//
87620	// This is only valid for Provisioned IOPS SSD (io1) volumes. For more information,
87621	// see Provisioned IOPS SSD (io1) Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops).
87622	//
87623	// Default: If no IOPS value is specified, the existing value is retained.
87624	Iops *int64 `type:"integer"`
87625
87626	// The target size of the volume, in GiB. The target volume size must be greater
87627	// than or equal to than the existing size of the volume. For information about
87628	// available EBS volume sizes, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
87629	//
87630	// Default: If no size is specified, the existing size is retained.
87631	Size *int64 `type:"integer"`
87632
87633	// The ID of the volume.
87634	//
87635	// VolumeId is a required field
87636	VolumeId *string `type:"string" required:"true"`
87637
87638	// The target EBS volume type of the volume.
87639	//
87640	// Default: If no type is specified, the existing type is retained.
87641	VolumeType *string `type:"string" enum:"VolumeType"`
87642}
87643
87644// String returns the string representation
87645func (s ModifyVolumeInput) String() string {
87646	return awsutil.Prettify(s)
87647}
87648
87649// GoString returns the string representation
87650func (s ModifyVolumeInput) GoString() string {
87651	return s.String()
87652}
87653
87654// Validate inspects the fields of the type to determine if they are valid.
87655func (s *ModifyVolumeInput) Validate() error {
87656	invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
87657	if s.VolumeId == nil {
87658		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
87659	}
87660
87661	if invalidParams.Len() > 0 {
87662		return invalidParams
87663	}
87664	return nil
87665}
87666
87667// SetDryRun sets the DryRun field's value.
87668func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
87669	s.DryRun = &v
87670	return s
87671}
87672
87673// SetIops sets the Iops field's value.
87674func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
87675	s.Iops = &v
87676	return s
87677}
87678
87679// SetSize sets the Size field's value.
87680func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
87681	s.Size = &v
87682	return s
87683}
87684
87685// SetVolumeId sets the VolumeId field's value.
87686func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
87687	s.VolumeId = &v
87688	return s
87689}
87690
87691// SetVolumeType sets the VolumeType field's value.
87692func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
87693	s.VolumeType = &v
87694	return s
87695}
87696
87697type ModifyVolumeOutput struct {
87698	_ struct{} `type:"structure"`
87699
87700	// Information about the volume modification.
87701	VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
87702}
87703
87704// String returns the string representation
87705func (s ModifyVolumeOutput) String() string {
87706	return awsutil.Prettify(s)
87707}
87708
87709// GoString returns the string representation
87710func (s ModifyVolumeOutput) GoString() string {
87711	return s.String()
87712}
87713
87714// SetVolumeModification sets the VolumeModification field's value.
87715func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
87716	s.VolumeModification = v
87717	return s
87718}
87719
87720type ModifyVpcAttributeInput struct {
87721	_ struct{} `type:"structure"`
87722
87723	// Indicates whether the instances launched in the VPC get DNS hostnames. If
87724	// enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
87725	//
87726	// You cannot modify the DNS resolution and DNS hostnames attributes in the
87727	// same request. Use separate requests for each attribute. You can only enable
87728	// DNS hostnames if you've enabled DNS support.
87729	EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
87730
87731	// Indicates whether the DNS resolution is supported for the VPC. If enabled,
87732	// queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
87733	// or the reserved IP address at the base of the VPC network range "plus two"
87734	// succeed. If disabled, the Amazon provided DNS service in the VPC that resolves
87735	// public DNS hostnames to IP addresses is not enabled.
87736	//
87737	// You cannot modify the DNS resolution and DNS hostnames attributes in the
87738	// same request. Use separate requests for each attribute.
87739	EnableDnsSupport *AttributeBooleanValue `type:"structure"`
87740
87741	// The ID of the VPC.
87742	//
87743	// VpcId is a required field
87744	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
87745}
87746
87747// String returns the string representation
87748func (s ModifyVpcAttributeInput) String() string {
87749	return awsutil.Prettify(s)
87750}
87751
87752// GoString returns the string representation
87753func (s ModifyVpcAttributeInput) GoString() string {
87754	return s.String()
87755}
87756
87757// Validate inspects the fields of the type to determine if they are valid.
87758func (s *ModifyVpcAttributeInput) Validate() error {
87759	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
87760	if s.VpcId == nil {
87761		invalidParams.Add(request.NewErrParamRequired("VpcId"))
87762	}
87763
87764	if invalidParams.Len() > 0 {
87765		return invalidParams
87766	}
87767	return nil
87768}
87769
87770// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
87771func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
87772	s.EnableDnsHostnames = v
87773	return s
87774}
87775
87776// SetEnableDnsSupport sets the EnableDnsSupport field's value.
87777func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
87778	s.EnableDnsSupport = v
87779	return s
87780}
87781
87782// SetVpcId sets the VpcId field's value.
87783func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
87784	s.VpcId = &v
87785	return s
87786}
87787
87788type ModifyVpcAttributeOutput struct {
87789	_ struct{} `type:"structure"`
87790}
87791
87792// String returns the string representation
87793func (s ModifyVpcAttributeOutput) String() string {
87794	return awsutil.Prettify(s)
87795}
87796
87797// GoString returns the string representation
87798func (s ModifyVpcAttributeOutput) GoString() string {
87799	return s.String()
87800}
87801
87802type ModifyVpcEndpointConnectionNotificationInput struct {
87803	_ struct{} `type:"structure"`
87804
87805	// One or more events for the endpoint. Valid values are Accept, Connect, Delete,
87806	// and Reject.
87807	ConnectionEvents []*string `locationNameList:"item" type:"list"`
87808
87809	// The ARN for the SNS topic for the notification.
87810	ConnectionNotificationArn *string `type:"string"`
87811
87812	// The ID of the notification.
87813	//
87814	// ConnectionNotificationId is a required field
87815	ConnectionNotificationId *string `type:"string" required:"true"`
87816
87817	// Checks whether you have the required permissions for the action, without
87818	// actually making the request, and provides an error response. If you have
87819	// the required permissions, the error response is DryRunOperation. Otherwise,
87820	// it is UnauthorizedOperation.
87821	DryRun *bool `type:"boolean"`
87822}
87823
87824// String returns the string representation
87825func (s ModifyVpcEndpointConnectionNotificationInput) String() string {
87826	return awsutil.Prettify(s)
87827}
87828
87829// GoString returns the string representation
87830func (s ModifyVpcEndpointConnectionNotificationInput) GoString() string {
87831	return s.String()
87832}
87833
87834// Validate inspects the fields of the type to determine if they are valid.
87835func (s *ModifyVpcEndpointConnectionNotificationInput) Validate() error {
87836	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointConnectionNotificationInput"}
87837	if s.ConnectionNotificationId == nil {
87838		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationId"))
87839	}
87840
87841	if invalidParams.Len() > 0 {
87842		return invalidParams
87843	}
87844	return nil
87845}
87846
87847// SetConnectionEvents sets the ConnectionEvents field's value.
87848func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *ModifyVpcEndpointConnectionNotificationInput {
87849	s.ConnectionEvents = v
87850	return s
87851}
87852
87853// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
87854func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *ModifyVpcEndpointConnectionNotificationInput {
87855	s.ConnectionNotificationArn = &v
87856	return s
87857}
87858
87859// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
87860func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationId(v string) *ModifyVpcEndpointConnectionNotificationInput {
87861	s.ConnectionNotificationId = &v
87862	return s
87863}
87864
87865// SetDryRun sets the DryRun field's value.
87866func (s *ModifyVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *ModifyVpcEndpointConnectionNotificationInput {
87867	s.DryRun = &v
87868	return s
87869}
87870
87871type ModifyVpcEndpointConnectionNotificationOutput struct {
87872	_ struct{} `type:"structure"`
87873
87874	// Returns true if the request succeeds; otherwise, it returns an error.
87875	ReturnValue *bool `locationName:"return" type:"boolean"`
87876}
87877
87878// String returns the string representation
87879func (s ModifyVpcEndpointConnectionNotificationOutput) String() string {
87880	return awsutil.Prettify(s)
87881}
87882
87883// GoString returns the string representation
87884func (s ModifyVpcEndpointConnectionNotificationOutput) GoString() string {
87885	return s.String()
87886}
87887
87888// SetReturnValue sets the ReturnValue field's value.
87889func (s *ModifyVpcEndpointConnectionNotificationOutput) SetReturnValue(v bool) *ModifyVpcEndpointConnectionNotificationOutput {
87890	s.ReturnValue = &v
87891	return s
87892}
87893
87894// Contains the parameters for ModifyVpcEndpoint.
87895type ModifyVpcEndpointInput struct {
87896	_ struct{} `type:"structure"`
87897
87898	// (Gateway endpoint) One or more route tables IDs to associate with the endpoint.
87899	AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
87900
87901	// (Interface endpoint) One or more security group IDs to associate with the
87902	// network interface.
87903	AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
87904
87905	// (Interface endpoint) One or more subnet IDs in which to serve the endpoint.
87906	AddSubnetIds []*string `locationName:"AddSubnetId" locationNameList:"item" type:"list"`
87907
87908	// Checks whether you have the required permissions for the action, without
87909	// actually making the request, and provides an error response. If you have
87910	// the required permissions, the error response is DryRunOperation. Otherwise,
87911	// it is UnauthorizedOperation.
87912	DryRun *bool `type:"boolean"`
87913
87914	// A policy to attach to the endpoint that controls access to the service. The
87915	// policy must be in valid JSON format.
87916	PolicyDocument *string `type:"string"`
87917
87918	// (Interface endpoint) Indicates whether a private hosted zone is associated
87919	// with the VPC.
87920	PrivateDnsEnabled *bool `type:"boolean"`
87921
87922	// (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.
87923	RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
87924
87925	// (Interface endpoint) One or more security group IDs to disassociate from
87926	// the network interface.
87927	RemoveSecurityGroupIds []*string `locationName:"RemoveSecurityGroupId" locationNameList:"item" type:"list"`
87928
87929	// (Interface endpoint) One or more subnets IDs in which to remove the endpoint.
87930	RemoveSubnetIds []*string `locationName:"RemoveSubnetId" locationNameList:"item" type:"list"`
87931
87932	// (Gateway endpoint) Specify true to reset the policy document to the default
87933	// policy. The default policy allows full access to the service.
87934	ResetPolicy *bool `type:"boolean"`
87935
87936	// The ID of the endpoint.
87937	//
87938	// VpcEndpointId is a required field
87939	VpcEndpointId *string `type:"string" required:"true"`
87940}
87941
87942// String returns the string representation
87943func (s ModifyVpcEndpointInput) String() string {
87944	return awsutil.Prettify(s)
87945}
87946
87947// GoString returns the string representation
87948func (s ModifyVpcEndpointInput) GoString() string {
87949	return s.String()
87950}
87951
87952// Validate inspects the fields of the type to determine if they are valid.
87953func (s *ModifyVpcEndpointInput) Validate() error {
87954	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
87955	if s.VpcEndpointId == nil {
87956		invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
87957	}
87958
87959	if invalidParams.Len() > 0 {
87960		return invalidParams
87961	}
87962	return nil
87963}
87964
87965// SetAddRouteTableIds sets the AddRouteTableIds field's value.
87966func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
87967	s.AddRouteTableIds = v
87968	return s
87969}
87970
87971// SetAddSecurityGroupIds sets the AddSecurityGroupIds field's value.
87972func (s *ModifyVpcEndpointInput) SetAddSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
87973	s.AddSecurityGroupIds = v
87974	return s
87975}
87976
87977// SetAddSubnetIds sets the AddSubnetIds field's value.
87978func (s *ModifyVpcEndpointInput) SetAddSubnetIds(v []*string) *ModifyVpcEndpointInput {
87979	s.AddSubnetIds = v
87980	return s
87981}
87982
87983// SetDryRun sets the DryRun field's value.
87984func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
87985	s.DryRun = &v
87986	return s
87987}
87988
87989// SetPolicyDocument sets the PolicyDocument field's value.
87990func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
87991	s.PolicyDocument = &v
87992	return s
87993}
87994
87995// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
87996func (s *ModifyVpcEndpointInput) SetPrivateDnsEnabled(v bool) *ModifyVpcEndpointInput {
87997	s.PrivateDnsEnabled = &v
87998	return s
87999}
88000
88001// SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
88002func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
88003	s.RemoveRouteTableIds = v
88004	return s
88005}
88006
88007// SetRemoveSecurityGroupIds sets the RemoveSecurityGroupIds field's value.
88008func (s *ModifyVpcEndpointInput) SetRemoveSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
88009	s.RemoveSecurityGroupIds = v
88010	return s
88011}
88012
88013// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
88014func (s *ModifyVpcEndpointInput) SetRemoveSubnetIds(v []*string) *ModifyVpcEndpointInput {
88015	s.RemoveSubnetIds = v
88016	return s
88017}
88018
88019// SetResetPolicy sets the ResetPolicy field's value.
88020func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
88021	s.ResetPolicy = &v
88022	return s
88023}
88024
88025// SetVpcEndpointId sets the VpcEndpointId field's value.
88026func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
88027	s.VpcEndpointId = &v
88028	return s
88029}
88030
88031type ModifyVpcEndpointOutput struct {
88032	_ struct{} `type:"structure"`
88033
88034	// Returns true if the request succeeds; otherwise, it returns an error.
88035	Return *bool `locationName:"return" type:"boolean"`
88036}
88037
88038// String returns the string representation
88039func (s ModifyVpcEndpointOutput) String() string {
88040	return awsutil.Prettify(s)
88041}
88042
88043// GoString returns the string representation
88044func (s ModifyVpcEndpointOutput) GoString() string {
88045	return s.String()
88046}
88047
88048// SetReturn sets the Return field's value.
88049func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
88050	s.Return = &v
88051	return s
88052}
88053
88054type ModifyVpcEndpointServiceConfigurationInput struct {
88055	_ struct{} `type:"structure"`
88056
88057	// Indicates whether requests to create an endpoint to your service must be
88058	// accepted.
88059	AcceptanceRequired *bool `type:"boolean"`
88060
88061	// The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
88062	// service configuration.
88063	AddNetworkLoadBalancerArns []*string `locationName:"AddNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
88064
88065	// Checks whether you have the required permissions for the action, without
88066	// actually making the request, and provides an error response. If you have
88067	// the required permissions, the error response is DryRunOperation. Otherwise,
88068	// it is UnauthorizedOperation.
88069	DryRun *bool `type:"boolean"`
88070
88071	// The private DNS name to assign to the endpoint service.
88072	PrivateDnsName *string `type:"string"`
88073
88074	// The Amazon Resource Names (ARNs) of Network Load Balancers to remove from
88075	// your service configuration.
88076	RemoveNetworkLoadBalancerArns []*string `locationName:"RemoveNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
88077
88078	// Removes the private DNS name of the endpoint service.
88079	RemovePrivateDnsName *bool `type:"boolean"`
88080
88081	// The ID of the service.
88082	//
88083	// ServiceId is a required field
88084	ServiceId *string `type:"string" required:"true"`
88085}
88086
88087// String returns the string representation
88088func (s ModifyVpcEndpointServiceConfigurationInput) String() string {
88089	return awsutil.Prettify(s)
88090}
88091
88092// GoString returns the string representation
88093func (s ModifyVpcEndpointServiceConfigurationInput) GoString() string {
88094	return s.String()
88095}
88096
88097// Validate inspects the fields of the type to determine if they are valid.
88098func (s *ModifyVpcEndpointServiceConfigurationInput) Validate() error {
88099	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServiceConfigurationInput"}
88100	if s.ServiceId == nil {
88101		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
88102	}
88103
88104	if invalidParams.Len() > 0 {
88105		return invalidParams
88106	}
88107	return nil
88108}
88109
88110// SetAcceptanceRequired sets the AcceptanceRequired field's value.
88111func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *ModifyVpcEndpointServiceConfigurationInput {
88112	s.AcceptanceRequired = &v
88113	return s
88114}
88115
88116// SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
88117func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
88118	s.AddNetworkLoadBalancerArns = v
88119	return s
88120}
88121
88122// SetDryRun sets the DryRun field's value.
88123func (s *ModifyVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *ModifyVpcEndpointServiceConfigurationInput {
88124	s.DryRun = &v
88125	return s
88126}
88127
88128// SetPrivateDnsName sets the PrivateDnsName field's value.
88129func (s *ModifyVpcEndpointServiceConfigurationInput) SetPrivateDnsName(v string) *ModifyVpcEndpointServiceConfigurationInput {
88130	s.PrivateDnsName = &v
88131	return s
88132}
88133
88134// SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
88135func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
88136	s.RemoveNetworkLoadBalancerArns = v
88137	return s
88138}
88139
88140// SetRemovePrivateDnsName sets the RemovePrivateDnsName field's value.
88141func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemovePrivateDnsName(v bool) *ModifyVpcEndpointServiceConfigurationInput {
88142	s.RemovePrivateDnsName = &v
88143	return s
88144}
88145
88146// SetServiceId sets the ServiceId field's value.
88147func (s *ModifyVpcEndpointServiceConfigurationInput) SetServiceId(v string) *ModifyVpcEndpointServiceConfigurationInput {
88148	s.ServiceId = &v
88149	return s
88150}
88151
88152type ModifyVpcEndpointServiceConfigurationOutput struct {
88153	_ struct{} `type:"structure"`
88154
88155	// Returns true if the request succeeds; otherwise, it returns an error.
88156	Return *bool `locationName:"return" type:"boolean"`
88157}
88158
88159// String returns the string representation
88160func (s ModifyVpcEndpointServiceConfigurationOutput) String() string {
88161	return awsutil.Prettify(s)
88162}
88163
88164// GoString returns the string representation
88165func (s ModifyVpcEndpointServiceConfigurationOutput) GoString() string {
88166	return s.String()
88167}
88168
88169// SetReturn sets the Return field's value.
88170func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyVpcEndpointServiceConfigurationOutput {
88171	s.Return = &v
88172	return s
88173}
88174
88175type ModifyVpcEndpointServicePermissionsInput struct {
88176	_ struct{} `type:"structure"`
88177
88178	// The Amazon Resource Names (ARN) of one or more principals. Permissions are
88179	// granted to the principals in this list. To grant permissions to all principals,
88180	// specify an asterisk (*).
88181	AddAllowedPrincipals []*string `locationNameList:"item" type:"list"`
88182
88183	// Checks whether you have the required permissions for the action, without
88184	// actually making the request, and provides an error response. If you have
88185	// the required permissions, the error response is DryRunOperation. Otherwise,
88186	// it is UnauthorizedOperation.
88187	DryRun *bool `type:"boolean"`
88188
88189	// The Amazon Resource Names (ARN) of one or more principals. Permissions are
88190	// revoked for principals in this list.
88191	RemoveAllowedPrincipals []*string `locationNameList:"item" type:"list"`
88192
88193	// The ID of the service.
88194	//
88195	// ServiceId is a required field
88196	ServiceId *string `type:"string" required:"true"`
88197}
88198
88199// String returns the string representation
88200func (s ModifyVpcEndpointServicePermissionsInput) String() string {
88201	return awsutil.Prettify(s)
88202}
88203
88204// GoString returns the string representation
88205func (s ModifyVpcEndpointServicePermissionsInput) GoString() string {
88206	return s.String()
88207}
88208
88209// Validate inspects the fields of the type to determine if they are valid.
88210func (s *ModifyVpcEndpointServicePermissionsInput) Validate() error {
88211	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePermissionsInput"}
88212	if s.ServiceId == nil {
88213		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
88214	}
88215
88216	if invalidParams.Len() > 0 {
88217		return invalidParams
88218	}
88219	return nil
88220}
88221
88222// SetAddAllowedPrincipals sets the AddAllowedPrincipals field's value.
88223func (s *ModifyVpcEndpointServicePermissionsInput) SetAddAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
88224	s.AddAllowedPrincipals = v
88225	return s
88226}
88227
88228// SetDryRun sets the DryRun field's value.
88229func (s *ModifyVpcEndpointServicePermissionsInput) SetDryRun(v bool) *ModifyVpcEndpointServicePermissionsInput {
88230	s.DryRun = &v
88231	return s
88232}
88233
88234// SetRemoveAllowedPrincipals sets the RemoveAllowedPrincipals field's value.
88235func (s *ModifyVpcEndpointServicePermissionsInput) SetRemoveAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
88236	s.RemoveAllowedPrincipals = v
88237	return s
88238}
88239
88240// SetServiceId sets the ServiceId field's value.
88241func (s *ModifyVpcEndpointServicePermissionsInput) SetServiceId(v string) *ModifyVpcEndpointServicePermissionsInput {
88242	s.ServiceId = &v
88243	return s
88244}
88245
88246type ModifyVpcEndpointServicePermissionsOutput struct {
88247	_ struct{} `type:"structure"`
88248
88249	// Returns true if the request succeeds; otherwise, it returns an error.
88250	ReturnValue *bool `locationName:"return" type:"boolean"`
88251}
88252
88253// String returns the string representation
88254func (s ModifyVpcEndpointServicePermissionsOutput) String() string {
88255	return awsutil.Prettify(s)
88256}
88257
88258// GoString returns the string representation
88259func (s ModifyVpcEndpointServicePermissionsOutput) GoString() string {
88260	return s.String()
88261}
88262
88263// SetReturnValue sets the ReturnValue field's value.
88264func (s *ModifyVpcEndpointServicePermissionsOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePermissionsOutput {
88265	s.ReturnValue = &v
88266	return s
88267}
88268
88269type ModifyVpcPeeringConnectionOptionsInput struct {
88270	_ struct{} `type:"structure"`
88271
88272	// The VPC peering connection options for the accepter VPC.
88273	AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
88274
88275	// Checks whether you have the required permissions for the action, without
88276	// actually making the request, and provides an error response. If you have
88277	// the required permissions, the error response is DryRunOperation. Otherwise,
88278	// it is UnauthorizedOperation.
88279	DryRun *bool `type:"boolean"`
88280
88281	// The VPC peering connection options for the requester VPC.
88282	RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
88283
88284	// The ID of the VPC peering connection.
88285	//
88286	// VpcPeeringConnectionId is a required field
88287	VpcPeeringConnectionId *string `type:"string" required:"true"`
88288}
88289
88290// String returns the string representation
88291func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
88292	return awsutil.Prettify(s)
88293}
88294
88295// GoString returns the string representation
88296func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
88297	return s.String()
88298}
88299
88300// Validate inspects the fields of the type to determine if they are valid.
88301func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
88302	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
88303	if s.VpcPeeringConnectionId == nil {
88304		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
88305	}
88306
88307	if invalidParams.Len() > 0 {
88308		return invalidParams
88309	}
88310	return nil
88311}
88312
88313// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
88314func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
88315	s.AccepterPeeringConnectionOptions = v
88316	return s
88317}
88318
88319// SetDryRun sets the DryRun field's value.
88320func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
88321	s.DryRun = &v
88322	return s
88323}
88324
88325// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
88326func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
88327	s.RequesterPeeringConnectionOptions = v
88328	return s
88329}
88330
88331// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
88332func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
88333	s.VpcPeeringConnectionId = &v
88334	return s
88335}
88336
88337type ModifyVpcPeeringConnectionOptionsOutput struct {
88338	_ struct{} `type:"structure"`
88339
88340	// Information about the VPC peering connection options for the accepter VPC.
88341	AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
88342
88343	// Information about the VPC peering connection options for the requester VPC.
88344	RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
88345}
88346
88347// String returns the string representation
88348func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
88349	return awsutil.Prettify(s)
88350}
88351
88352// GoString returns the string representation
88353func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
88354	return s.String()
88355}
88356
88357// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
88358func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
88359	s.AccepterPeeringConnectionOptions = v
88360	return s
88361}
88362
88363// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
88364func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
88365	s.RequesterPeeringConnectionOptions = v
88366	return s
88367}
88368
88369type ModifyVpcTenancyInput struct {
88370	_ struct{} `type:"structure"`
88371
88372	// Checks whether you have the required permissions for the action, without
88373	// actually making the request, and provides an error response. If you have
88374	// the required permissions, the error response is DryRunOperation. Otherwise,
88375	// it is UnauthorizedOperation.
88376	DryRun *bool `type:"boolean"`
88377
88378	// The instance tenancy attribute for the VPC.
88379	//
88380	// InstanceTenancy is a required field
88381	InstanceTenancy *string `type:"string" required:"true" enum:"VpcTenancy"`
88382
88383	// The ID of the VPC.
88384	//
88385	// VpcId is a required field
88386	VpcId *string `type:"string" required:"true"`
88387}
88388
88389// String returns the string representation
88390func (s ModifyVpcTenancyInput) String() string {
88391	return awsutil.Prettify(s)
88392}
88393
88394// GoString returns the string representation
88395func (s ModifyVpcTenancyInput) GoString() string {
88396	return s.String()
88397}
88398
88399// Validate inspects the fields of the type to determine if they are valid.
88400func (s *ModifyVpcTenancyInput) Validate() error {
88401	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcTenancyInput"}
88402	if s.InstanceTenancy == nil {
88403		invalidParams.Add(request.NewErrParamRequired("InstanceTenancy"))
88404	}
88405	if s.VpcId == nil {
88406		invalidParams.Add(request.NewErrParamRequired("VpcId"))
88407	}
88408
88409	if invalidParams.Len() > 0 {
88410		return invalidParams
88411	}
88412	return nil
88413}
88414
88415// SetDryRun sets the DryRun field's value.
88416func (s *ModifyVpcTenancyInput) SetDryRun(v bool) *ModifyVpcTenancyInput {
88417	s.DryRun = &v
88418	return s
88419}
88420
88421// SetInstanceTenancy sets the InstanceTenancy field's value.
88422func (s *ModifyVpcTenancyInput) SetInstanceTenancy(v string) *ModifyVpcTenancyInput {
88423	s.InstanceTenancy = &v
88424	return s
88425}
88426
88427// SetVpcId sets the VpcId field's value.
88428func (s *ModifyVpcTenancyInput) SetVpcId(v string) *ModifyVpcTenancyInput {
88429	s.VpcId = &v
88430	return s
88431}
88432
88433type ModifyVpcTenancyOutput struct {
88434	_ struct{} `type:"structure"`
88435
88436	// Returns true if the request succeeds; otherwise, returns an error.
88437	ReturnValue *bool `locationName:"return" type:"boolean"`
88438}
88439
88440// String returns the string representation
88441func (s ModifyVpcTenancyOutput) String() string {
88442	return awsutil.Prettify(s)
88443}
88444
88445// GoString returns the string representation
88446func (s ModifyVpcTenancyOutput) GoString() string {
88447	return s.String()
88448}
88449
88450// SetReturnValue sets the ReturnValue field's value.
88451func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput {
88452	s.ReturnValue = &v
88453	return s
88454}
88455
88456type ModifyVpnConnectionInput struct {
88457	_ struct{} `type:"structure"`
88458
88459	// The ID of the customer gateway at your end of the VPN connection.
88460	CustomerGatewayId *string `type:"string"`
88461
88462	// Checks whether you have the required permissions for the action, without
88463	// actually making the request, and provides an error response. If you have
88464	// the required permissions, the error response is DryRunOperation. Otherwise,
88465	// it is UnauthorizedOperation.
88466	DryRun *bool `type:"boolean"`
88467
88468	// The ID of the transit gateway.
88469	TransitGatewayId *string `type:"string"`
88470
88471	// The ID of the VPN connection.
88472	//
88473	// VpnConnectionId is a required field
88474	VpnConnectionId *string `type:"string" required:"true"`
88475
88476	// The ID of the virtual private gateway at the AWS side of the VPN connection.
88477	VpnGatewayId *string `type:"string"`
88478}
88479
88480// String returns the string representation
88481func (s ModifyVpnConnectionInput) String() string {
88482	return awsutil.Prettify(s)
88483}
88484
88485// GoString returns the string representation
88486func (s ModifyVpnConnectionInput) GoString() string {
88487	return s.String()
88488}
88489
88490// Validate inspects the fields of the type to determine if they are valid.
88491func (s *ModifyVpnConnectionInput) Validate() error {
88492	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnConnectionInput"}
88493	if s.VpnConnectionId == nil {
88494		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
88495	}
88496
88497	if invalidParams.Len() > 0 {
88498		return invalidParams
88499	}
88500	return nil
88501}
88502
88503// SetCustomerGatewayId sets the CustomerGatewayId field's value.
88504func (s *ModifyVpnConnectionInput) SetCustomerGatewayId(v string) *ModifyVpnConnectionInput {
88505	s.CustomerGatewayId = &v
88506	return s
88507}
88508
88509// SetDryRun sets the DryRun field's value.
88510func (s *ModifyVpnConnectionInput) SetDryRun(v bool) *ModifyVpnConnectionInput {
88511	s.DryRun = &v
88512	return s
88513}
88514
88515// SetTransitGatewayId sets the TransitGatewayId field's value.
88516func (s *ModifyVpnConnectionInput) SetTransitGatewayId(v string) *ModifyVpnConnectionInput {
88517	s.TransitGatewayId = &v
88518	return s
88519}
88520
88521// SetVpnConnectionId sets the VpnConnectionId field's value.
88522func (s *ModifyVpnConnectionInput) SetVpnConnectionId(v string) *ModifyVpnConnectionInput {
88523	s.VpnConnectionId = &v
88524	return s
88525}
88526
88527// SetVpnGatewayId sets the VpnGatewayId field's value.
88528func (s *ModifyVpnConnectionInput) SetVpnGatewayId(v string) *ModifyVpnConnectionInput {
88529	s.VpnGatewayId = &v
88530	return s
88531}
88532
88533type ModifyVpnConnectionOutput struct {
88534	_ struct{} `type:"structure"`
88535
88536	// Describes a VPN connection.
88537	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
88538}
88539
88540// String returns the string representation
88541func (s ModifyVpnConnectionOutput) String() string {
88542	return awsutil.Prettify(s)
88543}
88544
88545// GoString returns the string representation
88546func (s ModifyVpnConnectionOutput) GoString() string {
88547	return s.String()
88548}
88549
88550// SetVpnConnection sets the VpnConnection field's value.
88551func (s *ModifyVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnConnectionOutput {
88552	s.VpnConnection = v
88553	return s
88554}
88555
88556type ModifyVpnTunnelCertificateInput struct {
88557	_ struct{} `type:"structure"`
88558
88559	// Checks whether you have the required permissions for the action, without
88560	// actually making the request, and provides an error response. If you have
88561	// the required permissions, the error response is DryRunOperation. Otherwise,
88562	// it is UnauthorizedOperation.
88563	DryRun *bool `type:"boolean"`
88564
88565	// The ID of the AWS Site-to-Site VPN connection.
88566	//
88567	// VpnConnectionId is a required field
88568	VpnConnectionId *string `type:"string" required:"true"`
88569
88570	// The external IP address of the VPN tunnel.
88571	//
88572	// VpnTunnelOutsideIpAddress is a required field
88573	VpnTunnelOutsideIpAddress *string `type:"string" required:"true"`
88574}
88575
88576// String returns the string representation
88577func (s ModifyVpnTunnelCertificateInput) String() string {
88578	return awsutil.Prettify(s)
88579}
88580
88581// GoString returns the string representation
88582func (s ModifyVpnTunnelCertificateInput) GoString() string {
88583	return s.String()
88584}
88585
88586// Validate inspects the fields of the type to determine if they are valid.
88587func (s *ModifyVpnTunnelCertificateInput) Validate() error {
88588	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelCertificateInput"}
88589	if s.VpnConnectionId == nil {
88590		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
88591	}
88592	if s.VpnTunnelOutsideIpAddress == nil {
88593		invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress"))
88594	}
88595
88596	if invalidParams.Len() > 0 {
88597		return invalidParams
88598	}
88599	return nil
88600}
88601
88602// SetDryRun sets the DryRun field's value.
88603func (s *ModifyVpnTunnelCertificateInput) SetDryRun(v bool) *ModifyVpnTunnelCertificateInput {
88604	s.DryRun = &v
88605	return s
88606}
88607
88608// SetVpnConnectionId sets the VpnConnectionId field's value.
88609func (s *ModifyVpnTunnelCertificateInput) SetVpnConnectionId(v string) *ModifyVpnTunnelCertificateInput {
88610	s.VpnConnectionId = &v
88611	return s
88612}
88613
88614// SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value.
88615func (s *ModifyVpnTunnelCertificateInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelCertificateInput {
88616	s.VpnTunnelOutsideIpAddress = &v
88617	return s
88618}
88619
88620type ModifyVpnTunnelCertificateOutput struct {
88621	_ struct{} `type:"structure"`
88622
88623	// Describes a VPN connection.
88624	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
88625}
88626
88627// String returns the string representation
88628func (s ModifyVpnTunnelCertificateOutput) String() string {
88629	return awsutil.Prettify(s)
88630}
88631
88632// GoString returns the string representation
88633func (s ModifyVpnTunnelCertificateOutput) GoString() string {
88634	return s.String()
88635}
88636
88637// SetVpnConnection sets the VpnConnection field's value.
88638func (s *ModifyVpnTunnelCertificateOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelCertificateOutput {
88639	s.VpnConnection = v
88640	return s
88641}
88642
88643type ModifyVpnTunnelOptionsInput struct {
88644	_ struct{} `type:"structure"`
88645
88646	// Checks whether you have the required permissions for the action, without
88647	// actually making the request, and provides an error response. If you have
88648	// the required permissions, the error response is DryRunOperation. Otherwise,
88649	// it is UnauthorizedOperation.
88650	DryRun *bool `type:"boolean"`
88651
88652	// The tunnel options to modify.
88653	//
88654	// TunnelOptions is a required field
88655	TunnelOptions *ModifyVpnTunnelOptionsSpecification `type:"structure" required:"true"`
88656
88657	// The ID of the AWS Site-to-Site VPN connection.
88658	//
88659	// VpnConnectionId is a required field
88660	VpnConnectionId *string `type:"string" required:"true"`
88661
88662	// The external IP address of the VPN tunnel.
88663	//
88664	// VpnTunnelOutsideIpAddress is a required field
88665	VpnTunnelOutsideIpAddress *string `type:"string" required:"true"`
88666}
88667
88668// String returns the string representation
88669func (s ModifyVpnTunnelOptionsInput) String() string {
88670	return awsutil.Prettify(s)
88671}
88672
88673// GoString returns the string representation
88674func (s ModifyVpnTunnelOptionsInput) GoString() string {
88675	return s.String()
88676}
88677
88678// Validate inspects the fields of the type to determine if they are valid.
88679func (s *ModifyVpnTunnelOptionsInput) Validate() error {
88680	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelOptionsInput"}
88681	if s.TunnelOptions == nil {
88682		invalidParams.Add(request.NewErrParamRequired("TunnelOptions"))
88683	}
88684	if s.VpnConnectionId == nil {
88685		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
88686	}
88687	if s.VpnTunnelOutsideIpAddress == nil {
88688		invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress"))
88689	}
88690
88691	if invalidParams.Len() > 0 {
88692		return invalidParams
88693	}
88694	return nil
88695}
88696
88697// SetDryRun sets the DryRun field's value.
88698func (s *ModifyVpnTunnelOptionsInput) SetDryRun(v bool) *ModifyVpnTunnelOptionsInput {
88699	s.DryRun = &v
88700	return s
88701}
88702
88703// SetTunnelOptions sets the TunnelOptions field's value.
88704func (s *ModifyVpnTunnelOptionsInput) SetTunnelOptions(v *ModifyVpnTunnelOptionsSpecification) *ModifyVpnTunnelOptionsInput {
88705	s.TunnelOptions = v
88706	return s
88707}
88708
88709// SetVpnConnectionId sets the VpnConnectionId field's value.
88710func (s *ModifyVpnTunnelOptionsInput) SetVpnConnectionId(v string) *ModifyVpnTunnelOptionsInput {
88711	s.VpnConnectionId = &v
88712	return s
88713}
88714
88715// SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value.
88716func (s *ModifyVpnTunnelOptionsInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelOptionsInput {
88717	s.VpnTunnelOutsideIpAddress = &v
88718	return s
88719}
88720
88721type ModifyVpnTunnelOptionsOutput struct {
88722	_ struct{} `type:"structure"`
88723
88724	// Describes a VPN connection.
88725	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
88726}
88727
88728// String returns the string representation
88729func (s ModifyVpnTunnelOptionsOutput) String() string {
88730	return awsutil.Prettify(s)
88731}
88732
88733// GoString returns the string representation
88734func (s ModifyVpnTunnelOptionsOutput) GoString() string {
88735	return s.String()
88736}
88737
88738// SetVpnConnection sets the VpnConnection field's value.
88739func (s *ModifyVpnTunnelOptionsOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelOptionsOutput {
88740	s.VpnConnection = v
88741	return s
88742}
88743
88744// The AWS Site-to-Site VPN tunnel options to modify.
88745type ModifyVpnTunnelOptionsSpecification struct {
88746	_ struct{} `type:"structure"`
88747
88748	// The number of seconds after which a DPD timeout occurs.
88749	//
88750	// Constraints: A value between 0 and 30.
88751	//
88752	// Default: 30
88753	DPDTimeoutSeconds *int64 `type:"integer"`
88754
88755	// The IKE versions that are permitted for the VPN tunnel.
88756	//
88757	// Valid values: ikev1 | ikev2
88758	IKEVersions []*IKEVersionsRequestListValue `locationName:"IKEVersion" locationNameList:"item" type:"list"`
88759
88760	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
88761	// for phase 1 IKE negotiations.
88762	//
88763	// Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
88764	Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"`
88765
88766	// One or more encryption algorithms that are permitted for the VPN tunnel for
88767	// phase 1 IKE negotiations.
88768	//
88769	// Valid values: AES128 | AES256
88770	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"`
88771
88772	// One or more integrity algorithms that are permitted for the VPN tunnel for
88773	// phase 1 IKE negotiations.
88774	//
88775	// Valid values: SHA1 | SHA2-256
88776	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"`
88777
88778	// The lifetime for phase 1 of the IKE negotiation, in seconds.
88779	//
88780	// Constraints: A value between 900 and 28,800.
88781	//
88782	// Default: 28800
88783	Phase1LifetimeSeconds *int64 `type:"integer"`
88784
88785	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
88786	// for phase 2 IKE negotiations.
88787	//
88788	// Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
88789	Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"`
88790
88791	// One or more encryption algorithms that are permitted for the VPN tunnel for
88792	// phase 2 IKE negotiations.
88793	//
88794	// Valid values: AES128 | AES256
88795	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"`
88796
88797	// One or more integrity algorithms that are permitted for the VPN tunnel for
88798	// phase 2 IKE negotiations.
88799	//
88800	// Valid values: SHA1 | SHA2-256
88801	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"`
88802
88803	// The lifetime for phase 2 of the IKE negotiation, in seconds.
88804	//
88805	// Constraints: A value between 900 and 3,600. The value must be less than the
88806	// value for Phase1LifetimeSeconds.
88807	//
88808	// Default: 3600
88809	Phase2LifetimeSeconds *int64 `type:"integer"`
88810
88811	// The pre-shared key (PSK) to establish initial authentication between the
88812	// virtual private gateway and the customer gateway.
88813	//
88814	// Constraints: Allowed characters are alphanumeric characters, periods (.),
88815	// and underscores (_). Must be between 8 and 64 characters in length and cannot
88816	// start with zero (0).
88817	PreSharedKey *string `type:"string"`
88818
88819	// The percentage of the rekey window (determined by RekeyMarginTimeSeconds)
88820	// during which the rekey time is randomly selected.
88821	//
88822	// Constraints: A value between 0 and 100.
88823	//
88824	// Default: 100
88825	RekeyFuzzPercentage *int64 `type:"integer"`
88826
88827	// The margin time, in seconds, before the phase 2 lifetime expires, during
88828	// which the AWS side of the VPN connection performs an IKE rekey. The exact
88829	// time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.
88830	//
88831	// Constraints: A value between 60 and half of Phase2LifetimeSeconds.
88832	//
88833	// Default: 540
88834	RekeyMarginTimeSeconds *int64 `type:"integer"`
88835
88836	// The number of packets in an IKE replay window.
88837	//
88838	// Constraints: A value between 64 and 2048.
88839	//
88840	// Default: 1024
88841	ReplayWindowSize *int64 `type:"integer"`
88842
88843	// The range of inside IP addresses for the tunnel. Any specified CIDR blocks
88844	// must be unique across all VPN connections that use the same virtual private
88845	// gateway.
88846	//
88847	// Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
88848	// CIDR blocks are reserved and cannot be used:
88849	//
88850	//    * 169.254.0.0/30
88851	//
88852	//    * 169.254.1.0/30
88853	//
88854	//    * 169.254.2.0/30
88855	//
88856	//    * 169.254.3.0/30
88857	//
88858	//    * 169.254.4.0/30
88859	//
88860	//    * 169.254.5.0/30
88861	//
88862	//    * 169.254.169.252/30
88863	TunnelInsideCidr *string `type:"string"`
88864}
88865
88866// String returns the string representation
88867func (s ModifyVpnTunnelOptionsSpecification) String() string {
88868	return awsutil.Prettify(s)
88869}
88870
88871// GoString returns the string representation
88872func (s ModifyVpnTunnelOptionsSpecification) GoString() string {
88873	return s.String()
88874}
88875
88876// SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value.
88877func (s *ModifyVpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
88878	s.DPDTimeoutSeconds = &v
88879	return s
88880}
88881
88882// SetIKEVersions sets the IKEVersions field's value.
88883func (s *ModifyVpnTunnelOptionsSpecification) SetIKEVersions(v []*IKEVersionsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
88884	s.IKEVersions = v
88885	return s
88886}
88887
88888// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
88889func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersRequestListValue) *ModifyVpnTunnelOptionsSpecification {
88890	s.Phase1DHGroupNumbers = v
88891	return s
88892}
88893
88894// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
88895func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
88896	s.Phase1EncryptionAlgorithms = v
88897	return s
88898}
88899
88900// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
88901func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
88902	s.Phase1IntegrityAlgorithms = v
88903	return s
88904}
88905
88906// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
88907func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1LifetimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
88908	s.Phase1LifetimeSeconds = &v
88909	return s
88910}
88911
88912// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
88913func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersRequestListValue) *ModifyVpnTunnelOptionsSpecification {
88914	s.Phase2DHGroupNumbers = v
88915	return s
88916}
88917
88918// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
88919func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
88920	s.Phase2EncryptionAlgorithms = v
88921	return s
88922}
88923
88924// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
88925func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
88926	s.Phase2IntegrityAlgorithms = v
88927	return s
88928}
88929
88930// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
88931func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2LifetimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
88932	s.Phase2LifetimeSeconds = &v
88933	return s
88934}
88935
88936// SetPreSharedKey sets the PreSharedKey field's value.
88937func (s *ModifyVpnTunnelOptionsSpecification) SetPreSharedKey(v string) *ModifyVpnTunnelOptionsSpecification {
88938	s.PreSharedKey = &v
88939	return s
88940}
88941
88942// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
88943func (s *ModifyVpnTunnelOptionsSpecification) SetRekeyFuzzPercentage(v int64) *ModifyVpnTunnelOptionsSpecification {
88944	s.RekeyFuzzPercentage = &v
88945	return s
88946}
88947
88948// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
88949func (s *ModifyVpnTunnelOptionsSpecification) SetRekeyMarginTimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
88950	s.RekeyMarginTimeSeconds = &v
88951	return s
88952}
88953
88954// SetReplayWindowSize sets the ReplayWindowSize field's value.
88955func (s *ModifyVpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *ModifyVpnTunnelOptionsSpecification {
88956	s.ReplayWindowSize = &v
88957	return s
88958}
88959
88960// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
88961func (s *ModifyVpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *ModifyVpnTunnelOptionsSpecification {
88962	s.TunnelInsideCidr = &v
88963	return s
88964}
88965
88966type MonitorInstancesInput struct {
88967	_ struct{} `type:"structure"`
88968
88969	// Checks whether you have the required permissions for the action, without
88970	// actually making the request, and provides an error response. If you have
88971	// the required permissions, the error response is DryRunOperation. Otherwise,
88972	// it is UnauthorizedOperation.
88973	DryRun *bool `locationName:"dryRun" type:"boolean"`
88974
88975	// The IDs of the instances.
88976	//
88977	// InstanceIds is a required field
88978	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
88979}
88980
88981// String returns the string representation
88982func (s MonitorInstancesInput) String() string {
88983	return awsutil.Prettify(s)
88984}
88985
88986// GoString returns the string representation
88987func (s MonitorInstancesInput) GoString() string {
88988	return s.String()
88989}
88990
88991// Validate inspects the fields of the type to determine if they are valid.
88992func (s *MonitorInstancesInput) Validate() error {
88993	invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
88994	if s.InstanceIds == nil {
88995		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
88996	}
88997
88998	if invalidParams.Len() > 0 {
88999		return invalidParams
89000	}
89001	return nil
89002}
89003
89004// SetDryRun sets the DryRun field's value.
89005func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
89006	s.DryRun = &v
89007	return s
89008}
89009
89010// SetInstanceIds sets the InstanceIds field's value.
89011func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
89012	s.InstanceIds = v
89013	return s
89014}
89015
89016type MonitorInstancesOutput struct {
89017	_ struct{} `type:"structure"`
89018
89019	// The monitoring information.
89020	InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
89021}
89022
89023// String returns the string representation
89024func (s MonitorInstancesOutput) String() string {
89025	return awsutil.Prettify(s)
89026}
89027
89028// GoString returns the string representation
89029func (s MonitorInstancesOutput) GoString() string {
89030	return s.String()
89031}
89032
89033// SetInstanceMonitorings sets the InstanceMonitorings field's value.
89034func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
89035	s.InstanceMonitorings = v
89036	return s
89037}
89038
89039// Describes the monitoring of an instance.
89040type Monitoring struct {
89041	_ struct{} `type:"structure"`
89042
89043	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
89044	// is enabled.
89045	State *string `locationName:"state" type:"string" enum:"MonitoringState"`
89046}
89047
89048// String returns the string representation
89049func (s Monitoring) String() string {
89050	return awsutil.Prettify(s)
89051}
89052
89053// GoString returns the string representation
89054func (s Monitoring) GoString() string {
89055	return s.String()
89056}
89057
89058// SetState sets the State field's value.
89059func (s *Monitoring) SetState(v string) *Monitoring {
89060	s.State = &v
89061	return s
89062}
89063
89064type MoveAddressToVpcInput struct {
89065	_ struct{} `type:"structure"`
89066
89067	// Checks whether you have the required permissions for the action, without
89068	// actually making the request, and provides an error response. If you have
89069	// the required permissions, the error response is DryRunOperation. Otherwise,
89070	// it is UnauthorizedOperation.
89071	DryRun *bool `locationName:"dryRun" type:"boolean"`
89072
89073	// The Elastic IP address.
89074	//
89075	// PublicIp is a required field
89076	PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
89077}
89078
89079// String returns the string representation
89080func (s MoveAddressToVpcInput) String() string {
89081	return awsutil.Prettify(s)
89082}
89083
89084// GoString returns the string representation
89085func (s MoveAddressToVpcInput) GoString() string {
89086	return s.String()
89087}
89088
89089// Validate inspects the fields of the type to determine if they are valid.
89090func (s *MoveAddressToVpcInput) Validate() error {
89091	invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
89092	if s.PublicIp == nil {
89093		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
89094	}
89095
89096	if invalidParams.Len() > 0 {
89097		return invalidParams
89098	}
89099	return nil
89100}
89101
89102// SetDryRun sets the DryRun field's value.
89103func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
89104	s.DryRun = &v
89105	return s
89106}
89107
89108// SetPublicIp sets the PublicIp field's value.
89109func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
89110	s.PublicIp = &v
89111	return s
89112}
89113
89114type MoveAddressToVpcOutput struct {
89115	_ struct{} `type:"structure"`
89116
89117	// The allocation ID for the Elastic IP address.
89118	AllocationId *string `locationName:"allocationId" type:"string"`
89119
89120	// The status of the move of the IP address.
89121	Status *string `locationName:"status" type:"string" enum:"Status"`
89122}
89123
89124// String returns the string representation
89125func (s MoveAddressToVpcOutput) String() string {
89126	return awsutil.Prettify(s)
89127}
89128
89129// GoString returns the string representation
89130func (s MoveAddressToVpcOutput) GoString() string {
89131	return s.String()
89132}
89133
89134// SetAllocationId sets the AllocationId field's value.
89135func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
89136	s.AllocationId = &v
89137	return s
89138}
89139
89140// SetStatus sets the Status field's value.
89141func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
89142	s.Status = &v
89143	return s
89144}
89145
89146// Describes the status of a moving Elastic IP address.
89147type MovingAddressStatus struct {
89148	_ struct{} `type:"structure"`
89149
89150	// The status of the Elastic IP address that's being moved to the EC2-VPC platform,
89151	// or restored to the EC2-Classic platform.
89152	MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
89153
89154	// The Elastic IP address.
89155	PublicIp *string `locationName:"publicIp" type:"string"`
89156}
89157
89158// String returns the string representation
89159func (s MovingAddressStatus) String() string {
89160	return awsutil.Prettify(s)
89161}
89162
89163// GoString returns the string representation
89164func (s MovingAddressStatus) GoString() string {
89165	return s.String()
89166}
89167
89168// SetMoveStatus sets the MoveStatus field's value.
89169func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
89170	s.MoveStatus = &v
89171	return s
89172}
89173
89174// SetPublicIp sets the PublicIp field's value.
89175func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
89176	s.PublicIp = &v
89177	return s
89178}
89179
89180// Describes a NAT gateway.
89181type NatGateway struct {
89182	_ struct{} `type:"structure"`
89183
89184	// The date and time the NAT gateway was created.
89185	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
89186
89187	// The date and time the NAT gateway was deleted, if applicable.
89188	DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp"`
89189
89190	// If the NAT gateway could not be created, specifies the error code for the
89191	// failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
89192	// | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
89193	FailureCode *string `locationName:"failureCode" type:"string"`
89194
89195	// If the NAT gateway could not be created, specifies the error message for
89196	// the failure, that corresponds to the error code.
89197	//
89198	//    * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
89199	//    addresses to create this NAT gateway"
89200	//
89201	//    * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
89202	//    attached"
89203	//
89204	//    * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
89205	//    could not be associated with this NAT gateway"
89206	//
89207	//    * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
89208	//    is already associated"
89209	//
89210	//    * For InternalError: "Network interface eni-xxxxxxxx, created and used
89211	//    internally by this NAT gateway is in an invalid state. Please try again."
89212	//
89213	//    * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
89214	//    does not exist or could not be found."
89215	FailureMessage *string `locationName:"failureMessage" type:"string"`
89216
89217	// Information about the IP addresses and network interface associated with
89218	// the NAT gateway.
89219	NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
89220
89221	// The ID of the NAT gateway.
89222	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
89223
89224	// Reserved. If you need to sustain traffic greater than the documented limits
89225	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
89226	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
89227	ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
89228
89229	// The state of the NAT gateway.
89230	//
89231	//    * pending: The NAT gateway is being created and is not ready to process
89232	//    traffic.
89233	//
89234	//    * failed: The NAT gateway could not be created. Check the failureCode
89235	//    and failureMessage fields for the reason.
89236	//
89237	//    * available: The NAT gateway is able to process traffic. This status remains
89238	//    until you delete the NAT gateway, and does not indicate the health of
89239	//    the NAT gateway.
89240	//
89241	//    * deleting: The NAT gateway is in the process of being terminated and
89242	//    may still be processing traffic.
89243	//
89244	//    * deleted: The NAT gateway has been terminated and is no longer processing
89245	//    traffic.
89246	State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
89247
89248	// The ID of the subnet in which the NAT gateway is located.
89249	SubnetId *string `locationName:"subnetId" type:"string"`
89250
89251	// The tags for the NAT gateway.
89252	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
89253
89254	// The ID of the VPC in which the NAT gateway is located.
89255	VpcId *string `locationName:"vpcId" type:"string"`
89256}
89257
89258// String returns the string representation
89259func (s NatGateway) String() string {
89260	return awsutil.Prettify(s)
89261}
89262
89263// GoString returns the string representation
89264func (s NatGateway) GoString() string {
89265	return s.String()
89266}
89267
89268// SetCreateTime sets the CreateTime field's value.
89269func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
89270	s.CreateTime = &v
89271	return s
89272}
89273
89274// SetDeleteTime sets the DeleteTime field's value.
89275func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
89276	s.DeleteTime = &v
89277	return s
89278}
89279
89280// SetFailureCode sets the FailureCode field's value.
89281func (s *NatGateway) SetFailureCode(v string) *NatGateway {
89282	s.FailureCode = &v
89283	return s
89284}
89285
89286// SetFailureMessage sets the FailureMessage field's value.
89287func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
89288	s.FailureMessage = &v
89289	return s
89290}
89291
89292// SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
89293func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
89294	s.NatGatewayAddresses = v
89295	return s
89296}
89297
89298// SetNatGatewayId sets the NatGatewayId field's value.
89299func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
89300	s.NatGatewayId = &v
89301	return s
89302}
89303
89304// SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
89305func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
89306	s.ProvisionedBandwidth = v
89307	return s
89308}
89309
89310// SetState sets the State field's value.
89311func (s *NatGateway) SetState(v string) *NatGateway {
89312	s.State = &v
89313	return s
89314}
89315
89316// SetSubnetId sets the SubnetId field's value.
89317func (s *NatGateway) SetSubnetId(v string) *NatGateway {
89318	s.SubnetId = &v
89319	return s
89320}
89321
89322// SetTags sets the Tags field's value.
89323func (s *NatGateway) SetTags(v []*Tag) *NatGateway {
89324	s.Tags = v
89325	return s
89326}
89327
89328// SetVpcId sets the VpcId field's value.
89329func (s *NatGateway) SetVpcId(v string) *NatGateway {
89330	s.VpcId = &v
89331	return s
89332}
89333
89334// Describes the IP addresses and network interface associated with a NAT gateway.
89335type NatGatewayAddress struct {
89336	_ struct{} `type:"structure"`
89337
89338	// The allocation ID of the Elastic IP address that's associated with the NAT
89339	// gateway.
89340	AllocationId *string `locationName:"allocationId" type:"string"`
89341
89342	// The ID of the network interface associated with the NAT gateway.
89343	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
89344
89345	// The private IP address associated with the Elastic IP address.
89346	PrivateIp *string `locationName:"privateIp" type:"string"`
89347
89348	// The Elastic IP address associated with the NAT gateway.
89349	PublicIp *string `locationName:"publicIp" type:"string"`
89350}
89351
89352// String returns the string representation
89353func (s NatGatewayAddress) String() string {
89354	return awsutil.Prettify(s)
89355}
89356
89357// GoString returns the string representation
89358func (s NatGatewayAddress) GoString() string {
89359	return s.String()
89360}
89361
89362// SetAllocationId sets the AllocationId field's value.
89363func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
89364	s.AllocationId = &v
89365	return s
89366}
89367
89368// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
89369func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
89370	s.NetworkInterfaceId = &v
89371	return s
89372}
89373
89374// SetPrivateIp sets the PrivateIp field's value.
89375func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
89376	s.PrivateIp = &v
89377	return s
89378}
89379
89380// SetPublicIp sets the PublicIp field's value.
89381func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
89382	s.PublicIp = &v
89383	return s
89384}
89385
89386// Describes a network ACL.
89387type NetworkAcl struct {
89388	_ struct{} `type:"structure"`
89389
89390	// Any associations between the network ACL and one or more subnets
89391	Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
89392
89393	// One or more entries (rules) in the network ACL.
89394	Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
89395
89396	// Indicates whether this is the default network ACL for the VPC.
89397	IsDefault *bool `locationName:"default" type:"boolean"`
89398
89399	// The ID of the network ACL.
89400	NetworkAclId *string `locationName:"networkAclId" type:"string"`
89401
89402	// The ID of the AWS account that owns the network ACL.
89403	OwnerId *string `locationName:"ownerId" type:"string"`
89404
89405	// Any tags assigned to the network ACL.
89406	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
89407
89408	// The ID of the VPC for the network ACL.
89409	VpcId *string `locationName:"vpcId" type:"string"`
89410}
89411
89412// String returns the string representation
89413func (s NetworkAcl) String() string {
89414	return awsutil.Prettify(s)
89415}
89416
89417// GoString returns the string representation
89418func (s NetworkAcl) GoString() string {
89419	return s.String()
89420}
89421
89422// SetAssociations sets the Associations field's value.
89423func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
89424	s.Associations = v
89425	return s
89426}
89427
89428// SetEntries sets the Entries field's value.
89429func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
89430	s.Entries = v
89431	return s
89432}
89433
89434// SetIsDefault sets the IsDefault field's value.
89435func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
89436	s.IsDefault = &v
89437	return s
89438}
89439
89440// SetNetworkAclId sets the NetworkAclId field's value.
89441func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
89442	s.NetworkAclId = &v
89443	return s
89444}
89445
89446// SetOwnerId sets the OwnerId field's value.
89447func (s *NetworkAcl) SetOwnerId(v string) *NetworkAcl {
89448	s.OwnerId = &v
89449	return s
89450}
89451
89452// SetTags sets the Tags field's value.
89453func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
89454	s.Tags = v
89455	return s
89456}
89457
89458// SetVpcId sets the VpcId field's value.
89459func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
89460	s.VpcId = &v
89461	return s
89462}
89463
89464// Describes an association between a network ACL and a subnet.
89465type NetworkAclAssociation struct {
89466	_ struct{} `type:"structure"`
89467
89468	// The ID of the association between a network ACL and a subnet.
89469	NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
89470
89471	// The ID of the network ACL.
89472	NetworkAclId *string `locationName:"networkAclId" type:"string"`
89473
89474	// The ID of the subnet.
89475	SubnetId *string `locationName:"subnetId" type:"string"`
89476}
89477
89478// String returns the string representation
89479func (s NetworkAclAssociation) String() string {
89480	return awsutil.Prettify(s)
89481}
89482
89483// GoString returns the string representation
89484func (s NetworkAclAssociation) GoString() string {
89485	return s.String()
89486}
89487
89488// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
89489func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
89490	s.NetworkAclAssociationId = &v
89491	return s
89492}
89493
89494// SetNetworkAclId sets the NetworkAclId field's value.
89495func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
89496	s.NetworkAclId = &v
89497	return s
89498}
89499
89500// SetSubnetId sets the SubnetId field's value.
89501func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
89502	s.SubnetId = &v
89503	return s
89504}
89505
89506// Describes an entry in a network ACL.
89507type NetworkAclEntry struct {
89508	_ struct{} `type:"structure"`
89509
89510	// The IPv4 network range to allow or deny, in CIDR notation.
89511	CidrBlock *string `locationName:"cidrBlock" type:"string"`
89512
89513	// Indicates whether the rule is an egress rule (applied to traffic leaving
89514	// the subnet).
89515	Egress *bool `locationName:"egress" type:"boolean"`
89516
89517	// ICMP protocol: The ICMP type and code.
89518	IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
89519
89520	// The IPv6 network range to allow or deny, in CIDR notation.
89521	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
89522
89523	// TCP or UDP protocols: The range of ports the rule applies to.
89524	PortRange *PortRange `locationName:"portRange" type:"structure"`
89525
89526	// The protocol number. A value of "-1" means all protocols.
89527	Protocol *string `locationName:"protocol" type:"string"`
89528
89529	// Indicates whether to allow or deny the traffic that matches the rule.
89530	RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
89531
89532	// The rule number for the entry. ACL entries are processed in ascending order
89533	// by rule number.
89534	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
89535}
89536
89537// String returns the string representation
89538func (s NetworkAclEntry) String() string {
89539	return awsutil.Prettify(s)
89540}
89541
89542// GoString returns the string representation
89543func (s NetworkAclEntry) GoString() string {
89544	return s.String()
89545}
89546
89547// SetCidrBlock sets the CidrBlock field's value.
89548func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
89549	s.CidrBlock = &v
89550	return s
89551}
89552
89553// SetEgress sets the Egress field's value.
89554func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
89555	s.Egress = &v
89556	return s
89557}
89558
89559// SetIcmpTypeCode sets the IcmpTypeCode field's value.
89560func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
89561	s.IcmpTypeCode = v
89562	return s
89563}
89564
89565// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
89566func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
89567	s.Ipv6CidrBlock = &v
89568	return s
89569}
89570
89571// SetPortRange sets the PortRange field's value.
89572func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
89573	s.PortRange = v
89574	return s
89575}
89576
89577// SetProtocol sets the Protocol field's value.
89578func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
89579	s.Protocol = &v
89580	return s
89581}
89582
89583// SetRuleAction sets the RuleAction field's value.
89584func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
89585	s.RuleAction = &v
89586	return s
89587}
89588
89589// SetRuleNumber sets the RuleNumber field's value.
89590func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
89591	s.RuleNumber = &v
89592	return s
89593}
89594
89595// Describes the networking features of the instance type.
89596type NetworkInfo struct {
89597	_ struct{} `type:"structure"`
89598
89599	// Indicates whether Elastic Network Adapter (ENA) is supported.
89600	EnaSupport *string `locationName:"enaSupport" type:"string" enum:"EnaSupport"`
89601
89602	// The maximum number of IPv4 addresses per network interface.
89603	Ipv4AddressesPerInterface *int64 `locationName:"ipv4AddressesPerInterface" type:"integer"`
89604
89605	// The maximum number of IPv6 addresses per network interface.
89606	Ipv6AddressesPerInterface *int64 `locationName:"ipv6AddressesPerInterface" type:"integer"`
89607
89608	// Indicates whether IPv6 is supported.
89609	Ipv6Supported *bool `locationName:"ipv6Supported" type:"boolean"`
89610
89611	// The maximum number of network interfaces for the instance type.
89612	MaximumNetworkInterfaces *int64 `locationName:"maximumNetworkInterfaces" type:"integer"`
89613
89614	// Describes the network performance.
89615	NetworkPerformance *string `locationName:"networkPerformance" type:"string"`
89616}
89617
89618// String returns the string representation
89619func (s NetworkInfo) String() string {
89620	return awsutil.Prettify(s)
89621}
89622
89623// GoString returns the string representation
89624func (s NetworkInfo) GoString() string {
89625	return s.String()
89626}
89627
89628// SetEnaSupport sets the EnaSupport field's value.
89629func (s *NetworkInfo) SetEnaSupport(v string) *NetworkInfo {
89630	s.EnaSupport = &v
89631	return s
89632}
89633
89634// SetIpv4AddressesPerInterface sets the Ipv4AddressesPerInterface field's value.
89635func (s *NetworkInfo) SetIpv4AddressesPerInterface(v int64) *NetworkInfo {
89636	s.Ipv4AddressesPerInterface = &v
89637	return s
89638}
89639
89640// SetIpv6AddressesPerInterface sets the Ipv6AddressesPerInterface field's value.
89641func (s *NetworkInfo) SetIpv6AddressesPerInterface(v int64) *NetworkInfo {
89642	s.Ipv6AddressesPerInterface = &v
89643	return s
89644}
89645
89646// SetIpv6Supported sets the Ipv6Supported field's value.
89647func (s *NetworkInfo) SetIpv6Supported(v bool) *NetworkInfo {
89648	s.Ipv6Supported = &v
89649	return s
89650}
89651
89652// SetMaximumNetworkInterfaces sets the MaximumNetworkInterfaces field's value.
89653func (s *NetworkInfo) SetMaximumNetworkInterfaces(v int64) *NetworkInfo {
89654	s.MaximumNetworkInterfaces = &v
89655	return s
89656}
89657
89658// SetNetworkPerformance sets the NetworkPerformance field's value.
89659func (s *NetworkInfo) SetNetworkPerformance(v string) *NetworkInfo {
89660	s.NetworkPerformance = &v
89661	return s
89662}
89663
89664// Describes a network interface.
89665type NetworkInterface struct {
89666	_ struct{} `type:"structure"`
89667
89668	// The association information for an Elastic IP address (IPv4) associated with
89669	// the network interface.
89670	Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
89671
89672	// The network interface attachment.
89673	Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
89674
89675	// The Availability Zone.
89676	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
89677
89678	// A description.
89679	Description *string `locationName:"description" type:"string"`
89680
89681	// Any security groups for the network interface.
89682	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
89683
89684	// The type of network interface.
89685	InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
89686
89687	// The IPv6 addresses associated with the network interface.
89688	Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
89689
89690	// The MAC address.
89691	MacAddress *string `locationName:"macAddress" type:"string"`
89692
89693	// The ID of the network interface.
89694	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
89695
89696	// The Amazon Resource Name (ARN) of the Outpost.
89697	OutpostArn *string `locationName:"outpostArn" type:"string"`
89698
89699	// The AWS account ID of the owner of the network interface.
89700	OwnerId *string `locationName:"ownerId" type:"string"`
89701
89702	// The private DNS name.
89703	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
89704
89705	// The IPv4 address of the network interface within the subnet.
89706	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
89707
89708	// The private IPv4 addresses associated with the network interface.
89709	PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
89710
89711	// The ID of the entity that launched the instance on your behalf (for example,
89712	// AWS Management Console or Auto Scaling).
89713	RequesterId *string `locationName:"requesterId" type:"string"`
89714
89715	// Indicates whether the network interface is being managed by AWS.
89716	RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
89717
89718	// Indicates whether traffic to or from the instance is validated.
89719	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
89720
89721	// The status of the network interface.
89722	Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
89723
89724	// The ID of the subnet.
89725	SubnetId *string `locationName:"subnetId" type:"string"`
89726
89727	// Any tags assigned to the network interface.
89728	TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
89729
89730	// The ID of the VPC.
89731	VpcId *string `locationName:"vpcId" type:"string"`
89732}
89733
89734// String returns the string representation
89735func (s NetworkInterface) String() string {
89736	return awsutil.Prettify(s)
89737}
89738
89739// GoString returns the string representation
89740func (s NetworkInterface) GoString() string {
89741	return s.String()
89742}
89743
89744// SetAssociation sets the Association field's value.
89745func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
89746	s.Association = v
89747	return s
89748}
89749
89750// SetAttachment sets the Attachment field's value.
89751func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
89752	s.Attachment = v
89753	return s
89754}
89755
89756// SetAvailabilityZone sets the AvailabilityZone field's value.
89757func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
89758	s.AvailabilityZone = &v
89759	return s
89760}
89761
89762// SetDescription sets the Description field's value.
89763func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
89764	s.Description = &v
89765	return s
89766}
89767
89768// SetGroups sets the Groups field's value.
89769func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
89770	s.Groups = v
89771	return s
89772}
89773
89774// SetInterfaceType sets the InterfaceType field's value.
89775func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
89776	s.InterfaceType = &v
89777	return s
89778}
89779
89780// SetIpv6Addresses sets the Ipv6Addresses field's value.
89781func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
89782	s.Ipv6Addresses = v
89783	return s
89784}
89785
89786// SetMacAddress sets the MacAddress field's value.
89787func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
89788	s.MacAddress = &v
89789	return s
89790}
89791
89792// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
89793func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
89794	s.NetworkInterfaceId = &v
89795	return s
89796}
89797
89798// SetOutpostArn sets the OutpostArn field's value.
89799func (s *NetworkInterface) SetOutpostArn(v string) *NetworkInterface {
89800	s.OutpostArn = &v
89801	return s
89802}
89803
89804// SetOwnerId sets the OwnerId field's value.
89805func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
89806	s.OwnerId = &v
89807	return s
89808}
89809
89810// SetPrivateDnsName sets the PrivateDnsName field's value.
89811func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
89812	s.PrivateDnsName = &v
89813	return s
89814}
89815
89816// SetPrivateIpAddress sets the PrivateIpAddress field's value.
89817func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
89818	s.PrivateIpAddress = &v
89819	return s
89820}
89821
89822// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
89823func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
89824	s.PrivateIpAddresses = v
89825	return s
89826}
89827
89828// SetRequesterId sets the RequesterId field's value.
89829func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
89830	s.RequesterId = &v
89831	return s
89832}
89833
89834// SetRequesterManaged sets the RequesterManaged field's value.
89835func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
89836	s.RequesterManaged = &v
89837	return s
89838}
89839
89840// SetSourceDestCheck sets the SourceDestCheck field's value.
89841func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
89842	s.SourceDestCheck = &v
89843	return s
89844}
89845
89846// SetStatus sets the Status field's value.
89847func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
89848	s.Status = &v
89849	return s
89850}
89851
89852// SetSubnetId sets the SubnetId field's value.
89853func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
89854	s.SubnetId = &v
89855	return s
89856}
89857
89858// SetTagSet sets the TagSet field's value.
89859func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
89860	s.TagSet = v
89861	return s
89862}
89863
89864// SetVpcId sets the VpcId field's value.
89865func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
89866	s.VpcId = &v
89867	return s
89868}
89869
89870// Describes association information for an Elastic IP address (IPv4 only).
89871type NetworkInterfaceAssociation struct {
89872	_ struct{} `type:"structure"`
89873
89874	// The allocation ID.
89875	AllocationId *string `locationName:"allocationId" type:"string"`
89876
89877	// The association ID.
89878	AssociationId *string `locationName:"associationId" type:"string"`
89879
89880	// The ID of the Elastic IP address owner.
89881	IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
89882
89883	// The public DNS name.
89884	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
89885
89886	// The address of the Elastic IP address bound to the network interface.
89887	PublicIp *string `locationName:"publicIp" type:"string"`
89888}
89889
89890// String returns the string representation
89891func (s NetworkInterfaceAssociation) String() string {
89892	return awsutil.Prettify(s)
89893}
89894
89895// GoString returns the string representation
89896func (s NetworkInterfaceAssociation) GoString() string {
89897	return s.String()
89898}
89899
89900// SetAllocationId sets the AllocationId field's value.
89901func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
89902	s.AllocationId = &v
89903	return s
89904}
89905
89906// SetAssociationId sets the AssociationId field's value.
89907func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
89908	s.AssociationId = &v
89909	return s
89910}
89911
89912// SetIpOwnerId sets the IpOwnerId field's value.
89913func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
89914	s.IpOwnerId = &v
89915	return s
89916}
89917
89918// SetPublicDnsName sets the PublicDnsName field's value.
89919func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
89920	s.PublicDnsName = &v
89921	return s
89922}
89923
89924// SetPublicIp sets the PublicIp field's value.
89925func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
89926	s.PublicIp = &v
89927	return s
89928}
89929
89930// Describes a network interface attachment.
89931type NetworkInterfaceAttachment struct {
89932	_ struct{} `type:"structure"`
89933
89934	// The timestamp indicating when the attachment initiated.
89935	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
89936
89937	// The ID of the network interface attachment.
89938	AttachmentId *string `locationName:"attachmentId" type:"string"`
89939
89940	// Indicates whether the network interface is deleted when the instance is terminated.
89941	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
89942
89943	// The device index of the network interface attachment on the instance.
89944	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
89945
89946	// The ID of the instance.
89947	InstanceId *string `locationName:"instanceId" type:"string"`
89948
89949	// The AWS account ID of the owner of the instance.
89950	InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
89951
89952	// The attachment state.
89953	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
89954}
89955
89956// String returns the string representation
89957func (s NetworkInterfaceAttachment) String() string {
89958	return awsutil.Prettify(s)
89959}
89960
89961// GoString returns the string representation
89962func (s NetworkInterfaceAttachment) GoString() string {
89963	return s.String()
89964}
89965
89966// SetAttachTime sets the AttachTime field's value.
89967func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
89968	s.AttachTime = &v
89969	return s
89970}
89971
89972// SetAttachmentId sets the AttachmentId field's value.
89973func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
89974	s.AttachmentId = &v
89975	return s
89976}
89977
89978// SetDeleteOnTermination sets the DeleteOnTermination field's value.
89979func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
89980	s.DeleteOnTermination = &v
89981	return s
89982}
89983
89984// SetDeviceIndex sets the DeviceIndex field's value.
89985func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
89986	s.DeviceIndex = &v
89987	return s
89988}
89989
89990// SetInstanceId sets the InstanceId field's value.
89991func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
89992	s.InstanceId = &v
89993	return s
89994}
89995
89996// SetInstanceOwnerId sets the InstanceOwnerId field's value.
89997func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
89998	s.InstanceOwnerId = &v
89999	return s
90000}
90001
90002// SetStatus sets the Status field's value.
90003func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
90004	s.Status = &v
90005	return s
90006}
90007
90008// Describes an attachment change.
90009type NetworkInterfaceAttachmentChanges struct {
90010	_ struct{} `type:"structure"`
90011
90012	// The ID of the network interface attachment.
90013	AttachmentId *string `locationName:"attachmentId" type:"string"`
90014
90015	// Indicates whether the network interface is deleted when the instance is terminated.
90016	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
90017}
90018
90019// String returns the string representation
90020func (s NetworkInterfaceAttachmentChanges) String() string {
90021	return awsutil.Prettify(s)
90022}
90023
90024// GoString returns the string representation
90025func (s NetworkInterfaceAttachmentChanges) GoString() string {
90026	return s.String()
90027}
90028
90029// SetAttachmentId sets the AttachmentId field's value.
90030func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
90031	s.AttachmentId = &v
90032	return s
90033}
90034
90035// SetDeleteOnTermination sets the DeleteOnTermination field's value.
90036func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
90037	s.DeleteOnTermination = &v
90038	return s
90039}
90040
90041// Describes an IPv6 address associated with a network interface.
90042type NetworkInterfaceIpv6Address struct {
90043	_ struct{} `type:"structure"`
90044
90045	// The IPv6 address.
90046	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
90047}
90048
90049// String returns the string representation
90050func (s NetworkInterfaceIpv6Address) String() string {
90051	return awsutil.Prettify(s)
90052}
90053
90054// GoString returns the string representation
90055func (s NetworkInterfaceIpv6Address) GoString() string {
90056	return s.String()
90057}
90058
90059// SetIpv6Address sets the Ipv6Address field's value.
90060func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
90061	s.Ipv6Address = &v
90062	return s
90063}
90064
90065// Describes a permission for a network interface.
90066type NetworkInterfacePermission struct {
90067	_ struct{} `type:"structure"`
90068
90069	// The AWS account ID.
90070	AwsAccountId *string `locationName:"awsAccountId" type:"string"`
90071
90072	// The AWS service.
90073	AwsService *string `locationName:"awsService" type:"string"`
90074
90075	// The ID of the network interface.
90076	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
90077
90078	// The ID of the network interface permission.
90079	NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
90080
90081	// The type of permission.
90082	Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
90083
90084	// Information about the state of the permission.
90085	PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
90086}
90087
90088// String returns the string representation
90089func (s NetworkInterfacePermission) String() string {
90090	return awsutil.Prettify(s)
90091}
90092
90093// GoString returns the string representation
90094func (s NetworkInterfacePermission) GoString() string {
90095	return s.String()
90096}
90097
90098// SetAwsAccountId sets the AwsAccountId field's value.
90099func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
90100	s.AwsAccountId = &v
90101	return s
90102}
90103
90104// SetAwsService sets the AwsService field's value.
90105func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
90106	s.AwsService = &v
90107	return s
90108}
90109
90110// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
90111func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
90112	s.NetworkInterfaceId = &v
90113	return s
90114}
90115
90116// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
90117func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
90118	s.NetworkInterfacePermissionId = &v
90119	return s
90120}
90121
90122// SetPermission sets the Permission field's value.
90123func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
90124	s.Permission = &v
90125	return s
90126}
90127
90128// SetPermissionState sets the PermissionState field's value.
90129func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
90130	s.PermissionState = v
90131	return s
90132}
90133
90134// Describes the state of a network interface permission.
90135type NetworkInterfacePermissionState struct {
90136	_ struct{} `type:"structure"`
90137
90138	// The state of the permission.
90139	State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
90140
90141	// A status message, if applicable.
90142	StatusMessage *string `locationName:"statusMessage" type:"string"`
90143}
90144
90145// String returns the string representation
90146func (s NetworkInterfacePermissionState) String() string {
90147	return awsutil.Prettify(s)
90148}
90149
90150// GoString returns the string representation
90151func (s NetworkInterfacePermissionState) GoString() string {
90152	return s.String()
90153}
90154
90155// SetState sets the State field's value.
90156func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
90157	s.State = &v
90158	return s
90159}
90160
90161// SetStatusMessage sets the StatusMessage field's value.
90162func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
90163	s.StatusMessage = &v
90164	return s
90165}
90166
90167// Describes the private IPv4 address of a network interface.
90168type NetworkInterfacePrivateIpAddress struct {
90169	_ struct{} `type:"structure"`
90170
90171	// The association information for an Elastic IP address (IPv4) associated with
90172	// the network interface.
90173	Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
90174
90175	// Indicates whether this IPv4 address is the primary private IPv4 address of
90176	// the network interface.
90177	Primary *bool `locationName:"primary" type:"boolean"`
90178
90179	// The private DNS name.
90180	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
90181
90182	// The private IPv4 address.
90183	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
90184}
90185
90186// String returns the string representation
90187func (s NetworkInterfacePrivateIpAddress) String() string {
90188	return awsutil.Prettify(s)
90189}
90190
90191// GoString returns the string representation
90192func (s NetworkInterfacePrivateIpAddress) GoString() string {
90193	return s.String()
90194}
90195
90196// SetAssociation sets the Association field's value.
90197func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
90198	s.Association = v
90199	return s
90200}
90201
90202// SetPrimary sets the Primary field's value.
90203func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
90204	s.Primary = &v
90205	return s
90206}
90207
90208// SetPrivateDnsName sets the PrivateDnsName field's value.
90209func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
90210	s.PrivateDnsName = &v
90211	return s
90212}
90213
90214// SetPrivateIpAddress sets the PrivateIpAddress field's value.
90215func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
90216	s.PrivateIpAddress = &v
90217	return s
90218}
90219
90220type NewDhcpConfiguration struct {
90221	_ struct{} `type:"structure"`
90222
90223	Key *string `locationName:"key" type:"string"`
90224
90225	Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
90226}
90227
90228// String returns the string representation
90229func (s NewDhcpConfiguration) String() string {
90230	return awsutil.Prettify(s)
90231}
90232
90233// GoString returns the string representation
90234func (s NewDhcpConfiguration) GoString() string {
90235	return s.String()
90236}
90237
90238// SetKey sets the Key field's value.
90239func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
90240	s.Key = &v
90241	return s
90242}
90243
90244// SetValues sets the Values field's value.
90245func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
90246	s.Values = v
90247	return s
90248}
90249
90250// Describes the configuration of On-Demand Instances in an EC2 Fleet.
90251type OnDemandOptions struct {
90252	_ struct{} `type:"structure"`
90253
90254	// The order of the launch template overrides to use in fulfilling On-Demand
90255	// capacity. If you specify lowest-price, EC2 Fleet uses price to determine
90256	// the order, launching the lowest price first. If you specify prioritized,
90257	// EC2 Fleet uses the priority that you assigned to each launch template override,
90258	// launching the highest priority first. If you do not specify a value, EC2
90259	// Fleet defaults to lowest-price.
90260	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"FleetOnDemandAllocationStrategy"`
90261
90262	// The strategy for using unused Capacity Reservations for fulfilling On-Demand
90263	// capacity. Supported only for fleets of type instant.
90264	CapacityReservationOptions *CapacityReservationOptions `locationName:"capacityReservationOptions" type:"structure"`
90265
90266	// The maximum amount per hour for On-Demand Instances that you're willing to
90267	// pay.
90268	MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
90269
90270	// The minimum target capacity for On-Demand Instances in the fleet. If the
90271	// minimum target capacity is not reached, the fleet launches no instances.
90272	MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
90273
90274	// Indicates that the fleet launches all On-Demand Instances into a single Availability
90275	// Zone. Supported only for fleets of type instant.
90276	SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
90277
90278	// Indicates that the fleet uses a single instance type to launch all On-Demand
90279	// Instances in the fleet. Supported only for fleets of type instant.
90280	SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
90281}
90282
90283// String returns the string representation
90284func (s OnDemandOptions) String() string {
90285	return awsutil.Prettify(s)
90286}
90287
90288// GoString returns the string representation
90289func (s OnDemandOptions) GoString() string {
90290	return s.String()
90291}
90292
90293// SetAllocationStrategy sets the AllocationStrategy field's value.
90294func (s *OnDemandOptions) SetAllocationStrategy(v string) *OnDemandOptions {
90295	s.AllocationStrategy = &v
90296	return s
90297}
90298
90299// SetCapacityReservationOptions sets the CapacityReservationOptions field's value.
90300func (s *OnDemandOptions) SetCapacityReservationOptions(v *CapacityReservationOptions) *OnDemandOptions {
90301	s.CapacityReservationOptions = v
90302	return s
90303}
90304
90305// SetMaxTotalPrice sets the MaxTotalPrice field's value.
90306func (s *OnDemandOptions) SetMaxTotalPrice(v string) *OnDemandOptions {
90307	s.MaxTotalPrice = &v
90308	return s
90309}
90310
90311// SetMinTargetCapacity sets the MinTargetCapacity field's value.
90312func (s *OnDemandOptions) SetMinTargetCapacity(v int64) *OnDemandOptions {
90313	s.MinTargetCapacity = &v
90314	return s
90315}
90316
90317// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
90318func (s *OnDemandOptions) SetSingleAvailabilityZone(v bool) *OnDemandOptions {
90319	s.SingleAvailabilityZone = &v
90320	return s
90321}
90322
90323// SetSingleInstanceType sets the SingleInstanceType field's value.
90324func (s *OnDemandOptions) SetSingleInstanceType(v bool) *OnDemandOptions {
90325	s.SingleInstanceType = &v
90326	return s
90327}
90328
90329// Describes the configuration of On-Demand Instances in an EC2 Fleet.
90330type OnDemandOptionsRequest struct {
90331	_ struct{} `type:"structure"`
90332
90333	// The order of the launch template overrides to use in fulfilling On-Demand
90334	// capacity. If you specify lowest-price, EC2 Fleet uses price to determine
90335	// the order, launching the lowest price first. If you specify prioritized,
90336	// EC2 Fleet uses the priority that you assigned to each launch template override,
90337	// launching the highest priority first. If you do not specify a value, EC2
90338	// Fleet defaults to lowest-price.
90339	AllocationStrategy *string `type:"string" enum:"FleetOnDemandAllocationStrategy"`
90340
90341	// The strategy for using unused Capacity Reservations for fulfilling On-Demand
90342	// capacity. Supported only for fleets of type instant.
90343	CapacityReservationOptions *CapacityReservationOptionsRequest `type:"structure"`
90344
90345	// The maximum amount per hour for On-Demand Instances that you're willing to
90346	// pay.
90347	MaxTotalPrice *string `type:"string"`
90348
90349	// The minimum target capacity for On-Demand Instances in the fleet. If the
90350	// minimum target capacity is not reached, the fleet launches no instances.
90351	MinTargetCapacity *int64 `type:"integer"`
90352
90353	// Indicates that the fleet launches all On-Demand Instances into a single Availability
90354	// Zone. Supported only for fleets of type instant.
90355	SingleAvailabilityZone *bool `type:"boolean"`
90356
90357	// Indicates that the fleet uses a single instance type to launch all On-Demand
90358	// Instances in the fleet. Supported only for fleets of type instant.
90359	SingleInstanceType *bool `type:"boolean"`
90360}
90361
90362// String returns the string representation
90363func (s OnDemandOptionsRequest) String() string {
90364	return awsutil.Prettify(s)
90365}
90366
90367// GoString returns the string representation
90368func (s OnDemandOptionsRequest) GoString() string {
90369	return s.String()
90370}
90371
90372// SetAllocationStrategy sets the AllocationStrategy field's value.
90373func (s *OnDemandOptionsRequest) SetAllocationStrategy(v string) *OnDemandOptionsRequest {
90374	s.AllocationStrategy = &v
90375	return s
90376}
90377
90378// SetCapacityReservationOptions sets the CapacityReservationOptions field's value.
90379func (s *OnDemandOptionsRequest) SetCapacityReservationOptions(v *CapacityReservationOptionsRequest) *OnDemandOptionsRequest {
90380	s.CapacityReservationOptions = v
90381	return s
90382}
90383
90384// SetMaxTotalPrice sets the MaxTotalPrice field's value.
90385func (s *OnDemandOptionsRequest) SetMaxTotalPrice(v string) *OnDemandOptionsRequest {
90386	s.MaxTotalPrice = &v
90387	return s
90388}
90389
90390// SetMinTargetCapacity sets the MinTargetCapacity field's value.
90391func (s *OnDemandOptionsRequest) SetMinTargetCapacity(v int64) *OnDemandOptionsRequest {
90392	s.MinTargetCapacity = &v
90393	return s
90394}
90395
90396// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
90397func (s *OnDemandOptionsRequest) SetSingleAvailabilityZone(v bool) *OnDemandOptionsRequest {
90398	s.SingleAvailabilityZone = &v
90399	return s
90400}
90401
90402// SetSingleInstanceType sets the SingleInstanceType field's value.
90403func (s *OnDemandOptionsRequest) SetSingleInstanceType(v bool) *OnDemandOptionsRequest {
90404	s.SingleInstanceType = &v
90405	return s
90406}
90407
90408// Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
90409// bus.
90410type PciId struct {
90411	_ struct{} `type:"structure"`
90412
90413	// The ID of the device.
90414	DeviceId *string `type:"string"`
90415
90416	// The ID of the subsystem.
90417	SubsystemId *string `type:"string"`
90418
90419	// The ID of the vendor for the subsystem.
90420	SubsystemVendorId *string `type:"string"`
90421
90422	// The ID of the vendor.
90423	VendorId *string `type:"string"`
90424}
90425
90426// String returns the string representation
90427func (s PciId) String() string {
90428	return awsutil.Prettify(s)
90429}
90430
90431// GoString returns the string representation
90432func (s PciId) GoString() string {
90433	return s.String()
90434}
90435
90436// SetDeviceId sets the DeviceId field's value.
90437func (s *PciId) SetDeviceId(v string) *PciId {
90438	s.DeviceId = &v
90439	return s
90440}
90441
90442// SetSubsystemId sets the SubsystemId field's value.
90443func (s *PciId) SetSubsystemId(v string) *PciId {
90444	s.SubsystemId = &v
90445	return s
90446}
90447
90448// SetSubsystemVendorId sets the SubsystemVendorId field's value.
90449func (s *PciId) SetSubsystemVendorId(v string) *PciId {
90450	s.SubsystemVendorId = &v
90451	return s
90452}
90453
90454// SetVendorId sets the VendorId field's value.
90455func (s *PciId) SetVendorId(v string) *PciId {
90456	s.VendorId = &v
90457	return s
90458}
90459
90460// The status of the transit gateway peering attachment.
90461type PeeringAttachmentStatus struct {
90462	_ struct{} `type:"structure"`
90463
90464	// The status code.
90465	Code *string `locationName:"code" type:"string"`
90466
90467	// The status message, if applicable.
90468	Message *string `locationName:"message" type:"string"`
90469}
90470
90471// String returns the string representation
90472func (s PeeringAttachmentStatus) String() string {
90473	return awsutil.Prettify(s)
90474}
90475
90476// GoString returns the string representation
90477func (s PeeringAttachmentStatus) GoString() string {
90478	return s.String()
90479}
90480
90481// SetCode sets the Code field's value.
90482func (s *PeeringAttachmentStatus) SetCode(v string) *PeeringAttachmentStatus {
90483	s.Code = &v
90484	return s
90485}
90486
90487// SetMessage sets the Message field's value.
90488func (s *PeeringAttachmentStatus) SetMessage(v string) *PeeringAttachmentStatus {
90489	s.Message = &v
90490	return s
90491}
90492
90493// Describes the VPC peering connection options.
90494type PeeringConnectionOptions struct {
90495	_ struct{} `type:"structure"`
90496
90497	// If true, the public DNS hostnames of instances in the specified VPC resolve
90498	// to private IP addresses when queried from instances in the peer VPC.
90499	AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
90500
90501	// If true, enables outbound communication from an EC2-Classic instance that's
90502	// linked to a local VPC using ClassicLink to instances in a peer VPC.
90503	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
90504
90505	// If true, enables outbound communication from instances in a local VPC to
90506	// an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
90507	AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
90508}
90509
90510// String returns the string representation
90511func (s PeeringConnectionOptions) String() string {
90512	return awsutil.Prettify(s)
90513}
90514
90515// GoString returns the string representation
90516func (s PeeringConnectionOptions) GoString() string {
90517	return s.String()
90518}
90519
90520// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
90521func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
90522	s.AllowDnsResolutionFromRemoteVpc = &v
90523	return s
90524}
90525
90526// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
90527func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
90528	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
90529	return s
90530}
90531
90532// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
90533func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
90534	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
90535	return s
90536}
90537
90538// The VPC peering connection options.
90539type PeeringConnectionOptionsRequest struct {
90540	_ struct{} `type:"structure"`
90541
90542	// If true, enables a local VPC to resolve public DNS hostnames to private IP
90543	// addresses when queried from instances in the peer VPC.
90544	AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
90545
90546	// If true, enables outbound communication from an EC2-Classic instance that's
90547	// linked to a local VPC using ClassicLink to instances in a peer VPC.
90548	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
90549
90550	// If true, enables outbound communication from instances in a local VPC to
90551	// an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
90552	AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
90553}
90554
90555// String returns the string representation
90556func (s PeeringConnectionOptionsRequest) String() string {
90557	return awsutil.Prettify(s)
90558}
90559
90560// GoString returns the string representation
90561func (s PeeringConnectionOptionsRequest) GoString() string {
90562	return s.String()
90563}
90564
90565// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
90566func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
90567	s.AllowDnsResolutionFromRemoteVpc = &v
90568	return s
90569}
90570
90571// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
90572func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
90573	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
90574	return s
90575}
90576
90577// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
90578func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
90579	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
90580	return s
90581}
90582
90583// Information about the transit gateway in the peering attachment.
90584type PeeringTgwInfo struct {
90585	_ struct{} `type:"structure"`
90586
90587	// The AWS account ID of the owner of the transit gateway.
90588	OwnerId *string `locationName:"ownerId" type:"string"`
90589
90590	// The Region of the transit gateway.
90591	Region *string `locationName:"region" type:"string"`
90592
90593	// The ID of the transit gateway.
90594	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
90595}
90596
90597// String returns the string representation
90598func (s PeeringTgwInfo) String() string {
90599	return awsutil.Prettify(s)
90600}
90601
90602// GoString returns the string representation
90603func (s PeeringTgwInfo) GoString() string {
90604	return s.String()
90605}
90606
90607// SetOwnerId sets the OwnerId field's value.
90608func (s *PeeringTgwInfo) SetOwnerId(v string) *PeeringTgwInfo {
90609	s.OwnerId = &v
90610	return s
90611}
90612
90613// SetRegion sets the Region field's value.
90614func (s *PeeringTgwInfo) SetRegion(v string) *PeeringTgwInfo {
90615	s.Region = &v
90616	return s
90617}
90618
90619// SetTransitGatewayId sets the TransitGatewayId field's value.
90620func (s *PeeringTgwInfo) SetTransitGatewayId(v string) *PeeringTgwInfo {
90621	s.TransitGatewayId = &v
90622	return s
90623}
90624
90625// The Diffie-Hellmann group number for phase 1 IKE negotiations.
90626type Phase1DHGroupNumbersListValue struct {
90627	_ struct{} `type:"structure"`
90628
90629	// The Diffie-Hellmann group number.
90630	Value *int64 `locationName:"value" type:"integer"`
90631}
90632
90633// String returns the string representation
90634func (s Phase1DHGroupNumbersListValue) String() string {
90635	return awsutil.Prettify(s)
90636}
90637
90638// GoString returns the string representation
90639func (s Phase1DHGroupNumbersListValue) GoString() string {
90640	return s.String()
90641}
90642
90643// SetValue sets the Value field's value.
90644func (s *Phase1DHGroupNumbersListValue) SetValue(v int64) *Phase1DHGroupNumbersListValue {
90645	s.Value = &v
90646	return s
90647}
90648
90649// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE
90650// negotiations.
90651type Phase1DHGroupNumbersRequestListValue struct {
90652	_ struct{} `type:"structure"`
90653
90654	// The Diffie-Hellmann group number.
90655	Value *int64 `type:"integer"`
90656}
90657
90658// String returns the string representation
90659func (s Phase1DHGroupNumbersRequestListValue) String() string {
90660	return awsutil.Prettify(s)
90661}
90662
90663// GoString returns the string representation
90664func (s Phase1DHGroupNumbersRequestListValue) GoString() string {
90665	return s.String()
90666}
90667
90668// SetValue sets the Value field's value.
90669func (s *Phase1DHGroupNumbersRequestListValue) SetValue(v int64) *Phase1DHGroupNumbersRequestListValue {
90670	s.Value = &v
90671	return s
90672}
90673
90674// The encryption algorithm for phase 1 IKE negotiations.
90675type Phase1EncryptionAlgorithmsListValue struct {
90676	_ struct{} `type:"structure"`
90677
90678	// The value for the encryption algorithm.
90679	Value *string `locationName:"value" type:"string"`
90680}
90681
90682// String returns the string representation
90683func (s Phase1EncryptionAlgorithmsListValue) String() string {
90684	return awsutil.Prettify(s)
90685}
90686
90687// GoString returns the string representation
90688func (s Phase1EncryptionAlgorithmsListValue) GoString() string {
90689	return s.String()
90690}
90691
90692// SetValue sets the Value field's value.
90693func (s *Phase1EncryptionAlgorithmsListValue) SetValue(v string) *Phase1EncryptionAlgorithmsListValue {
90694	s.Value = &v
90695	return s
90696}
90697
90698// Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.
90699type Phase1EncryptionAlgorithmsRequestListValue struct {
90700	_ struct{} `type:"structure"`
90701
90702	// The value for the encryption algorithm.
90703	Value *string `type:"string"`
90704}
90705
90706// String returns the string representation
90707func (s Phase1EncryptionAlgorithmsRequestListValue) String() string {
90708	return awsutil.Prettify(s)
90709}
90710
90711// GoString returns the string representation
90712func (s Phase1EncryptionAlgorithmsRequestListValue) GoString() string {
90713	return s.String()
90714}
90715
90716// SetValue sets the Value field's value.
90717func (s *Phase1EncryptionAlgorithmsRequestListValue) SetValue(v string) *Phase1EncryptionAlgorithmsRequestListValue {
90718	s.Value = &v
90719	return s
90720}
90721
90722// The integrity algorithm for phase 1 IKE negotiations.
90723type Phase1IntegrityAlgorithmsListValue struct {
90724	_ struct{} `type:"structure"`
90725
90726	// The value for the integrity algorithm.
90727	Value *string `locationName:"value" type:"string"`
90728}
90729
90730// String returns the string representation
90731func (s Phase1IntegrityAlgorithmsListValue) String() string {
90732	return awsutil.Prettify(s)
90733}
90734
90735// GoString returns the string representation
90736func (s Phase1IntegrityAlgorithmsListValue) GoString() string {
90737	return s.String()
90738}
90739
90740// SetValue sets the Value field's value.
90741func (s *Phase1IntegrityAlgorithmsListValue) SetValue(v string) *Phase1IntegrityAlgorithmsListValue {
90742	s.Value = &v
90743	return s
90744}
90745
90746// Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.
90747type Phase1IntegrityAlgorithmsRequestListValue struct {
90748	_ struct{} `type:"structure"`
90749
90750	// The value for the integrity algorithm.
90751	Value *string `type:"string"`
90752}
90753
90754// String returns the string representation
90755func (s Phase1IntegrityAlgorithmsRequestListValue) String() string {
90756	return awsutil.Prettify(s)
90757}
90758
90759// GoString returns the string representation
90760func (s Phase1IntegrityAlgorithmsRequestListValue) GoString() string {
90761	return s.String()
90762}
90763
90764// SetValue sets the Value field's value.
90765func (s *Phase1IntegrityAlgorithmsRequestListValue) SetValue(v string) *Phase1IntegrityAlgorithmsRequestListValue {
90766	s.Value = &v
90767	return s
90768}
90769
90770// The Diffie-Hellmann group number for phase 2 IKE negotiations.
90771type Phase2DHGroupNumbersListValue struct {
90772	_ struct{} `type:"structure"`
90773
90774	// The Diffie-Hellmann group number.
90775	Value *int64 `locationName:"value" type:"integer"`
90776}
90777
90778// String returns the string representation
90779func (s Phase2DHGroupNumbersListValue) String() string {
90780	return awsutil.Prettify(s)
90781}
90782
90783// GoString returns the string representation
90784func (s Phase2DHGroupNumbersListValue) GoString() string {
90785	return s.String()
90786}
90787
90788// SetValue sets the Value field's value.
90789func (s *Phase2DHGroupNumbersListValue) SetValue(v int64) *Phase2DHGroupNumbersListValue {
90790	s.Value = &v
90791	return s
90792}
90793
90794// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE
90795// negotiations.
90796type Phase2DHGroupNumbersRequestListValue struct {
90797	_ struct{} `type:"structure"`
90798
90799	// The Diffie-Hellmann group number.
90800	Value *int64 `type:"integer"`
90801}
90802
90803// String returns the string representation
90804func (s Phase2DHGroupNumbersRequestListValue) String() string {
90805	return awsutil.Prettify(s)
90806}
90807
90808// GoString returns the string representation
90809func (s Phase2DHGroupNumbersRequestListValue) GoString() string {
90810	return s.String()
90811}
90812
90813// SetValue sets the Value field's value.
90814func (s *Phase2DHGroupNumbersRequestListValue) SetValue(v int64) *Phase2DHGroupNumbersRequestListValue {
90815	s.Value = &v
90816	return s
90817}
90818
90819// The encryption algorithm for phase 2 IKE negotiations.
90820type Phase2EncryptionAlgorithmsListValue struct {
90821	_ struct{} `type:"structure"`
90822
90823	// The encryption algorithm.
90824	Value *string `locationName:"value" type:"string"`
90825}
90826
90827// String returns the string representation
90828func (s Phase2EncryptionAlgorithmsListValue) String() string {
90829	return awsutil.Prettify(s)
90830}
90831
90832// GoString returns the string representation
90833func (s Phase2EncryptionAlgorithmsListValue) GoString() string {
90834	return s.String()
90835}
90836
90837// SetValue sets the Value field's value.
90838func (s *Phase2EncryptionAlgorithmsListValue) SetValue(v string) *Phase2EncryptionAlgorithmsListValue {
90839	s.Value = &v
90840	return s
90841}
90842
90843// Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.
90844type Phase2EncryptionAlgorithmsRequestListValue struct {
90845	_ struct{} `type:"structure"`
90846
90847	// The encryption algorithm.
90848	Value *string `type:"string"`
90849}
90850
90851// String returns the string representation
90852func (s Phase2EncryptionAlgorithmsRequestListValue) String() string {
90853	return awsutil.Prettify(s)
90854}
90855
90856// GoString returns the string representation
90857func (s Phase2EncryptionAlgorithmsRequestListValue) GoString() string {
90858	return s.String()
90859}
90860
90861// SetValue sets the Value field's value.
90862func (s *Phase2EncryptionAlgorithmsRequestListValue) SetValue(v string) *Phase2EncryptionAlgorithmsRequestListValue {
90863	s.Value = &v
90864	return s
90865}
90866
90867// The integrity algorithm for phase 2 IKE negotiations.
90868type Phase2IntegrityAlgorithmsListValue struct {
90869	_ struct{} `type:"structure"`
90870
90871	// The integrity algorithm.
90872	Value *string `locationName:"value" type:"string"`
90873}
90874
90875// String returns the string representation
90876func (s Phase2IntegrityAlgorithmsListValue) String() string {
90877	return awsutil.Prettify(s)
90878}
90879
90880// GoString returns the string representation
90881func (s Phase2IntegrityAlgorithmsListValue) GoString() string {
90882	return s.String()
90883}
90884
90885// SetValue sets the Value field's value.
90886func (s *Phase2IntegrityAlgorithmsListValue) SetValue(v string) *Phase2IntegrityAlgorithmsListValue {
90887	s.Value = &v
90888	return s
90889}
90890
90891// Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.
90892type Phase2IntegrityAlgorithmsRequestListValue struct {
90893	_ struct{} `type:"structure"`
90894
90895	// The integrity algorithm.
90896	Value *string `type:"string"`
90897}
90898
90899// String returns the string representation
90900func (s Phase2IntegrityAlgorithmsRequestListValue) String() string {
90901	return awsutil.Prettify(s)
90902}
90903
90904// GoString returns the string representation
90905func (s Phase2IntegrityAlgorithmsRequestListValue) GoString() string {
90906	return s.String()
90907}
90908
90909// SetValue sets the Value field's value.
90910func (s *Phase2IntegrityAlgorithmsRequestListValue) SetValue(v string) *Phase2IntegrityAlgorithmsRequestListValue {
90911	s.Value = &v
90912	return s
90913}
90914
90915// Describes the placement of an instance.
90916type Placement struct {
90917	_ struct{} `type:"structure"`
90918
90919	// The affinity setting for the instance on the Dedicated Host. This parameter
90920	// is not supported for the ImportInstance command.
90921	//
90922	// This parameter is not supported by .
90923	Affinity *string `locationName:"affinity" type:"string"`
90924
90925	// The Availability Zone of the instance.
90926	//
90927	// If not specified, an Availability Zone will be automatically chosen for you
90928	// based on the load balancing criteria for the Region.
90929	//
90930	// This parameter is not supported by .
90931	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
90932
90933	// The name of the placement group the instance is in.
90934	GroupName *string `locationName:"groupName" type:"string"`
90935
90936	// The ID of the Dedicated Host on which the instance resides. This parameter
90937	// is not supported for the ImportInstance command.
90938	//
90939	// This parameter is not supported by .
90940	HostId *string `locationName:"hostId" type:"string"`
90941
90942	// The ARN of the host resource group in which to launch the instances. If you
90943	// specify a host resource group ARN, omit the Tenancy parameter or set it to
90944	// host.
90945	//
90946	// This parameter is not supported by .
90947	HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
90948
90949	// The number of the partition the instance is in. Valid only if the placement
90950	// group strategy is set to partition.
90951	//
90952	// This parameter is not supported by .
90953	PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
90954
90955	// Reserved for future use.
90956	//
90957	// This parameter is not supported by .
90958	SpreadDomain *string `locationName:"spreadDomain" type:"string"`
90959
90960	// The tenancy of the instance (if the instance is running in a VPC). An instance
90961	// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
90962	// is not supported for the ImportInstance command.
90963	//
90964	// This parameter is not supported by .
90965	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
90966}
90967
90968// String returns the string representation
90969func (s Placement) String() string {
90970	return awsutil.Prettify(s)
90971}
90972
90973// GoString returns the string representation
90974func (s Placement) GoString() string {
90975	return s.String()
90976}
90977
90978// SetAffinity sets the Affinity field's value.
90979func (s *Placement) SetAffinity(v string) *Placement {
90980	s.Affinity = &v
90981	return s
90982}
90983
90984// SetAvailabilityZone sets the AvailabilityZone field's value.
90985func (s *Placement) SetAvailabilityZone(v string) *Placement {
90986	s.AvailabilityZone = &v
90987	return s
90988}
90989
90990// SetGroupName sets the GroupName field's value.
90991func (s *Placement) SetGroupName(v string) *Placement {
90992	s.GroupName = &v
90993	return s
90994}
90995
90996// SetHostId sets the HostId field's value.
90997func (s *Placement) SetHostId(v string) *Placement {
90998	s.HostId = &v
90999	return s
91000}
91001
91002// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
91003func (s *Placement) SetHostResourceGroupArn(v string) *Placement {
91004	s.HostResourceGroupArn = &v
91005	return s
91006}
91007
91008// SetPartitionNumber sets the PartitionNumber field's value.
91009func (s *Placement) SetPartitionNumber(v int64) *Placement {
91010	s.PartitionNumber = &v
91011	return s
91012}
91013
91014// SetSpreadDomain sets the SpreadDomain field's value.
91015func (s *Placement) SetSpreadDomain(v string) *Placement {
91016	s.SpreadDomain = &v
91017	return s
91018}
91019
91020// SetTenancy sets the Tenancy field's value.
91021func (s *Placement) SetTenancy(v string) *Placement {
91022	s.Tenancy = &v
91023	return s
91024}
91025
91026// Describes a placement group.
91027type PlacementGroup struct {
91028	_ struct{} `type:"structure"`
91029
91030	// The ID of the placement group.
91031	GroupId *string `locationName:"groupId" type:"string"`
91032
91033	// The name of the placement group.
91034	GroupName *string `locationName:"groupName" type:"string"`
91035
91036	// The number of partitions. Valid only if strategy is set to partition.
91037	PartitionCount *int64 `locationName:"partitionCount" type:"integer"`
91038
91039	// The state of the placement group.
91040	State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
91041
91042	// The placement strategy.
91043	Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
91044
91045	// Any tags applied to the placement group.
91046	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
91047}
91048
91049// String returns the string representation
91050func (s PlacementGroup) String() string {
91051	return awsutil.Prettify(s)
91052}
91053
91054// GoString returns the string representation
91055func (s PlacementGroup) GoString() string {
91056	return s.String()
91057}
91058
91059// SetGroupId sets the GroupId field's value.
91060func (s *PlacementGroup) SetGroupId(v string) *PlacementGroup {
91061	s.GroupId = &v
91062	return s
91063}
91064
91065// SetGroupName sets the GroupName field's value.
91066func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
91067	s.GroupName = &v
91068	return s
91069}
91070
91071// SetPartitionCount sets the PartitionCount field's value.
91072func (s *PlacementGroup) SetPartitionCount(v int64) *PlacementGroup {
91073	s.PartitionCount = &v
91074	return s
91075}
91076
91077// SetState sets the State field's value.
91078func (s *PlacementGroup) SetState(v string) *PlacementGroup {
91079	s.State = &v
91080	return s
91081}
91082
91083// SetStrategy sets the Strategy field's value.
91084func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
91085	s.Strategy = &v
91086	return s
91087}
91088
91089// SetTags sets the Tags field's value.
91090func (s *PlacementGroup) SetTags(v []*Tag) *PlacementGroup {
91091	s.Tags = v
91092	return s
91093}
91094
91095// Describes the placement group support of the instance type.
91096type PlacementGroupInfo struct {
91097	_ struct{} `type:"structure"`
91098
91099	// A list of supported placement groups types.
91100	SupportedStrategies []*string `locationName:"supportedStrategies" locationNameList:"item" type:"list"`
91101}
91102
91103// String returns the string representation
91104func (s PlacementGroupInfo) String() string {
91105	return awsutil.Prettify(s)
91106}
91107
91108// GoString returns the string representation
91109func (s PlacementGroupInfo) GoString() string {
91110	return s.String()
91111}
91112
91113// SetSupportedStrategies sets the SupportedStrategies field's value.
91114func (s *PlacementGroupInfo) SetSupportedStrategies(v []*string) *PlacementGroupInfo {
91115	s.SupportedStrategies = v
91116	return s
91117}
91118
91119// Describes the placement of an instance.
91120type PlacementResponse struct {
91121	_ struct{} `type:"structure"`
91122
91123	// The name of the placement group that the instance is in.
91124	GroupName *string `locationName:"groupName" type:"string"`
91125}
91126
91127// String returns the string representation
91128func (s PlacementResponse) String() string {
91129	return awsutil.Prettify(s)
91130}
91131
91132// GoString returns the string representation
91133func (s PlacementResponse) GoString() string {
91134	return s.String()
91135}
91136
91137// SetGroupName sets the GroupName field's value.
91138func (s *PlacementResponse) SetGroupName(v string) *PlacementResponse {
91139	s.GroupName = &v
91140	return s
91141}
91142
91143// Describes a CIDR block for an address pool.
91144type PoolCidrBlock struct {
91145	_ struct{} `type:"structure"`
91146
91147	// The CIDR block.
91148	Cidr *string `locationName:"poolCidrBlock" type:"string"`
91149}
91150
91151// String returns the string representation
91152func (s PoolCidrBlock) String() string {
91153	return awsutil.Prettify(s)
91154}
91155
91156// GoString returns the string representation
91157func (s PoolCidrBlock) GoString() string {
91158	return s.String()
91159}
91160
91161// SetCidr sets the Cidr field's value.
91162func (s *PoolCidrBlock) SetCidr(v string) *PoolCidrBlock {
91163	s.Cidr = &v
91164	return s
91165}
91166
91167// Describes a range of ports.
91168type PortRange struct {
91169	_ struct{} `type:"structure"`
91170
91171	// The first port in the range.
91172	From *int64 `locationName:"from" type:"integer"`
91173
91174	// The last port in the range.
91175	To *int64 `locationName:"to" type:"integer"`
91176}
91177
91178// String returns the string representation
91179func (s PortRange) String() string {
91180	return awsutil.Prettify(s)
91181}
91182
91183// GoString returns the string representation
91184func (s PortRange) GoString() string {
91185	return s.String()
91186}
91187
91188// SetFrom sets the From field's value.
91189func (s *PortRange) SetFrom(v int64) *PortRange {
91190	s.From = &v
91191	return s
91192}
91193
91194// SetTo sets the To field's value.
91195func (s *PortRange) SetTo(v int64) *PortRange {
91196	s.To = &v
91197	return s
91198}
91199
91200// Describes prefixes for AWS services.
91201type PrefixList struct {
91202	_ struct{} `type:"structure"`
91203
91204	// The IP address range of the AWS service.
91205	Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
91206
91207	// The ID of the prefix.
91208	PrefixListId *string `locationName:"prefixListId" type:"string"`
91209
91210	// The name of the prefix.
91211	PrefixListName *string `locationName:"prefixListName" type:"string"`
91212}
91213
91214// String returns the string representation
91215func (s PrefixList) String() string {
91216	return awsutil.Prettify(s)
91217}
91218
91219// GoString returns the string representation
91220func (s PrefixList) GoString() string {
91221	return s.String()
91222}
91223
91224// SetCidrs sets the Cidrs field's value.
91225func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
91226	s.Cidrs = v
91227	return s
91228}
91229
91230// SetPrefixListId sets the PrefixListId field's value.
91231func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
91232	s.PrefixListId = &v
91233	return s
91234}
91235
91236// SetPrefixListName sets the PrefixListName field's value.
91237func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
91238	s.PrefixListName = &v
91239	return s
91240}
91241
91242// Describes a prefix list ID.
91243type PrefixListId struct {
91244	_ struct{} `type:"structure"`
91245
91246	// A description for the security group rule that references this prefix list
91247	// ID.
91248	//
91249	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
91250	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
91251	Description *string `locationName:"description" type:"string"`
91252
91253	// The ID of the prefix.
91254	PrefixListId *string `locationName:"prefixListId" type:"string"`
91255}
91256
91257// String returns the string representation
91258func (s PrefixListId) String() string {
91259	return awsutil.Prettify(s)
91260}
91261
91262// GoString returns the string representation
91263func (s PrefixListId) GoString() string {
91264	return s.String()
91265}
91266
91267// SetDescription sets the Description field's value.
91268func (s *PrefixListId) SetDescription(v string) *PrefixListId {
91269	s.Description = &v
91270	return s
91271}
91272
91273// SetPrefixListId sets the PrefixListId field's value.
91274func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
91275	s.PrefixListId = &v
91276	return s
91277}
91278
91279// Describes the price for a Reserved Instance.
91280type PriceSchedule struct {
91281	_ struct{} `type:"structure"`
91282
91283	// The current price schedule, as determined by the term remaining for the Reserved
91284	// Instance in the listing.
91285	//
91286	// A specific price schedule is always in effect, but only one price schedule
91287	// can be active at any time. Take, for example, a Reserved Instance listing
91288	// that has five months remaining in its term. When you specify price schedules
91289	// for five months and two months, this means that schedule 1, covering the
91290	// first three months of the remaining term, will be active during months 5,
91291	// 4, and 3. Then schedule 2, covering the last two months of the term, will
91292	// be active for months 2 and 1.
91293	Active *bool `locationName:"active" type:"boolean"`
91294
91295	// The currency for transacting the Reserved Instance resale. At this time,
91296	// the only supported currency is USD.
91297	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
91298
91299	// The fixed price for the term.
91300	Price *float64 `locationName:"price" type:"double"`
91301
91302	// The number of months remaining in the reservation. For example, 2 is the
91303	// second to the last month before the capacity reservation expires.
91304	Term *int64 `locationName:"term" type:"long"`
91305}
91306
91307// String returns the string representation
91308func (s PriceSchedule) String() string {
91309	return awsutil.Prettify(s)
91310}
91311
91312// GoString returns the string representation
91313func (s PriceSchedule) GoString() string {
91314	return s.String()
91315}
91316
91317// SetActive sets the Active field's value.
91318func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
91319	s.Active = &v
91320	return s
91321}
91322
91323// SetCurrencyCode sets the CurrencyCode field's value.
91324func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
91325	s.CurrencyCode = &v
91326	return s
91327}
91328
91329// SetPrice sets the Price field's value.
91330func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
91331	s.Price = &v
91332	return s
91333}
91334
91335// SetTerm sets the Term field's value.
91336func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
91337	s.Term = &v
91338	return s
91339}
91340
91341// Describes the price for a Reserved Instance.
91342type PriceScheduleSpecification struct {
91343	_ struct{} `type:"structure"`
91344
91345	// The currency for transacting the Reserved Instance resale. At this time,
91346	// the only supported currency is USD.
91347	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
91348
91349	// The fixed price for the term.
91350	Price *float64 `locationName:"price" type:"double"`
91351
91352	// The number of months remaining in the reservation. For example, 2 is the
91353	// second to the last month before the capacity reservation expires.
91354	Term *int64 `locationName:"term" type:"long"`
91355}
91356
91357// String returns the string representation
91358func (s PriceScheduleSpecification) String() string {
91359	return awsutil.Prettify(s)
91360}
91361
91362// GoString returns the string representation
91363func (s PriceScheduleSpecification) GoString() string {
91364	return s.String()
91365}
91366
91367// SetCurrencyCode sets the CurrencyCode field's value.
91368func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
91369	s.CurrencyCode = &v
91370	return s
91371}
91372
91373// SetPrice sets the Price field's value.
91374func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
91375	s.Price = &v
91376	return s
91377}
91378
91379// SetTerm sets the Term field's value.
91380func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
91381	s.Term = &v
91382	return s
91383}
91384
91385// Describes a Reserved Instance offering.
91386type PricingDetail struct {
91387	_ struct{} `type:"structure"`
91388
91389	// The number of reservations available for the price.
91390	Count *int64 `locationName:"count" type:"integer"`
91391
91392	// The price per instance.
91393	Price *float64 `locationName:"price" type:"double"`
91394}
91395
91396// String returns the string representation
91397func (s PricingDetail) String() string {
91398	return awsutil.Prettify(s)
91399}
91400
91401// GoString returns the string representation
91402func (s PricingDetail) GoString() string {
91403	return s.String()
91404}
91405
91406// SetCount sets the Count field's value.
91407func (s *PricingDetail) SetCount(v int64) *PricingDetail {
91408	s.Count = &v
91409	return s
91410}
91411
91412// SetPrice sets the Price field's value.
91413func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
91414	s.Price = &v
91415	return s
91416}
91417
91418// PrincipalIdFormat description
91419type PrincipalIdFormat struct {
91420	_ struct{} `type:"structure"`
91421
91422	// PrincipalIdFormatARN description
91423	Arn *string `locationName:"arn" type:"string"`
91424
91425	// PrincipalIdFormatStatuses description
91426	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
91427}
91428
91429// String returns the string representation
91430func (s PrincipalIdFormat) String() string {
91431	return awsutil.Prettify(s)
91432}
91433
91434// GoString returns the string representation
91435func (s PrincipalIdFormat) GoString() string {
91436	return s.String()
91437}
91438
91439// SetArn sets the Arn field's value.
91440func (s *PrincipalIdFormat) SetArn(v string) *PrincipalIdFormat {
91441	s.Arn = &v
91442	return s
91443}
91444
91445// SetStatuses sets the Statuses field's value.
91446func (s *PrincipalIdFormat) SetStatuses(v []*IdFormat) *PrincipalIdFormat {
91447	s.Statuses = v
91448	return s
91449}
91450
91451// Information about the private DNS name for the service endpoint. For more
91452// information about these parameters, see VPC Endpoint Service Private DNS
91453// Name Verification (https://docs.aws.amazon.com/vpc/latest/userguide/ndpoint-services-dns-validation.html)
91454// in the Amazon Virtual Private Cloud User Guide.
91455type PrivateDnsNameConfiguration struct {
91456	_ struct{} `type:"structure"`
91457
91458	// The name of the record subdomain the service provider needs to create. The
91459	// service provider adds the value text to the name.
91460	Name *string `locationName:"name" type:"string"`
91461
91462	// The verification state of the VPC endpoint service.
91463	//
91464	// >Consumers of the endpoint service can use the private name only when the
91465	// state is verified.
91466	State *string `locationName:"state" type:"string" enum:"DnsNameState"`
91467
91468	// The endpoint service verification type, for example TXT.
91469	Type *string `locationName:"type" type:"string"`
91470
91471	// The value the service provider adds to the private DNS name domain record
91472	// before verification.
91473	Value *string `locationName:"value" type:"string"`
91474}
91475
91476// String returns the string representation
91477func (s PrivateDnsNameConfiguration) String() string {
91478	return awsutil.Prettify(s)
91479}
91480
91481// GoString returns the string representation
91482func (s PrivateDnsNameConfiguration) GoString() string {
91483	return s.String()
91484}
91485
91486// SetName sets the Name field's value.
91487func (s *PrivateDnsNameConfiguration) SetName(v string) *PrivateDnsNameConfiguration {
91488	s.Name = &v
91489	return s
91490}
91491
91492// SetState sets the State field's value.
91493func (s *PrivateDnsNameConfiguration) SetState(v string) *PrivateDnsNameConfiguration {
91494	s.State = &v
91495	return s
91496}
91497
91498// SetType sets the Type field's value.
91499func (s *PrivateDnsNameConfiguration) SetType(v string) *PrivateDnsNameConfiguration {
91500	s.Type = &v
91501	return s
91502}
91503
91504// SetValue sets the Value field's value.
91505func (s *PrivateDnsNameConfiguration) SetValue(v string) *PrivateDnsNameConfiguration {
91506	s.Value = &v
91507	return s
91508}
91509
91510// Describes a secondary private IPv4 address for a network interface.
91511type PrivateIpAddressSpecification struct {
91512	_ struct{} `type:"structure"`
91513
91514	// Indicates whether the private IPv4 address is the primary private IPv4 address.
91515	// Only one IPv4 address can be designated as primary.
91516	Primary *bool `locationName:"primary" type:"boolean"`
91517
91518	// The private IPv4 addresses.
91519	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
91520}
91521
91522// String returns the string representation
91523func (s PrivateIpAddressSpecification) String() string {
91524	return awsutil.Prettify(s)
91525}
91526
91527// GoString returns the string representation
91528func (s PrivateIpAddressSpecification) GoString() string {
91529	return s.String()
91530}
91531
91532// SetPrimary sets the Primary field's value.
91533func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
91534	s.Primary = &v
91535	return s
91536}
91537
91538// SetPrivateIpAddress sets the PrivateIpAddress field's value.
91539func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
91540	s.PrivateIpAddress = &v
91541	return s
91542}
91543
91544// Describes the processor used by the instance type.
91545type ProcessorInfo struct {
91546	_ struct{} `type:"structure"`
91547
91548	// A list of architectures supported by the instance type.
91549	SupportedArchitectures []*string `locationName:"supportedArchitectures" locationNameList:"item" type:"list"`
91550
91551	// The speed of the processor, in GHz.
91552	SustainedClockSpeedInGhz *float64 `locationName:"sustainedClockSpeedInGhz" type:"double"`
91553}
91554
91555// String returns the string representation
91556func (s ProcessorInfo) String() string {
91557	return awsutil.Prettify(s)
91558}
91559
91560// GoString returns the string representation
91561func (s ProcessorInfo) GoString() string {
91562	return s.String()
91563}
91564
91565// SetSupportedArchitectures sets the SupportedArchitectures field's value.
91566func (s *ProcessorInfo) SetSupportedArchitectures(v []*string) *ProcessorInfo {
91567	s.SupportedArchitectures = v
91568	return s
91569}
91570
91571// SetSustainedClockSpeedInGhz sets the SustainedClockSpeedInGhz field's value.
91572func (s *ProcessorInfo) SetSustainedClockSpeedInGhz(v float64) *ProcessorInfo {
91573	s.SustainedClockSpeedInGhz = &v
91574	return s
91575}
91576
91577// Describes a product code.
91578type ProductCode struct {
91579	_ struct{} `type:"structure"`
91580
91581	// The product code.
91582	ProductCodeId *string `locationName:"productCode" type:"string"`
91583
91584	// The type of product code.
91585	ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
91586}
91587
91588// String returns the string representation
91589func (s ProductCode) String() string {
91590	return awsutil.Prettify(s)
91591}
91592
91593// GoString returns the string representation
91594func (s ProductCode) GoString() string {
91595	return s.String()
91596}
91597
91598// SetProductCodeId sets the ProductCodeId field's value.
91599func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
91600	s.ProductCodeId = &v
91601	return s
91602}
91603
91604// SetProductCodeType sets the ProductCodeType field's value.
91605func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
91606	s.ProductCodeType = &v
91607	return s
91608}
91609
91610// Describes a virtual private gateway propagating route.
91611type PropagatingVgw struct {
91612	_ struct{} `type:"structure"`
91613
91614	// The ID of the virtual private gateway.
91615	GatewayId *string `locationName:"gatewayId" type:"string"`
91616}
91617
91618// String returns the string representation
91619func (s PropagatingVgw) String() string {
91620	return awsutil.Prettify(s)
91621}
91622
91623// GoString returns the string representation
91624func (s PropagatingVgw) GoString() string {
91625	return s.String()
91626}
91627
91628// SetGatewayId sets the GatewayId field's value.
91629func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
91630	s.GatewayId = &v
91631	return s
91632}
91633
91634type ProvisionByoipCidrInput struct {
91635	_ struct{} `type:"structure"`
91636
91637	// The public IPv4 or IPv6 address range, in CIDR notation. The most specific
91638	// IPv4 prefix that you can specify is /24. The most specific IPv6 prefix you
91639	// can specify is /56. The address range cannot overlap with another address
91640	// range that you've brought to this or another Region.
91641	//
91642	// Cidr is a required field
91643	Cidr *string `type:"string" required:"true"`
91644
91645	// A signed document that proves that you are authorized to bring the specified
91646	// IP address range to Amazon using BYOIP.
91647	CidrAuthorizationContext *CidrAuthorizationContext `type:"structure"`
91648
91649	// A description for the address range and the address pool.
91650	Description *string `type:"string"`
91651
91652	// Checks whether you have the required permissions for the action, without
91653	// actually making the request, and provides an error response. If you have
91654	// the required permissions, the error response is DryRunOperation. Otherwise,
91655	// it is UnauthorizedOperation.
91656	DryRun *bool `type:"boolean"`
91657
91658	// (IPv6 only) Indicate whether the address range will be publicly advertised
91659	// to the internet.
91660	//
91661	// Default: true
91662	PubliclyAdvertisable *bool `type:"boolean"`
91663}
91664
91665// String returns the string representation
91666func (s ProvisionByoipCidrInput) String() string {
91667	return awsutil.Prettify(s)
91668}
91669
91670// GoString returns the string representation
91671func (s ProvisionByoipCidrInput) GoString() string {
91672	return s.String()
91673}
91674
91675// Validate inspects the fields of the type to determine if they are valid.
91676func (s *ProvisionByoipCidrInput) Validate() error {
91677	invalidParams := request.ErrInvalidParams{Context: "ProvisionByoipCidrInput"}
91678	if s.Cidr == nil {
91679		invalidParams.Add(request.NewErrParamRequired("Cidr"))
91680	}
91681	if s.CidrAuthorizationContext != nil {
91682		if err := s.CidrAuthorizationContext.Validate(); err != nil {
91683			invalidParams.AddNested("CidrAuthorizationContext", err.(request.ErrInvalidParams))
91684		}
91685	}
91686
91687	if invalidParams.Len() > 0 {
91688		return invalidParams
91689	}
91690	return nil
91691}
91692
91693// SetCidr sets the Cidr field's value.
91694func (s *ProvisionByoipCidrInput) SetCidr(v string) *ProvisionByoipCidrInput {
91695	s.Cidr = &v
91696	return s
91697}
91698
91699// SetCidrAuthorizationContext sets the CidrAuthorizationContext field's value.
91700func (s *ProvisionByoipCidrInput) SetCidrAuthorizationContext(v *CidrAuthorizationContext) *ProvisionByoipCidrInput {
91701	s.CidrAuthorizationContext = v
91702	return s
91703}
91704
91705// SetDescription sets the Description field's value.
91706func (s *ProvisionByoipCidrInput) SetDescription(v string) *ProvisionByoipCidrInput {
91707	s.Description = &v
91708	return s
91709}
91710
91711// SetDryRun sets the DryRun field's value.
91712func (s *ProvisionByoipCidrInput) SetDryRun(v bool) *ProvisionByoipCidrInput {
91713	s.DryRun = &v
91714	return s
91715}
91716
91717// SetPubliclyAdvertisable sets the PubliclyAdvertisable field's value.
91718func (s *ProvisionByoipCidrInput) SetPubliclyAdvertisable(v bool) *ProvisionByoipCidrInput {
91719	s.PubliclyAdvertisable = &v
91720	return s
91721}
91722
91723type ProvisionByoipCidrOutput struct {
91724	_ struct{} `type:"structure"`
91725
91726	// Information about the address range.
91727	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
91728}
91729
91730// String returns the string representation
91731func (s ProvisionByoipCidrOutput) String() string {
91732	return awsutil.Prettify(s)
91733}
91734
91735// GoString returns the string representation
91736func (s ProvisionByoipCidrOutput) GoString() string {
91737	return s.String()
91738}
91739
91740// SetByoipCidr sets the ByoipCidr field's value.
91741func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCidrOutput {
91742	s.ByoipCidr = v
91743	return s
91744}
91745
91746// Reserved. If you need to sustain traffic greater than the documented limits
91747// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
91748// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
91749type ProvisionedBandwidth struct {
91750	_ struct{} `type:"structure"`
91751
91752	// Reserved. If you need to sustain traffic greater than the documented limits
91753	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
91754	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
91755	ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp"`
91756
91757	// Reserved. If you need to sustain traffic greater than the documented limits
91758	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
91759	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
91760	Provisioned *string `locationName:"provisioned" type:"string"`
91761
91762	// Reserved. If you need to sustain traffic greater than the documented limits
91763	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
91764	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
91765	RequestTime *time.Time `locationName:"requestTime" type:"timestamp"`
91766
91767	// Reserved. If you need to sustain traffic greater than the documented limits
91768	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
91769	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
91770	Requested *string `locationName:"requested" type:"string"`
91771
91772	// Reserved. If you need to sustain traffic greater than the documented limits
91773	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
91774	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
91775	Status *string `locationName:"status" type:"string"`
91776}
91777
91778// String returns the string representation
91779func (s ProvisionedBandwidth) String() string {
91780	return awsutil.Prettify(s)
91781}
91782
91783// GoString returns the string representation
91784func (s ProvisionedBandwidth) GoString() string {
91785	return s.String()
91786}
91787
91788// SetProvisionTime sets the ProvisionTime field's value.
91789func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
91790	s.ProvisionTime = &v
91791	return s
91792}
91793
91794// SetProvisioned sets the Provisioned field's value.
91795func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
91796	s.Provisioned = &v
91797	return s
91798}
91799
91800// SetRequestTime sets the RequestTime field's value.
91801func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
91802	s.RequestTime = &v
91803	return s
91804}
91805
91806// SetRequested sets the Requested field's value.
91807func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
91808	s.Requested = &v
91809	return s
91810}
91811
91812// SetStatus sets the Status field's value.
91813func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
91814	s.Status = &v
91815	return s
91816}
91817
91818// Describes an IPv4 address pool.
91819type PublicIpv4Pool struct {
91820	_ struct{} `type:"structure"`
91821
91822	// A description of the address pool.
91823	Description *string `locationName:"description" type:"string"`
91824
91825	// The address ranges.
91826	PoolAddressRanges []*PublicIpv4PoolRange `locationName:"poolAddressRangeSet" locationNameList:"item" type:"list"`
91827
91828	// The ID of the address pool.
91829	PoolId *string `locationName:"poolId" type:"string"`
91830
91831	// Any tags for the address pool.
91832	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
91833
91834	// The total number of addresses.
91835	TotalAddressCount *int64 `locationName:"totalAddressCount" type:"integer"`
91836
91837	// The total number of available addresses.
91838	TotalAvailableAddressCount *int64 `locationName:"totalAvailableAddressCount" type:"integer"`
91839}
91840
91841// String returns the string representation
91842func (s PublicIpv4Pool) String() string {
91843	return awsutil.Prettify(s)
91844}
91845
91846// GoString returns the string representation
91847func (s PublicIpv4Pool) GoString() string {
91848	return s.String()
91849}
91850
91851// SetDescription sets the Description field's value.
91852func (s *PublicIpv4Pool) SetDescription(v string) *PublicIpv4Pool {
91853	s.Description = &v
91854	return s
91855}
91856
91857// SetPoolAddressRanges sets the PoolAddressRanges field's value.
91858func (s *PublicIpv4Pool) SetPoolAddressRanges(v []*PublicIpv4PoolRange) *PublicIpv4Pool {
91859	s.PoolAddressRanges = v
91860	return s
91861}
91862
91863// SetPoolId sets the PoolId field's value.
91864func (s *PublicIpv4Pool) SetPoolId(v string) *PublicIpv4Pool {
91865	s.PoolId = &v
91866	return s
91867}
91868
91869// SetTags sets the Tags field's value.
91870func (s *PublicIpv4Pool) SetTags(v []*Tag) *PublicIpv4Pool {
91871	s.Tags = v
91872	return s
91873}
91874
91875// SetTotalAddressCount sets the TotalAddressCount field's value.
91876func (s *PublicIpv4Pool) SetTotalAddressCount(v int64) *PublicIpv4Pool {
91877	s.TotalAddressCount = &v
91878	return s
91879}
91880
91881// SetTotalAvailableAddressCount sets the TotalAvailableAddressCount field's value.
91882func (s *PublicIpv4Pool) SetTotalAvailableAddressCount(v int64) *PublicIpv4Pool {
91883	s.TotalAvailableAddressCount = &v
91884	return s
91885}
91886
91887// Describes an address range of an IPv4 address pool.
91888type PublicIpv4PoolRange struct {
91889	_ struct{} `type:"structure"`
91890
91891	// The number of addresses in the range.
91892	AddressCount *int64 `locationName:"addressCount" type:"integer"`
91893
91894	// The number of available addresses in the range.
91895	AvailableAddressCount *int64 `locationName:"availableAddressCount" type:"integer"`
91896
91897	// The first IP address in the range.
91898	FirstAddress *string `locationName:"firstAddress" type:"string"`
91899
91900	// The last IP address in the range.
91901	LastAddress *string `locationName:"lastAddress" type:"string"`
91902}
91903
91904// String returns the string representation
91905func (s PublicIpv4PoolRange) String() string {
91906	return awsutil.Prettify(s)
91907}
91908
91909// GoString returns the string representation
91910func (s PublicIpv4PoolRange) GoString() string {
91911	return s.String()
91912}
91913
91914// SetAddressCount sets the AddressCount field's value.
91915func (s *PublicIpv4PoolRange) SetAddressCount(v int64) *PublicIpv4PoolRange {
91916	s.AddressCount = &v
91917	return s
91918}
91919
91920// SetAvailableAddressCount sets the AvailableAddressCount field's value.
91921func (s *PublicIpv4PoolRange) SetAvailableAddressCount(v int64) *PublicIpv4PoolRange {
91922	s.AvailableAddressCount = &v
91923	return s
91924}
91925
91926// SetFirstAddress sets the FirstAddress field's value.
91927func (s *PublicIpv4PoolRange) SetFirstAddress(v string) *PublicIpv4PoolRange {
91928	s.FirstAddress = &v
91929	return s
91930}
91931
91932// SetLastAddress sets the LastAddress field's value.
91933func (s *PublicIpv4PoolRange) SetLastAddress(v string) *PublicIpv4PoolRange {
91934	s.LastAddress = &v
91935	return s
91936}
91937
91938// Describes the result of the purchase.
91939type Purchase struct {
91940	_ struct{} `type:"structure"`
91941
91942	// The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
91943	// At this time, the only supported currency is USD.
91944	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
91945
91946	// The duration of the reservation's term in seconds.
91947	Duration *int64 `locationName:"duration" type:"integer"`
91948
91949	// The IDs of the Dedicated Hosts associated with the reservation.
91950	HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
91951
91952	// The ID of the reservation.
91953	HostReservationId *string `locationName:"hostReservationId" type:"string"`
91954
91955	// The hourly price of the reservation per hour.
91956	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
91957
91958	// The instance family on the Dedicated Host that the reservation can be associated
91959	// with.
91960	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
91961
91962	// The payment option for the reservation.
91963	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
91964
91965	// The upfront price of the reservation.
91966	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
91967}
91968
91969// String returns the string representation
91970func (s Purchase) String() string {
91971	return awsutil.Prettify(s)
91972}
91973
91974// GoString returns the string representation
91975func (s Purchase) GoString() string {
91976	return s.String()
91977}
91978
91979// SetCurrencyCode sets the CurrencyCode field's value.
91980func (s *Purchase) SetCurrencyCode(v string) *Purchase {
91981	s.CurrencyCode = &v
91982	return s
91983}
91984
91985// SetDuration sets the Duration field's value.
91986func (s *Purchase) SetDuration(v int64) *Purchase {
91987	s.Duration = &v
91988	return s
91989}
91990
91991// SetHostIdSet sets the HostIdSet field's value.
91992func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
91993	s.HostIdSet = v
91994	return s
91995}
91996
91997// SetHostReservationId sets the HostReservationId field's value.
91998func (s *Purchase) SetHostReservationId(v string) *Purchase {
91999	s.HostReservationId = &v
92000	return s
92001}
92002
92003// SetHourlyPrice sets the HourlyPrice field's value.
92004func (s *Purchase) SetHourlyPrice(v string) *Purchase {
92005	s.HourlyPrice = &v
92006	return s
92007}
92008
92009// SetInstanceFamily sets the InstanceFamily field's value.
92010func (s *Purchase) SetInstanceFamily(v string) *Purchase {
92011	s.InstanceFamily = &v
92012	return s
92013}
92014
92015// SetPaymentOption sets the PaymentOption field's value.
92016func (s *Purchase) SetPaymentOption(v string) *Purchase {
92017	s.PaymentOption = &v
92018	return s
92019}
92020
92021// SetUpfrontPrice sets the UpfrontPrice field's value.
92022func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
92023	s.UpfrontPrice = &v
92024	return s
92025}
92026
92027type PurchaseHostReservationInput struct {
92028	_ struct{} `type:"structure"`
92029
92030	// Unique, case-sensitive identifier that you provide to ensure the idempotency
92031	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
92032	ClientToken *string `type:"string"`
92033
92034	// The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
92035	// amounts are specified. At this time, the only supported currency is USD.
92036	CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
92037
92038	// The IDs of the Dedicated Hosts with which the reservation will be associated.
92039	//
92040	// HostIdSet is a required field
92041	HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
92042
92043	// The specified limit is checked against the total upfront cost of the reservation
92044	// (calculated as the offering's upfront cost multiplied by the host count).
92045	// If the total upfront cost is greater than the specified price limit, the
92046	// request fails. This is used to ensure that the purchase does not exceed the
92047	// expected upfront cost of the purchase. At this time, the only supported currency
92048	// is USD. For example, to indicate a limit price of USD 100, specify 100.00.
92049	LimitPrice *string `type:"string"`
92050
92051	// The ID of the offering.
92052	//
92053	// OfferingId is a required field
92054	OfferingId *string `type:"string" required:"true"`
92055}
92056
92057// String returns the string representation
92058func (s PurchaseHostReservationInput) String() string {
92059	return awsutil.Prettify(s)
92060}
92061
92062// GoString returns the string representation
92063func (s PurchaseHostReservationInput) GoString() string {
92064	return s.String()
92065}
92066
92067// Validate inspects the fields of the type to determine if they are valid.
92068func (s *PurchaseHostReservationInput) Validate() error {
92069	invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
92070	if s.HostIdSet == nil {
92071		invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
92072	}
92073	if s.OfferingId == nil {
92074		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
92075	}
92076
92077	if invalidParams.Len() > 0 {
92078		return invalidParams
92079	}
92080	return nil
92081}
92082
92083// SetClientToken sets the ClientToken field's value.
92084func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
92085	s.ClientToken = &v
92086	return s
92087}
92088
92089// SetCurrencyCode sets the CurrencyCode field's value.
92090func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
92091	s.CurrencyCode = &v
92092	return s
92093}
92094
92095// SetHostIdSet sets the HostIdSet field's value.
92096func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
92097	s.HostIdSet = v
92098	return s
92099}
92100
92101// SetLimitPrice sets the LimitPrice field's value.
92102func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
92103	s.LimitPrice = &v
92104	return s
92105}
92106
92107// SetOfferingId sets the OfferingId field's value.
92108func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
92109	s.OfferingId = &v
92110	return s
92111}
92112
92113type PurchaseHostReservationOutput struct {
92114	_ struct{} `type:"structure"`
92115
92116	// Unique, case-sensitive identifier that you provide to ensure the idempotency
92117	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
92118	ClientToken *string `locationName:"clientToken" type:"string"`
92119
92120	// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
92121	// are specified. At this time, the only supported currency is USD.
92122	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
92123
92124	// Describes the details of the purchase.
92125	Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
92126
92127	// The total hourly price of the reservation calculated per hour.
92128	TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
92129
92130	// The total amount charged to your account when you purchase the reservation.
92131	TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
92132}
92133
92134// String returns the string representation
92135func (s PurchaseHostReservationOutput) String() string {
92136	return awsutil.Prettify(s)
92137}
92138
92139// GoString returns the string representation
92140func (s PurchaseHostReservationOutput) GoString() string {
92141	return s.String()
92142}
92143
92144// SetClientToken sets the ClientToken field's value.
92145func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
92146	s.ClientToken = &v
92147	return s
92148}
92149
92150// SetCurrencyCode sets the CurrencyCode field's value.
92151func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
92152	s.CurrencyCode = &v
92153	return s
92154}
92155
92156// SetPurchase sets the Purchase field's value.
92157func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
92158	s.Purchase = v
92159	return s
92160}
92161
92162// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
92163func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
92164	s.TotalHourlyPrice = &v
92165	return s
92166}
92167
92168// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
92169func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
92170	s.TotalUpfrontPrice = &v
92171	return s
92172}
92173
92174// Describes a request to purchase Scheduled Instances.
92175type PurchaseRequest struct {
92176	_ struct{} `type:"structure"`
92177
92178	// The number of instances.
92179	//
92180	// InstanceCount is a required field
92181	InstanceCount *int64 `type:"integer" required:"true"`
92182
92183	// The purchase token.
92184	//
92185	// PurchaseToken is a required field
92186	PurchaseToken *string `type:"string" required:"true"`
92187}
92188
92189// String returns the string representation
92190func (s PurchaseRequest) String() string {
92191	return awsutil.Prettify(s)
92192}
92193
92194// GoString returns the string representation
92195func (s PurchaseRequest) GoString() string {
92196	return s.String()
92197}
92198
92199// Validate inspects the fields of the type to determine if they are valid.
92200func (s *PurchaseRequest) Validate() error {
92201	invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
92202	if s.InstanceCount == nil {
92203		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
92204	}
92205	if s.PurchaseToken == nil {
92206		invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
92207	}
92208
92209	if invalidParams.Len() > 0 {
92210		return invalidParams
92211	}
92212	return nil
92213}
92214
92215// SetInstanceCount sets the InstanceCount field's value.
92216func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
92217	s.InstanceCount = &v
92218	return s
92219}
92220
92221// SetPurchaseToken sets the PurchaseToken field's value.
92222func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
92223	s.PurchaseToken = &v
92224	return s
92225}
92226
92227// Contains the parameters for PurchaseReservedInstancesOffering.
92228type PurchaseReservedInstancesOfferingInput struct {
92229	_ struct{} `type:"structure"`
92230
92231	// Checks whether you have the required permissions for the action, without
92232	// actually making the request, and provides an error response. If you have
92233	// the required permissions, the error response is DryRunOperation. Otherwise,
92234	// it is UnauthorizedOperation.
92235	DryRun *bool `locationName:"dryRun" type:"boolean"`
92236
92237	// The number of Reserved Instances to purchase.
92238	//
92239	// InstanceCount is a required field
92240	InstanceCount *int64 `type:"integer" required:"true"`
92241
92242	// Specified for Reserved Instance Marketplace offerings to limit the total
92243	// order and ensure that the Reserved Instances are not purchased at unexpected
92244	// prices.
92245	LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
92246
92247	// The time at which to purchase the Reserved Instance, in UTC format (for example,
92248	// YYYY-MM-DDTHH:MM:SSZ).
92249	PurchaseTime *time.Time `type:"timestamp"`
92250
92251	// The ID of the Reserved Instance offering to purchase.
92252	//
92253	// ReservedInstancesOfferingId is a required field
92254	ReservedInstancesOfferingId *string `type:"string" required:"true"`
92255}
92256
92257// String returns the string representation
92258func (s PurchaseReservedInstancesOfferingInput) String() string {
92259	return awsutil.Prettify(s)
92260}
92261
92262// GoString returns the string representation
92263func (s PurchaseReservedInstancesOfferingInput) GoString() string {
92264	return s.String()
92265}
92266
92267// Validate inspects the fields of the type to determine if they are valid.
92268func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
92269	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
92270	if s.InstanceCount == nil {
92271		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
92272	}
92273	if s.ReservedInstancesOfferingId == nil {
92274		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
92275	}
92276
92277	if invalidParams.Len() > 0 {
92278		return invalidParams
92279	}
92280	return nil
92281}
92282
92283// SetDryRun sets the DryRun field's value.
92284func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
92285	s.DryRun = &v
92286	return s
92287}
92288
92289// SetInstanceCount sets the InstanceCount field's value.
92290func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
92291	s.InstanceCount = &v
92292	return s
92293}
92294
92295// SetLimitPrice sets the LimitPrice field's value.
92296func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
92297	s.LimitPrice = v
92298	return s
92299}
92300
92301// SetPurchaseTime sets the PurchaseTime field's value.
92302func (s *PurchaseReservedInstancesOfferingInput) SetPurchaseTime(v time.Time) *PurchaseReservedInstancesOfferingInput {
92303	s.PurchaseTime = &v
92304	return s
92305}
92306
92307// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
92308func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
92309	s.ReservedInstancesOfferingId = &v
92310	return s
92311}
92312
92313// Contains the output of PurchaseReservedInstancesOffering.
92314type PurchaseReservedInstancesOfferingOutput struct {
92315	_ struct{} `type:"structure"`
92316
92317	// The IDs of the purchased Reserved Instances.
92318	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
92319}
92320
92321// String returns the string representation
92322func (s PurchaseReservedInstancesOfferingOutput) String() string {
92323	return awsutil.Prettify(s)
92324}
92325
92326// GoString returns the string representation
92327func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
92328	return s.String()
92329}
92330
92331// SetReservedInstancesId sets the ReservedInstancesId field's value.
92332func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
92333	s.ReservedInstancesId = &v
92334	return s
92335}
92336
92337// Contains the parameters for PurchaseScheduledInstances.
92338type PurchaseScheduledInstancesInput struct {
92339	_ struct{} `type:"structure"`
92340
92341	// Unique, case-sensitive identifier that ensures the idempotency of the request.
92342	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
92343	ClientToken *string `type:"string" idempotencyToken:"true"`
92344
92345	// Checks whether you have the required permissions for the action, without
92346	// actually making the request, and provides an error response. If you have
92347	// the required permissions, the error response is DryRunOperation. Otherwise,
92348	// it is UnauthorizedOperation.
92349	DryRun *bool `type:"boolean"`
92350
92351	// The purchase requests.
92352	//
92353	// PurchaseRequests is a required field
92354	PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
92355}
92356
92357// String returns the string representation
92358func (s PurchaseScheduledInstancesInput) String() string {
92359	return awsutil.Prettify(s)
92360}
92361
92362// GoString returns the string representation
92363func (s PurchaseScheduledInstancesInput) GoString() string {
92364	return s.String()
92365}
92366
92367// Validate inspects the fields of the type to determine if they are valid.
92368func (s *PurchaseScheduledInstancesInput) Validate() error {
92369	invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
92370	if s.PurchaseRequests == nil {
92371		invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
92372	}
92373	if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
92374		invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
92375	}
92376	if s.PurchaseRequests != nil {
92377		for i, v := range s.PurchaseRequests {
92378			if v == nil {
92379				continue
92380			}
92381			if err := v.Validate(); err != nil {
92382				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
92383			}
92384		}
92385	}
92386
92387	if invalidParams.Len() > 0 {
92388		return invalidParams
92389	}
92390	return nil
92391}
92392
92393// SetClientToken sets the ClientToken field's value.
92394func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
92395	s.ClientToken = &v
92396	return s
92397}
92398
92399// SetDryRun sets the DryRun field's value.
92400func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
92401	s.DryRun = &v
92402	return s
92403}
92404
92405// SetPurchaseRequests sets the PurchaseRequests field's value.
92406func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
92407	s.PurchaseRequests = v
92408	return s
92409}
92410
92411// Contains the output of PurchaseScheduledInstances.
92412type PurchaseScheduledInstancesOutput struct {
92413	_ struct{} `type:"structure"`
92414
92415	// Information about the Scheduled Instances.
92416	ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
92417}
92418
92419// String returns the string representation
92420func (s PurchaseScheduledInstancesOutput) String() string {
92421	return awsutil.Prettify(s)
92422}
92423
92424// GoString returns the string representation
92425func (s PurchaseScheduledInstancesOutput) GoString() string {
92426	return s.String()
92427}
92428
92429// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
92430func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
92431	s.ScheduledInstanceSet = v
92432	return s
92433}
92434
92435type RebootInstancesInput struct {
92436	_ struct{} `type:"structure"`
92437
92438	// Checks whether you have the required permissions for the action, without
92439	// actually making the request, and provides an error response. If you have
92440	// the required permissions, the error response is DryRunOperation. Otherwise,
92441	// it is UnauthorizedOperation.
92442	DryRun *bool `locationName:"dryRun" type:"boolean"`
92443
92444	// The instance IDs.
92445	//
92446	// InstanceIds is a required field
92447	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
92448}
92449
92450// String returns the string representation
92451func (s RebootInstancesInput) String() string {
92452	return awsutil.Prettify(s)
92453}
92454
92455// GoString returns the string representation
92456func (s RebootInstancesInput) GoString() string {
92457	return s.String()
92458}
92459
92460// Validate inspects the fields of the type to determine if they are valid.
92461func (s *RebootInstancesInput) Validate() error {
92462	invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
92463	if s.InstanceIds == nil {
92464		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
92465	}
92466
92467	if invalidParams.Len() > 0 {
92468		return invalidParams
92469	}
92470	return nil
92471}
92472
92473// SetDryRun sets the DryRun field's value.
92474func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
92475	s.DryRun = &v
92476	return s
92477}
92478
92479// SetInstanceIds sets the InstanceIds field's value.
92480func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
92481	s.InstanceIds = v
92482	return s
92483}
92484
92485type RebootInstancesOutput struct {
92486	_ struct{} `type:"structure"`
92487}
92488
92489// String returns the string representation
92490func (s RebootInstancesOutput) String() string {
92491	return awsutil.Prettify(s)
92492}
92493
92494// GoString returns the string representation
92495func (s RebootInstancesOutput) GoString() string {
92496	return s.String()
92497}
92498
92499// Describes a recurring charge.
92500type RecurringCharge struct {
92501	_ struct{} `type:"structure"`
92502
92503	// The amount of the recurring charge.
92504	Amount *float64 `locationName:"amount" type:"double"`
92505
92506	// The frequency of the recurring charge.
92507	Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
92508}
92509
92510// String returns the string representation
92511func (s RecurringCharge) String() string {
92512	return awsutil.Prettify(s)
92513}
92514
92515// GoString returns the string representation
92516func (s RecurringCharge) GoString() string {
92517	return s.String()
92518}
92519
92520// SetAmount sets the Amount field's value.
92521func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
92522	s.Amount = &v
92523	return s
92524}
92525
92526// SetFrequency sets the Frequency field's value.
92527func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
92528	s.Frequency = &v
92529	return s
92530}
92531
92532// Describes a Region.
92533type Region struct {
92534	_ struct{} `type:"structure"`
92535
92536	// The Region service endpoint.
92537	Endpoint *string `locationName:"regionEndpoint" type:"string"`
92538
92539	// The Region opt-in status. The possible values are opt-in-not-required, opted-in,
92540	// and not-opted-in.
92541	OptInStatus *string `locationName:"optInStatus" type:"string"`
92542
92543	// The name of the Region.
92544	RegionName *string `locationName:"regionName" type:"string"`
92545}
92546
92547// String returns the string representation
92548func (s Region) String() string {
92549	return awsutil.Prettify(s)
92550}
92551
92552// GoString returns the string representation
92553func (s Region) GoString() string {
92554	return s.String()
92555}
92556
92557// SetEndpoint sets the Endpoint field's value.
92558func (s *Region) SetEndpoint(v string) *Region {
92559	s.Endpoint = &v
92560	return s
92561}
92562
92563// SetOptInStatus sets the OptInStatus field's value.
92564func (s *Region) SetOptInStatus(v string) *Region {
92565	s.OptInStatus = &v
92566	return s
92567}
92568
92569// SetRegionName sets the RegionName field's value.
92570func (s *Region) SetRegionName(v string) *Region {
92571	s.RegionName = &v
92572	return s
92573}
92574
92575// Contains the parameters for RegisterImage.
92576type RegisterImageInput struct {
92577	_ struct{} `type:"structure"`
92578
92579	// The architecture of the AMI.
92580	//
92581	// Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
92582	// the architecture specified in the manifest file.
92583	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
92584
92585	// The billing product codes. Your account must be authorized to specify billing
92586	// product codes. Otherwise, you can use the AWS Marketplace to bill for the
92587	// use of an AMI.
92588	BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
92589
92590	// The block device mapping entries.
92591	BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
92592
92593	// A description for your AMI.
92594	Description *string `locationName:"description" type:"string"`
92595
92596	// Checks whether you have the required permissions for the action, without
92597	// actually making the request, and provides an error response. If you have
92598	// the required permissions, the error response is DryRunOperation. Otherwise,
92599	// it is UnauthorizedOperation.
92600	DryRun *bool `locationName:"dryRun" type:"boolean"`
92601
92602	// Set to true to enable enhanced networking with ENA for the AMI and any instances
92603	// that you launch from the AMI.
92604	//
92605	// This option is supported only for HVM AMIs. Specifying this option with a
92606	// PV AMI can make instances launched from the AMI unreachable.
92607	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
92608
92609	// The full path to your AMI manifest in Amazon S3 storage. The specified bucket
92610	// must have the aws-exec-read canned access control list (ACL) to ensure that
92611	// 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)
92612	// in the Amazon S3 Service Developer Guide.
92613	ImageLocation *string `type:"string"`
92614
92615	// The ID of the kernel.
92616	KernelId *string `locationName:"kernelId" type:"string"`
92617
92618	// A name for your AMI.
92619	//
92620	// Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
92621	// ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
92622	// at-signs (@), or underscores(_)
92623	//
92624	// Name is a required field
92625	Name *string `locationName:"name" type:"string" required:"true"`
92626
92627	// The ID of the RAM disk.
92628	RamdiskId *string `locationName:"ramdiskId" type:"string"`
92629
92630	// The device name of the root device volume (for example, /dev/sda1).
92631	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
92632
92633	// Set to simple to enable enhanced networking with the Intel 82599 Virtual
92634	// Function interface for the AMI and any instances that you launch from the
92635	// AMI.
92636	//
92637	// There is no way to disable sriovNetSupport at this time.
92638	//
92639	// This option is supported only for HVM AMIs. Specifying this option with a
92640	// PV AMI can make instances launched from the AMI unreachable.
92641	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
92642
92643	// The type of virtualization (hvm | paravirtual).
92644	//
92645	// Default: paravirtual
92646	VirtualizationType *string `locationName:"virtualizationType" type:"string"`
92647}
92648
92649// String returns the string representation
92650func (s RegisterImageInput) String() string {
92651	return awsutil.Prettify(s)
92652}
92653
92654// GoString returns the string representation
92655func (s RegisterImageInput) GoString() string {
92656	return s.String()
92657}
92658
92659// Validate inspects the fields of the type to determine if they are valid.
92660func (s *RegisterImageInput) Validate() error {
92661	invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
92662	if s.Name == nil {
92663		invalidParams.Add(request.NewErrParamRequired("Name"))
92664	}
92665
92666	if invalidParams.Len() > 0 {
92667		return invalidParams
92668	}
92669	return nil
92670}
92671
92672// SetArchitecture sets the Architecture field's value.
92673func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
92674	s.Architecture = &v
92675	return s
92676}
92677
92678// SetBillingProducts sets the BillingProducts field's value.
92679func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
92680	s.BillingProducts = v
92681	return s
92682}
92683
92684// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
92685func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
92686	s.BlockDeviceMappings = v
92687	return s
92688}
92689
92690// SetDescription sets the Description field's value.
92691func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
92692	s.Description = &v
92693	return s
92694}
92695
92696// SetDryRun sets the DryRun field's value.
92697func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
92698	s.DryRun = &v
92699	return s
92700}
92701
92702// SetEnaSupport sets the EnaSupport field's value.
92703func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
92704	s.EnaSupport = &v
92705	return s
92706}
92707
92708// SetImageLocation sets the ImageLocation field's value.
92709func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
92710	s.ImageLocation = &v
92711	return s
92712}
92713
92714// SetKernelId sets the KernelId field's value.
92715func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
92716	s.KernelId = &v
92717	return s
92718}
92719
92720// SetName sets the Name field's value.
92721func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
92722	s.Name = &v
92723	return s
92724}
92725
92726// SetRamdiskId sets the RamdiskId field's value.
92727func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
92728	s.RamdiskId = &v
92729	return s
92730}
92731
92732// SetRootDeviceName sets the RootDeviceName field's value.
92733func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
92734	s.RootDeviceName = &v
92735	return s
92736}
92737
92738// SetSriovNetSupport sets the SriovNetSupport field's value.
92739func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
92740	s.SriovNetSupport = &v
92741	return s
92742}
92743
92744// SetVirtualizationType sets the VirtualizationType field's value.
92745func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
92746	s.VirtualizationType = &v
92747	return s
92748}
92749
92750// Contains the output of RegisterImage.
92751type RegisterImageOutput struct {
92752	_ struct{} `type:"structure"`
92753
92754	// The ID of the newly registered AMI.
92755	ImageId *string `locationName:"imageId" type:"string"`
92756}
92757
92758// String returns the string representation
92759func (s RegisterImageOutput) String() string {
92760	return awsutil.Prettify(s)
92761}
92762
92763// GoString returns the string representation
92764func (s RegisterImageOutput) GoString() string {
92765	return s.String()
92766}
92767
92768// SetImageId sets the ImageId field's value.
92769func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
92770	s.ImageId = &v
92771	return s
92772}
92773
92774type RegisterTransitGatewayMulticastGroupMembersInput struct {
92775	_ struct{} `type:"structure"`
92776
92777	// Checks whether you have the required permissions for the action, without
92778	// actually making the request, and provides an error response. If you have
92779	// the required permissions, the error response is DryRunOperation. Otherwise,
92780	// it is UnauthorizedOperation.
92781	DryRun *bool `type:"boolean"`
92782
92783	// The IP address assigned to the transit gateway multicast group.
92784	GroupIpAddress *string `type:"string"`
92785
92786	// The group members' network interface IDs to register with the transit gateway
92787	// multicast group.
92788	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
92789
92790	// The ID of the transit gateway multicast domain.
92791	TransitGatewayMulticastDomainId *string `type:"string"`
92792}
92793
92794// String returns the string representation
92795func (s RegisterTransitGatewayMulticastGroupMembersInput) String() string {
92796	return awsutil.Prettify(s)
92797}
92798
92799// GoString returns the string representation
92800func (s RegisterTransitGatewayMulticastGroupMembersInput) GoString() string {
92801	return s.String()
92802}
92803
92804// SetDryRun sets the DryRun field's value.
92805func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupMembersInput {
92806	s.DryRun = &v
92807	return s
92808}
92809
92810// SetGroupIpAddress sets the GroupIpAddress field's value.
92811func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
92812	s.GroupIpAddress = &v
92813	return s
92814}
92815
92816// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
92817func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupMembersInput {
92818	s.NetworkInterfaceIds = v
92819	return s
92820}
92821
92822// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
92823func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
92824	s.TransitGatewayMulticastDomainId = &v
92825	return s
92826}
92827
92828type RegisterTransitGatewayMulticastGroupMembersOutput struct {
92829	_ struct{} `type:"structure"`
92830
92831	// Information about the registered transit gateway multicast group members.
92832	RegisteredMulticastGroupMembers *TransitGatewayMulticastRegisteredGroupMembers `locationName:"registeredMulticastGroupMembers" type:"structure"`
92833}
92834
92835// String returns the string representation
92836func (s RegisterTransitGatewayMulticastGroupMembersOutput) String() string {
92837	return awsutil.Prettify(s)
92838}
92839
92840// GoString returns the string representation
92841func (s RegisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
92842	return s.String()
92843}
92844
92845// SetRegisteredMulticastGroupMembers sets the RegisteredMulticastGroupMembers field's value.
92846func (s *RegisterTransitGatewayMulticastGroupMembersOutput) SetRegisteredMulticastGroupMembers(v *TransitGatewayMulticastRegisteredGroupMembers) *RegisterTransitGatewayMulticastGroupMembersOutput {
92847	s.RegisteredMulticastGroupMembers = v
92848	return s
92849}
92850
92851type RegisterTransitGatewayMulticastGroupSourcesInput struct {
92852	_ struct{} `type:"structure"`
92853
92854	// Checks whether you have the required permissions for the action, without
92855	// actually making the request, and provides an error response. If you have
92856	// the required permissions, the error response is DryRunOperation. Otherwise,
92857	// it is UnauthorizedOperation.
92858	DryRun *bool `type:"boolean"`
92859
92860	// The IP address assigned to the transit gateway multicast group.
92861	GroupIpAddress *string `type:"string"`
92862
92863	// The group sources' network interface IDs to register with the transit gateway
92864	// multicast group.
92865	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
92866
92867	// The ID of the transit gateway multicast domain.
92868	TransitGatewayMulticastDomainId *string `type:"string"`
92869}
92870
92871// String returns the string representation
92872func (s RegisterTransitGatewayMulticastGroupSourcesInput) String() string {
92873	return awsutil.Prettify(s)
92874}
92875
92876// GoString returns the string representation
92877func (s RegisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
92878	return s.String()
92879}
92880
92881// SetDryRun sets the DryRun field's value.
92882func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupSourcesInput {
92883	s.DryRun = &v
92884	return s
92885}
92886
92887// SetGroupIpAddress sets the GroupIpAddress field's value.
92888func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
92889	s.GroupIpAddress = &v
92890	return s
92891}
92892
92893// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
92894func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupSourcesInput {
92895	s.NetworkInterfaceIds = v
92896	return s
92897}
92898
92899// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
92900func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
92901	s.TransitGatewayMulticastDomainId = &v
92902	return s
92903}
92904
92905type RegisterTransitGatewayMulticastGroupSourcesOutput struct {
92906	_ struct{} `type:"structure"`
92907
92908	// Information about the transit gateway multicast group sources.
92909	RegisteredMulticastGroupSources *TransitGatewayMulticastRegisteredGroupSources `locationName:"registeredMulticastGroupSources" type:"structure"`
92910}
92911
92912// String returns the string representation
92913func (s RegisterTransitGatewayMulticastGroupSourcesOutput) String() string {
92914	return awsutil.Prettify(s)
92915}
92916
92917// GoString returns the string representation
92918func (s RegisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
92919	return s.String()
92920}
92921
92922// SetRegisteredMulticastGroupSources sets the RegisteredMulticastGroupSources field's value.
92923func (s *RegisterTransitGatewayMulticastGroupSourcesOutput) SetRegisteredMulticastGroupSources(v *TransitGatewayMulticastRegisteredGroupSources) *RegisterTransitGatewayMulticastGroupSourcesOutput {
92924	s.RegisteredMulticastGroupSources = v
92925	return s
92926}
92927
92928type RejectTransitGatewayPeeringAttachmentInput struct {
92929	_ struct{} `type:"structure"`
92930
92931	// Checks whether you have the required permissions for the action, without
92932	// actually making the request, and provides an error response. If you have
92933	// the required permissions, the error response is DryRunOperation. Otherwise,
92934	// it is UnauthorizedOperation.
92935	DryRun *bool `type:"boolean"`
92936
92937	// The ID of the transit gateway peering attachment.
92938	//
92939	// TransitGatewayAttachmentId is a required field
92940	TransitGatewayAttachmentId *string `type:"string" required:"true"`
92941}
92942
92943// String returns the string representation
92944func (s RejectTransitGatewayPeeringAttachmentInput) String() string {
92945	return awsutil.Prettify(s)
92946}
92947
92948// GoString returns the string representation
92949func (s RejectTransitGatewayPeeringAttachmentInput) GoString() string {
92950	return s.String()
92951}
92952
92953// Validate inspects the fields of the type to determine if they are valid.
92954func (s *RejectTransitGatewayPeeringAttachmentInput) Validate() error {
92955	invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayPeeringAttachmentInput"}
92956	if s.TransitGatewayAttachmentId == nil {
92957		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
92958	}
92959
92960	if invalidParams.Len() > 0 {
92961		return invalidParams
92962	}
92963	return nil
92964}
92965
92966// SetDryRun sets the DryRun field's value.
92967func (s *RejectTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayPeeringAttachmentInput {
92968	s.DryRun = &v
92969	return s
92970}
92971
92972// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
92973func (s *RejectTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayPeeringAttachmentInput {
92974	s.TransitGatewayAttachmentId = &v
92975	return s
92976}
92977
92978type RejectTransitGatewayPeeringAttachmentOutput struct {
92979	_ struct{} `type:"structure"`
92980
92981	// The transit gateway peering attachment.
92982	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
92983}
92984
92985// String returns the string representation
92986func (s RejectTransitGatewayPeeringAttachmentOutput) String() string {
92987	return awsutil.Prettify(s)
92988}
92989
92990// GoString returns the string representation
92991func (s RejectTransitGatewayPeeringAttachmentOutput) GoString() string {
92992	return s.String()
92993}
92994
92995// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
92996func (s *RejectTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *RejectTransitGatewayPeeringAttachmentOutput {
92997	s.TransitGatewayPeeringAttachment = v
92998	return s
92999}
93000
93001type RejectTransitGatewayVpcAttachmentInput struct {
93002	_ struct{} `type:"structure"`
93003
93004	// Checks whether you have the required permissions for the action, without
93005	// actually making the request, and provides an error response. If you have
93006	// the required permissions, the error response is DryRunOperation. Otherwise,
93007	// it is UnauthorizedOperation.
93008	DryRun *bool `type:"boolean"`
93009
93010	// The ID of the attachment.
93011	//
93012	// TransitGatewayAttachmentId is a required field
93013	TransitGatewayAttachmentId *string `type:"string" required:"true"`
93014}
93015
93016// String returns the string representation
93017func (s RejectTransitGatewayVpcAttachmentInput) String() string {
93018	return awsutil.Prettify(s)
93019}
93020
93021// GoString returns the string representation
93022func (s RejectTransitGatewayVpcAttachmentInput) GoString() string {
93023	return s.String()
93024}
93025
93026// Validate inspects the fields of the type to determine if they are valid.
93027func (s *RejectTransitGatewayVpcAttachmentInput) Validate() error {
93028	invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayVpcAttachmentInput"}
93029	if s.TransitGatewayAttachmentId == nil {
93030		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
93031	}
93032
93033	if invalidParams.Len() > 0 {
93034		return invalidParams
93035	}
93036	return nil
93037}
93038
93039// SetDryRun sets the DryRun field's value.
93040func (s *RejectTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayVpcAttachmentInput {
93041	s.DryRun = &v
93042	return s
93043}
93044
93045// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
93046func (s *RejectTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayVpcAttachmentInput {
93047	s.TransitGatewayAttachmentId = &v
93048	return s
93049}
93050
93051type RejectTransitGatewayVpcAttachmentOutput struct {
93052	_ struct{} `type:"structure"`
93053
93054	// Information about the attachment.
93055	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
93056}
93057
93058// String returns the string representation
93059func (s RejectTransitGatewayVpcAttachmentOutput) String() string {
93060	return awsutil.Prettify(s)
93061}
93062
93063// GoString returns the string representation
93064func (s RejectTransitGatewayVpcAttachmentOutput) GoString() string {
93065	return s.String()
93066}
93067
93068// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
93069func (s *RejectTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *RejectTransitGatewayVpcAttachmentOutput {
93070	s.TransitGatewayVpcAttachment = v
93071	return s
93072}
93073
93074type RejectVpcEndpointConnectionsInput struct {
93075	_ struct{} `type:"structure"`
93076
93077	// Checks whether you have the required permissions for the action, without
93078	// actually making the request, and provides an error response. If you have
93079	// the required permissions, the error response is DryRunOperation. Otherwise,
93080	// it is UnauthorizedOperation.
93081	DryRun *bool `type:"boolean"`
93082
93083	// The ID of the service.
93084	//
93085	// ServiceId is a required field
93086	ServiceId *string `type:"string" required:"true"`
93087
93088	// The IDs of one or more VPC endpoints.
93089	//
93090	// VpcEndpointIds is a required field
93091	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
93092}
93093
93094// String returns the string representation
93095func (s RejectVpcEndpointConnectionsInput) String() string {
93096	return awsutil.Prettify(s)
93097}
93098
93099// GoString returns the string representation
93100func (s RejectVpcEndpointConnectionsInput) GoString() string {
93101	return s.String()
93102}
93103
93104// Validate inspects the fields of the type to determine if they are valid.
93105func (s *RejectVpcEndpointConnectionsInput) Validate() error {
93106	invalidParams := request.ErrInvalidParams{Context: "RejectVpcEndpointConnectionsInput"}
93107	if s.ServiceId == nil {
93108		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
93109	}
93110	if s.VpcEndpointIds == nil {
93111		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
93112	}
93113
93114	if invalidParams.Len() > 0 {
93115		return invalidParams
93116	}
93117	return nil
93118}
93119
93120// SetDryRun sets the DryRun field's value.
93121func (s *RejectVpcEndpointConnectionsInput) SetDryRun(v bool) *RejectVpcEndpointConnectionsInput {
93122	s.DryRun = &v
93123	return s
93124}
93125
93126// SetServiceId sets the ServiceId field's value.
93127func (s *RejectVpcEndpointConnectionsInput) SetServiceId(v string) *RejectVpcEndpointConnectionsInput {
93128	s.ServiceId = &v
93129	return s
93130}
93131
93132// SetVpcEndpointIds sets the VpcEndpointIds field's value.
93133func (s *RejectVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *RejectVpcEndpointConnectionsInput {
93134	s.VpcEndpointIds = v
93135	return s
93136}
93137
93138type RejectVpcEndpointConnectionsOutput struct {
93139	_ struct{} `type:"structure"`
93140
93141	// Information about the endpoints that were not rejected, if applicable.
93142	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
93143}
93144
93145// String returns the string representation
93146func (s RejectVpcEndpointConnectionsOutput) String() string {
93147	return awsutil.Prettify(s)
93148}
93149
93150// GoString returns the string representation
93151func (s RejectVpcEndpointConnectionsOutput) GoString() string {
93152	return s.String()
93153}
93154
93155// SetUnsuccessful sets the Unsuccessful field's value.
93156func (s *RejectVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *RejectVpcEndpointConnectionsOutput {
93157	s.Unsuccessful = v
93158	return s
93159}
93160
93161type RejectVpcPeeringConnectionInput struct {
93162	_ struct{} `type:"structure"`
93163
93164	// Checks whether you have the required permissions for the action, without
93165	// actually making the request, and provides an error response. If you have
93166	// the required permissions, the error response is DryRunOperation. Otherwise,
93167	// it is UnauthorizedOperation.
93168	DryRun *bool `locationName:"dryRun" type:"boolean"`
93169
93170	// The ID of the VPC peering connection.
93171	//
93172	// VpcPeeringConnectionId is a required field
93173	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
93174}
93175
93176// String returns the string representation
93177func (s RejectVpcPeeringConnectionInput) String() string {
93178	return awsutil.Prettify(s)
93179}
93180
93181// GoString returns the string representation
93182func (s RejectVpcPeeringConnectionInput) GoString() string {
93183	return s.String()
93184}
93185
93186// Validate inspects the fields of the type to determine if they are valid.
93187func (s *RejectVpcPeeringConnectionInput) Validate() error {
93188	invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
93189	if s.VpcPeeringConnectionId == nil {
93190		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
93191	}
93192
93193	if invalidParams.Len() > 0 {
93194		return invalidParams
93195	}
93196	return nil
93197}
93198
93199// SetDryRun sets the DryRun field's value.
93200func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
93201	s.DryRun = &v
93202	return s
93203}
93204
93205// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
93206func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
93207	s.VpcPeeringConnectionId = &v
93208	return s
93209}
93210
93211type RejectVpcPeeringConnectionOutput struct {
93212	_ struct{} `type:"structure"`
93213
93214	// Returns true if the request succeeds; otherwise, it returns an error.
93215	Return *bool `locationName:"return" type:"boolean"`
93216}
93217
93218// String returns the string representation
93219func (s RejectVpcPeeringConnectionOutput) String() string {
93220	return awsutil.Prettify(s)
93221}
93222
93223// GoString returns the string representation
93224func (s RejectVpcPeeringConnectionOutput) GoString() string {
93225	return s.String()
93226}
93227
93228// SetReturn sets the Return field's value.
93229func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
93230	s.Return = &v
93231	return s
93232}
93233
93234type ReleaseAddressInput struct {
93235	_ struct{} `type:"structure"`
93236
93237	// [EC2-VPC] The allocation ID. Required for EC2-VPC.
93238	AllocationId *string `type:"string"`
93239
93240	// Checks whether you have the required permissions for the action, without
93241	// actually making the request, and provides an error response. If you have
93242	// the required permissions, the error response is DryRunOperation. Otherwise,
93243	// it is UnauthorizedOperation.
93244	DryRun *bool `locationName:"dryRun" type:"boolean"`
93245
93246	// The location that the IP address is released from.
93247	//
93248	// If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound
93249	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
93250	//
93251	// You cannot use a network border group with EC2 Classic. If you attempt this
93252	// operation on EC2 classic, you will receive an InvalidParameterCombination
93253	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
93254	NetworkBorderGroup *string `type:"string"`
93255
93256	// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
93257	PublicIp *string `type:"string"`
93258}
93259
93260// String returns the string representation
93261func (s ReleaseAddressInput) String() string {
93262	return awsutil.Prettify(s)
93263}
93264
93265// GoString returns the string representation
93266func (s ReleaseAddressInput) GoString() string {
93267	return s.String()
93268}
93269
93270// SetAllocationId sets the AllocationId field's value.
93271func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
93272	s.AllocationId = &v
93273	return s
93274}
93275
93276// SetDryRun sets the DryRun field's value.
93277func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
93278	s.DryRun = &v
93279	return s
93280}
93281
93282// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
93283func (s *ReleaseAddressInput) SetNetworkBorderGroup(v string) *ReleaseAddressInput {
93284	s.NetworkBorderGroup = &v
93285	return s
93286}
93287
93288// SetPublicIp sets the PublicIp field's value.
93289func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
93290	s.PublicIp = &v
93291	return s
93292}
93293
93294type ReleaseAddressOutput struct {
93295	_ struct{} `type:"structure"`
93296}
93297
93298// String returns the string representation
93299func (s ReleaseAddressOutput) String() string {
93300	return awsutil.Prettify(s)
93301}
93302
93303// GoString returns the string representation
93304func (s ReleaseAddressOutput) GoString() string {
93305	return s.String()
93306}
93307
93308type ReleaseHostsInput struct {
93309	_ struct{} `type:"structure"`
93310
93311	// The IDs of the Dedicated Hosts to release.
93312	//
93313	// HostIds is a required field
93314	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
93315}
93316
93317// String returns the string representation
93318func (s ReleaseHostsInput) String() string {
93319	return awsutil.Prettify(s)
93320}
93321
93322// GoString returns the string representation
93323func (s ReleaseHostsInput) GoString() string {
93324	return s.String()
93325}
93326
93327// Validate inspects the fields of the type to determine if they are valid.
93328func (s *ReleaseHostsInput) Validate() error {
93329	invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
93330	if s.HostIds == nil {
93331		invalidParams.Add(request.NewErrParamRequired("HostIds"))
93332	}
93333
93334	if invalidParams.Len() > 0 {
93335		return invalidParams
93336	}
93337	return nil
93338}
93339
93340// SetHostIds sets the HostIds field's value.
93341func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
93342	s.HostIds = v
93343	return s
93344}
93345
93346type ReleaseHostsOutput struct {
93347	_ struct{} `type:"structure"`
93348
93349	// The IDs of the Dedicated Hosts that were successfully released.
93350	Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
93351
93352	// The IDs of the Dedicated Hosts that could not be released, including an error
93353	// message.
93354	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
93355}
93356
93357// String returns the string representation
93358func (s ReleaseHostsOutput) String() string {
93359	return awsutil.Prettify(s)
93360}
93361
93362// GoString returns the string representation
93363func (s ReleaseHostsOutput) GoString() string {
93364	return s.String()
93365}
93366
93367// SetSuccessful sets the Successful field's value.
93368func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
93369	s.Successful = v
93370	return s
93371}
93372
93373// SetUnsuccessful sets the Unsuccessful field's value.
93374func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
93375	s.Unsuccessful = v
93376	return s
93377}
93378
93379type ReplaceIamInstanceProfileAssociationInput struct {
93380	_ struct{} `type:"structure"`
93381
93382	// The ID of the existing IAM instance profile association.
93383	//
93384	// AssociationId is a required field
93385	AssociationId *string `type:"string" required:"true"`
93386
93387	// The IAM instance profile.
93388	//
93389	// IamInstanceProfile is a required field
93390	IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
93391}
93392
93393// String returns the string representation
93394func (s ReplaceIamInstanceProfileAssociationInput) String() string {
93395	return awsutil.Prettify(s)
93396}
93397
93398// GoString returns the string representation
93399func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
93400	return s.String()
93401}
93402
93403// Validate inspects the fields of the type to determine if they are valid.
93404func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
93405	invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
93406	if s.AssociationId == nil {
93407		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
93408	}
93409	if s.IamInstanceProfile == nil {
93410		invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
93411	}
93412
93413	if invalidParams.Len() > 0 {
93414		return invalidParams
93415	}
93416	return nil
93417}
93418
93419// SetAssociationId sets the AssociationId field's value.
93420func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
93421	s.AssociationId = &v
93422	return s
93423}
93424
93425// SetIamInstanceProfile sets the IamInstanceProfile field's value.
93426func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
93427	s.IamInstanceProfile = v
93428	return s
93429}
93430
93431type ReplaceIamInstanceProfileAssociationOutput struct {
93432	_ struct{} `type:"structure"`
93433
93434	// Information about the IAM instance profile association.
93435	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
93436}
93437
93438// String returns the string representation
93439func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
93440	return awsutil.Prettify(s)
93441}
93442
93443// GoString returns the string representation
93444func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
93445	return s.String()
93446}
93447
93448// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
93449func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
93450	s.IamInstanceProfileAssociation = v
93451	return s
93452}
93453
93454type ReplaceNetworkAclAssociationInput struct {
93455	_ struct{} `type:"structure"`
93456
93457	// The ID of the current association between the original network ACL and the
93458	// subnet.
93459	//
93460	// AssociationId is a required field
93461	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
93462
93463	// Checks whether you have the required permissions for the action, without
93464	// actually making the request, and provides an error response. If you have
93465	// the required permissions, the error response is DryRunOperation. Otherwise,
93466	// it is UnauthorizedOperation.
93467	DryRun *bool `locationName:"dryRun" type:"boolean"`
93468
93469	// The ID of the new network ACL to associate with the subnet.
93470	//
93471	// NetworkAclId is a required field
93472	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
93473}
93474
93475// String returns the string representation
93476func (s ReplaceNetworkAclAssociationInput) String() string {
93477	return awsutil.Prettify(s)
93478}
93479
93480// GoString returns the string representation
93481func (s ReplaceNetworkAclAssociationInput) GoString() string {
93482	return s.String()
93483}
93484
93485// Validate inspects the fields of the type to determine if they are valid.
93486func (s *ReplaceNetworkAclAssociationInput) Validate() error {
93487	invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
93488	if s.AssociationId == nil {
93489		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
93490	}
93491	if s.NetworkAclId == nil {
93492		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
93493	}
93494
93495	if invalidParams.Len() > 0 {
93496		return invalidParams
93497	}
93498	return nil
93499}
93500
93501// SetAssociationId sets the AssociationId field's value.
93502func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
93503	s.AssociationId = &v
93504	return s
93505}
93506
93507// SetDryRun sets the DryRun field's value.
93508func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
93509	s.DryRun = &v
93510	return s
93511}
93512
93513// SetNetworkAclId sets the NetworkAclId field's value.
93514func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
93515	s.NetworkAclId = &v
93516	return s
93517}
93518
93519type ReplaceNetworkAclAssociationOutput struct {
93520	_ struct{} `type:"structure"`
93521
93522	// The ID of the new association.
93523	NewAssociationId *string `locationName:"newAssociationId" type:"string"`
93524}
93525
93526// String returns the string representation
93527func (s ReplaceNetworkAclAssociationOutput) String() string {
93528	return awsutil.Prettify(s)
93529}
93530
93531// GoString returns the string representation
93532func (s ReplaceNetworkAclAssociationOutput) GoString() string {
93533	return s.String()
93534}
93535
93536// SetNewAssociationId sets the NewAssociationId field's value.
93537func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
93538	s.NewAssociationId = &v
93539	return s
93540}
93541
93542type ReplaceNetworkAclEntryInput struct {
93543	_ struct{} `type:"structure"`
93544
93545	// The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
93546	CidrBlock *string `locationName:"cidrBlock" type:"string"`
93547
93548	// Checks whether you have the required permissions for the action, without
93549	// actually making the request, and provides an error response. If you have
93550	// the required permissions, the error response is DryRunOperation. Otherwise,
93551	// it is UnauthorizedOperation.
93552	DryRun *bool `locationName:"dryRun" type:"boolean"`
93553
93554	// Indicates whether to replace the egress rule.
93555	//
93556	// Default: If no value is specified, we replace the ingress rule.
93557	//
93558	// Egress is a required field
93559	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
93560
93561	// ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
93562	// 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
93563	IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
93564
93565	// The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
93566	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
93567
93568	// The ID of the ACL.
93569	//
93570	// NetworkAclId is a required field
93571	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
93572
93573	// TCP or UDP protocols: The range of ports the rule applies to. Required if
93574	// specifying protocol 6 (TCP) or 17 (UDP).
93575	PortRange *PortRange `locationName:"portRange" type:"structure"`
93576
93577	// The protocol number. A value of "-1" means all protocols. If you specify
93578	// "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
93579	// traffic on all ports is allowed, regardless of any ports or ICMP types or
93580	// codes that you specify. If you specify protocol "58" (ICMPv6) and specify
93581	// an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
93582	// of any that you specify. If you specify protocol "58" (ICMPv6) and specify
93583	// an IPv6 CIDR block, you must specify an ICMP type and code.
93584	//
93585	// Protocol is a required field
93586	Protocol *string `locationName:"protocol" type:"string" required:"true"`
93587
93588	// Indicates whether to allow or deny the traffic that matches the rule.
93589	//
93590	// RuleAction is a required field
93591	RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
93592
93593	// The rule number of the entry to replace.
93594	//
93595	// RuleNumber is a required field
93596	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
93597}
93598
93599// String returns the string representation
93600func (s ReplaceNetworkAclEntryInput) String() string {
93601	return awsutil.Prettify(s)
93602}
93603
93604// GoString returns the string representation
93605func (s ReplaceNetworkAclEntryInput) GoString() string {
93606	return s.String()
93607}
93608
93609// Validate inspects the fields of the type to determine if they are valid.
93610func (s *ReplaceNetworkAclEntryInput) Validate() error {
93611	invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
93612	if s.Egress == nil {
93613		invalidParams.Add(request.NewErrParamRequired("Egress"))
93614	}
93615	if s.NetworkAclId == nil {
93616		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
93617	}
93618	if s.Protocol == nil {
93619		invalidParams.Add(request.NewErrParamRequired("Protocol"))
93620	}
93621	if s.RuleAction == nil {
93622		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
93623	}
93624	if s.RuleNumber == nil {
93625		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
93626	}
93627
93628	if invalidParams.Len() > 0 {
93629		return invalidParams
93630	}
93631	return nil
93632}
93633
93634// SetCidrBlock sets the CidrBlock field's value.
93635func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
93636	s.CidrBlock = &v
93637	return s
93638}
93639
93640// SetDryRun sets the DryRun field's value.
93641func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
93642	s.DryRun = &v
93643	return s
93644}
93645
93646// SetEgress sets the Egress field's value.
93647func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
93648	s.Egress = &v
93649	return s
93650}
93651
93652// SetIcmpTypeCode sets the IcmpTypeCode field's value.
93653func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
93654	s.IcmpTypeCode = v
93655	return s
93656}
93657
93658// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
93659func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
93660	s.Ipv6CidrBlock = &v
93661	return s
93662}
93663
93664// SetNetworkAclId sets the NetworkAclId field's value.
93665func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
93666	s.NetworkAclId = &v
93667	return s
93668}
93669
93670// SetPortRange sets the PortRange field's value.
93671func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
93672	s.PortRange = v
93673	return s
93674}
93675
93676// SetProtocol sets the Protocol field's value.
93677func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
93678	s.Protocol = &v
93679	return s
93680}
93681
93682// SetRuleAction sets the RuleAction field's value.
93683func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
93684	s.RuleAction = &v
93685	return s
93686}
93687
93688// SetRuleNumber sets the RuleNumber field's value.
93689func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
93690	s.RuleNumber = &v
93691	return s
93692}
93693
93694type ReplaceNetworkAclEntryOutput struct {
93695	_ struct{} `type:"structure"`
93696}
93697
93698// String returns the string representation
93699func (s ReplaceNetworkAclEntryOutput) String() string {
93700	return awsutil.Prettify(s)
93701}
93702
93703// GoString returns the string representation
93704func (s ReplaceNetworkAclEntryOutput) GoString() string {
93705	return s.String()
93706}
93707
93708type ReplaceRouteInput struct {
93709	_ struct{} `type:"structure"`
93710
93711	// The IPv4 CIDR address block used for the destination match. The value that
93712	// you provide must match the CIDR of an existing route in the table.
93713	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
93714
93715	// The IPv6 CIDR address block used for the destination match. The value that
93716	// you provide must match the CIDR of an existing route in the table.
93717	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
93718
93719	// Checks whether you have the required permissions for the action, without
93720	// actually making the request, and provides an error response. If you have
93721	// the required permissions, the error response is DryRunOperation. Otherwise,
93722	// it is UnauthorizedOperation.
93723	DryRun *bool `locationName:"dryRun" type:"boolean"`
93724
93725	// [IPv6 traffic only] The ID of an egress-only internet gateway.
93726	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
93727
93728	// The ID of an internet gateway or virtual private gateway.
93729	GatewayId *string `locationName:"gatewayId" type:"string"`
93730
93731	// The ID of a NAT instance in your VPC.
93732	InstanceId *string `locationName:"instanceId" type:"string"`
93733
93734	// The ID of the local gateway.
93735	LocalGatewayId *string `type:"string"`
93736
93737	// Specifies whether to reset the local route to its default target (local).
93738	LocalTarget *bool `type:"boolean"`
93739
93740	// [IPv4 traffic only] The ID of a NAT gateway.
93741	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
93742
93743	// The ID of a network interface.
93744	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
93745
93746	// The ID of the route table.
93747	//
93748	// RouteTableId is a required field
93749	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
93750
93751	// The ID of a transit gateway.
93752	TransitGatewayId *string `type:"string"`
93753
93754	// The ID of a VPC peering connection.
93755	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
93756}
93757
93758// String returns the string representation
93759func (s ReplaceRouteInput) String() string {
93760	return awsutil.Prettify(s)
93761}
93762
93763// GoString returns the string representation
93764func (s ReplaceRouteInput) GoString() string {
93765	return s.String()
93766}
93767
93768// Validate inspects the fields of the type to determine if they are valid.
93769func (s *ReplaceRouteInput) Validate() error {
93770	invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
93771	if s.RouteTableId == nil {
93772		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
93773	}
93774
93775	if invalidParams.Len() > 0 {
93776		return invalidParams
93777	}
93778	return nil
93779}
93780
93781// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
93782func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
93783	s.DestinationCidrBlock = &v
93784	return s
93785}
93786
93787// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
93788func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
93789	s.DestinationIpv6CidrBlock = &v
93790	return s
93791}
93792
93793// SetDryRun sets the DryRun field's value.
93794func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
93795	s.DryRun = &v
93796	return s
93797}
93798
93799// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
93800func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
93801	s.EgressOnlyInternetGatewayId = &v
93802	return s
93803}
93804
93805// SetGatewayId sets the GatewayId field's value.
93806func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
93807	s.GatewayId = &v
93808	return s
93809}
93810
93811// SetInstanceId sets the InstanceId field's value.
93812func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
93813	s.InstanceId = &v
93814	return s
93815}
93816
93817// SetLocalGatewayId sets the LocalGatewayId field's value.
93818func (s *ReplaceRouteInput) SetLocalGatewayId(v string) *ReplaceRouteInput {
93819	s.LocalGatewayId = &v
93820	return s
93821}
93822
93823// SetLocalTarget sets the LocalTarget field's value.
93824func (s *ReplaceRouteInput) SetLocalTarget(v bool) *ReplaceRouteInput {
93825	s.LocalTarget = &v
93826	return s
93827}
93828
93829// SetNatGatewayId sets the NatGatewayId field's value.
93830func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
93831	s.NatGatewayId = &v
93832	return s
93833}
93834
93835// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
93836func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
93837	s.NetworkInterfaceId = &v
93838	return s
93839}
93840
93841// SetRouteTableId sets the RouteTableId field's value.
93842func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
93843	s.RouteTableId = &v
93844	return s
93845}
93846
93847// SetTransitGatewayId sets the TransitGatewayId field's value.
93848func (s *ReplaceRouteInput) SetTransitGatewayId(v string) *ReplaceRouteInput {
93849	s.TransitGatewayId = &v
93850	return s
93851}
93852
93853// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
93854func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
93855	s.VpcPeeringConnectionId = &v
93856	return s
93857}
93858
93859type ReplaceRouteOutput struct {
93860	_ struct{} `type:"structure"`
93861}
93862
93863// String returns the string representation
93864func (s ReplaceRouteOutput) String() string {
93865	return awsutil.Prettify(s)
93866}
93867
93868// GoString returns the string representation
93869func (s ReplaceRouteOutput) GoString() string {
93870	return s.String()
93871}
93872
93873type ReplaceRouteTableAssociationInput struct {
93874	_ struct{} `type:"structure"`
93875
93876	// The association ID.
93877	//
93878	// AssociationId is a required field
93879	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
93880
93881	// Checks whether you have the required permissions for the action, without
93882	// actually making the request, and provides an error response. If you have
93883	// the required permissions, the error response is DryRunOperation. Otherwise,
93884	// it is UnauthorizedOperation.
93885	DryRun *bool `locationName:"dryRun" type:"boolean"`
93886
93887	// The ID of the new route table to associate with the subnet.
93888	//
93889	// RouteTableId is a required field
93890	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
93891}
93892
93893// String returns the string representation
93894func (s ReplaceRouteTableAssociationInput) String() string {
93895	return awsutil.Prettify(s)
93896}
93897
93898// GoString returns the string representation
93899func (s ReplaceRouteTableAssociationInput) GoString() string {
93900	return s.String()
93901}
93902
93903// Validate inspects the fields of the type to determine if they are valid.
93904func (s *ReplaceRouteTableAssociationInput) Validate() error {
93905	invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
93906	if s.AssociationId == nil {
93907		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
93908	}
93909	if s.RouteTableId == nil {
93910		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
93911	}
93912
93913	if invalidParams.Len() > 0 {
93914		return invalidParams
93915	}
93916	return nil
93917}
93918
93919// SetAssociationId sets the AssociationId field's value.
93920func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
93921	s.AssociationId = &v
93922	return s
93923}
93924
93925// SetDryRun sets the DryRun field's value.
93926func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
93927	s.DryRun = &v
93928	return s
93929}
93930
93931// SetRouteTableId sets the RouteTableId field's value.
93932func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
93933	s.RouteTableId = &v
93934	return s
93935}
93936
93937type ReplaceRouteTableAssociationOutput struct {
93938	_ struct{} `type:"structure"`
93939
93940	// The state of the association.
93941	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
93942
93943	// The ID of the new association.
93944	NewAssociationId *string `locationName:"newAssociationId" type:"string"`
93945}
93946
93947// String returns the string representation
93948func (s ReplaceRouteTableAssociationOutput) String() string {
93949	return awsutil.Prettify(s)
93950}
93951
93952// GoString returns the string representation
93953func (s ReplaceRouteTableAssociationOutput) GoString() string {
93954	return s.String()
93955}
93956
93957// SetAssociationState sets the AssociationState field's value.
93958func (s *ReplaceRouteTableAssociationOutput) SetAssociationState(v *RouteTableAssociationState) *ReplaceRouteTableAssociationOutput {
93959	s.AssociationState = v
93960	return s
93961}
93962
93963// SetNewAssociationId sets the NewAssociationId field's value.
93964func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
93965	s.NewAssociationId = &v
93966	return s
93967}
93968
93969type ReplaceTransitGatewayRouteInput struct {
93970	_ struct{} `type:"structure"`
93971
93972	// Indicates whether traffic matching this route is to be dropped.
93973	Blackhole *bool `type:"boolean"`
93974
93975	// The CIDR range used for the destination match. Routing decisions are based
93976	// on the most specific match.
93977	//
93978	// DestinationCidrBlock is a required field
93979	DestinationCidrBlock *string `type:"string" required:"true"`
93980
93981	// Checks whether you have the required permissions for the action, without
93982	// actually making the request, and provides an error response. If you have
93983	// the required permissions, the error response is DryRunOperation. Otherwise,
93984	// it is UnauthorizedOperation.
93985	DryRun *bool `type:"boolean"`
93986
93987	// The ID of the attachment.
93988	TransitGatewayAttachmentId *string `type:"string"`
93989
93990	// The ID of the route table.
93991	//
93992	// TransitGatewayRouteTableId is a required field
93993	TransitGatewayRouteTableId *string `type:"string" required:"true"`
93994}
93995
93996// String returns the string representation
93997func (s ReplaceTransitGatewayRouteInput) String() string {
93998	return awsutil.Prettify(s)
93999}
94000
94001// GoString returns the string representation
94002func (s ReplaceTransitGatewayRouteInput) GoString() string {
94003	return s.String()
94004}
94005
94006// Validate inspects the fields of the type to determine if they are valid.
94007func (s *ReplaceTransitGatewayRouteInput) Validate() error {
94008	invalidParams := request.ErrInvalidParams{Context: "ReplaceTransitGatewayRouteInput"}
94009	if s.DestinationCidrBlock == nil {
94010		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
94011	}
94012	if s.TransitGatewayRouteTableId == nil {
94013		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
94014	}
94015
94016	if invalidParams.Len() > 0 {
94017		return invalidParams
94018	}
94019	return nil
94020}
94021
94022// SetBlackhole sets the Blackhole field's value.
94023func (s *ReplaceTransitGatewayRouteInput) SetBlackhole(v bool) *ReplaceTransitGatewayRouteInput {
94024	s.Blackhole = &v
94025	return s
94026}
94027
94028// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
94029func (s *ReplaceTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *ReplaceTransitGatewayRouteInput {
94030	s.DestinationCidrBlock = &v
94031	return s
94032}
94033
94034// SetDryRun sets the DryRun field's value.
94035func (s *ReplaceTransitGatewayRouteInput) SetDryRun(v bool) *ReplaceTransitGatewayRouteInput {
94036	s.DryRun = &v
94037	return s
94038}
94039
94040// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
94041func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *ReplaceTransitGatewayRouteInput {
94042	s.TransitGatewayAttachmentId = &v
94043	return s
94044}
94045
94046// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
94047func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *ReplaceTransitGatewayRouteInput {
94048	s.TransitGatewayRouteTableId = &v
94049	return s
94050}
94051
94052type ReplaceTransitGatewayRouteOutput struct {
94053	_ struct{} `type:"structure"`
94054
94055	// Information about the modified route.
94056	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
94057}
94058
94059// String returns the string representation
94060func (s ReplaceTransitGatewayRouteOutput) String() string {
94061	return awsutil.Prettify(s)
94062}
94063
94064// GoString returns the string representation
94065func (s ReplaceTransitGatewayRouteOutput) GoString() string {
94066	return s.String()
94067}
94068
94069// SetRoute sets the Route field's value.
94070func (s *ReplaceTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *ReplaceTransitGatewayRouteOutput {
94071	s.Route = v
94072	return s
94073}
94074
94075type ReportInstanceStatusInput struct {
94076	_ struct{} `type:"structure"`
94077
94078	// Descriptive text about the health state of your instance.
94079	Description *string `locationName:"description" type:"string"`
94080
94081	// Checks whether you have the required permissions for the action, without
94082	// actually making the request, and provides an error response. If you have
94083	// the required permissions, the error response is DryRunOperation. Otherwise,
94084	// it is UnauthorizedOperation.
94085	DryRun *bool `locationName:"dryRun" type:"boolean"`
94086
94087	// The time at which the reported instance health state ended.
94088	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
94089
94090	// The instances.
94091	//
94092	// Instances is a required field
94093	Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
94094
94095	// The reason codes that describe the health state of your instance.
94096	//
94097	//    * instance-stuck-in-state: My instance is stuck in a state.
94098	//
94099	//    * unresponsive: My instance is unresponsive.
94100	//
94101	//    * not-accepting-credentials: My instance is not accepting my credentials.
94102	//
94103	//    * password-not-available: A password is not available for my instance.
94104	//
94105	//    * performance-network: My instance is experiencing performance problems
94106	//    that I believe are network related.
94107	//
94108	//    * performance-instance-store: My instance is experiencing performance
94109	//    problems that I believe are related to the instance stores.
94110	//
94111	//    * performance-ebs-volume: My instance is experiencing performance problems
94112	//    that I believe are related to an EBS volume.
94113	//
94114	//    * performance-other: My instance is experiencing performance problems.
94115	//
94116	//    * other: [explain using the description parameter]
94117	//
94118	// ReasonCodes is a required field
94119	ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
94120
94121	// The time at which the reported instance health state began.
94122	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
94123
94124	// The status of all instances listed.
94125	//
94126	// Status is a required field
94127	Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
94128}
94129
94130// String returns the string representation
94131func (s ReportInstanceStatusInput) String() string {
94132	return awsutil.Prettify(s)
94133}
94134
94135// GoString returns the string representation
94136func (s ReportInstanceStatusInput) GoString() string {
94137	return s.String()
94138}
94139
94140// Validate inspects the fields of the type to determine if they are valid.
94141func (s *ReportInstanceStatusInput) Validate() error {
94142	invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
94143	if s.Instances == nil {
94144		invalidParams.Add(request.NewErrParamRequired("Instances"))
94145	}
94146	if s.ReasonCodes == nil {
94147		invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
94148	}
94149	if s.Status == nil {
94150		invalidParams.Add(request.NewErrParamRequired("Status"))
94151	}
94152
94153	if invalidParams.Len() > 0 {
94154		return invalidParams
94155	}
94156	return nil
94157}
94158
94159// SetDescription sets the Description field's value.
94160func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
94161	s.Description = &v
94162	return s
94163}
94164
94165// SetDryRun sets the DryRun field's value.
94166func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
94167	s.DryRun = &v
94168	return s
94169}
94170
94171// SetEndTime sets the EndTime field's value.
94172func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
94173	s.EndTime = &v
94174	return s
94175}
94176
94177// SetInstances sets the Instances field's value.
94178func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
94179	s.Instances = v
94180	return s
94181}
94182
94183// SetReasonCodes sets the ReasonCodes field's value.
94184func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
94185	s.ReasonCodes = v
94186	return s
94187}
94188
94189// SetStartTime sets the StartTime field's value.
94190func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
94191	s.StartTime = &v
94192	return s
94193}
94194
94195// SetStatus sets the Status field's value.
94196func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
94197	s.Status = &v
94198	return s
94199}
94200
94201type ReportInstanceStatusOutput struct {
94202	_ struct{} `type:"structure"`
94203}
94204
94205// String returns the string representation
94206func (s ReportInstanceStatusOutput) String() string {
94207	return awsutil.Prettify(s)
94208}
94209
94210// GoString returns the string representation
94211func (s ReportInstanceStatusOutput) GoString() string {
94212	return s.String()
94213}
94214
94215// The information to include in the launch template.
94216type RequestLaunchTemplateData struct {
94217	_ struct{} `type:"structure"`
94218
94219	// The block device mapping.
94220	BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
94221
94222	// The Capacity Reservation targeting option. If you do not specify this parameter,
94223	// the instance's Capacity Reservation preference defaults to open, which enables
94224	// it to run in any open Capacity Reservation that has matching attributes (instance
94225	// type, platform, Availability Zone).
94226	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationRequest `type:"structure"`
94227
94228	// The CPU options for the instance. For more information, see Optimizing CPU
94229	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
94230	// in the Amazon Elastic Compute Cloud User Guide.
94231	CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"`
94232
94233	// The credit option for CPU usage of the instance. Valid for T2 or T3 instances
94234	// only.
94235	CreditSpecification *CreditSpecificationRequest `type:"structure"`
94236
94237	// If you set this parameter to true, you can't terminate the instance using
94238	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
94239	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
94240	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
94241	// you can terminate the instance by running the shutdown command from the instance.
94242	DisableApiTermination *bool `type:"boolean"`
94243
94244	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
94245	// provides dedicated throughput to Amazon EBS and an optimized configuration
94246	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
94247	// available with all instance types. Additional usage charges apply when using
94248	// an EBS-optimized instance.
94249	EbsOptimized *bool `type:"boolean"`
94250
94251	// An elastic GPU to associate with the instance.
94252	ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"`
94253
94254	// The elastic inference accelerator for the instance.
94255	ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
94256
94257	// Indicates whether an instance is enabled for hibernation. This parameter
94258	// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
94259	// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
94260	// in the Amazon Elastic Compute Cloud User Guide.
94261	HibernationOptions *LaunchTemplateHibernationOptionsRequest `type:"structure"`
94262
94263	// The IAM instance profile.
94264	IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"`
94265
94266	// The ID of the AMI.
94267	ImageId *string `type:"string"`
94268
94269	// Indicates whether an instance stops or terminates when you initiate shutdown
94270	// from the instance (using the operating system command for system shutdown).
94271	//
94272	// Default: stop
94273	InstanceInitiatedShutdownBehavior *string `type:"string" enum:"ShutdownBehavior"`
94274
94275	// The market (purchasing) option for the instances.
94276	InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"`
94277
94278	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
94279	// in the Amazon Elastic Compute Cloud User Guide.
94280	InstanceType *string `type:"string" enum:"InstanceType"`
94281
94282	// The ID of the kernel.
94283	//
94284	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
94285	// information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
94286	// in the Amazon Elastic Compute Cloud User Guide.
94287	KernelId *string `type:"string"`
94288
94289	// 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)
94290	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
94291	//
94292	// If you do not specify a key pair, you can't connect to the instance unless
94293	// you choose an AMI that is configured to allow users another way to log in.
94294	KeyName *string `type:"string"`
94295
94296	// The license configurations.
94297	LicenseSpecifications []*LaunchTemplateLicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
94298
94299	// The metadata options for the instance. For more information, see Instance
94300	// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
94301	// in the Amazon Elastic Compute Cloud User Guide.
94302	MetadataOptions *LaunchTemplateInstanceMetadataOptionsRequest `type:"structure"`
94303
94304	// The monitoring for the instance.
94305	Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"`
94306
94307	// One or more network interfaces. If you specify a network interface, you must
94308	// specify any security groups and subnets as part of the network interface.
94309	NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"`
94310
94311	// The placement for the instance.
94312	Placement *LaunchTemplatePlacementRequest `type:"structure"`
94313
94314	// The ID of the RAM disk.
94315	//
94316	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
94317	// information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
94318	// in the Amazon Elastic Compute Cloud User Guide.
94319	RamDiskId *string `type:"string"`
94320
94321	// One or more security group IDs. You can create a security group using CreateSecurityGroup
94322	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
94323	// You cannot specify both a security group ID and security name in the same
94324	// request.
94325	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
94326
94327	// [EC2-Classic, default VPC] One or more security group names. For a nondefault
94328	// VPC, you must use security group IDs instead. You cannot specify both a security
94329	// group ID and security name in the same request.
94330	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
94331
94332	// The tags to apply to the resources during launch. You can only tag instances
94333	// and volumes on launch. The specified tags are applied to all instances or
94334	// volumes that are created during launch. To tag a resource after it has been
94335	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
94336	TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"`
94337
94338	// The Base64-encoded user data to make available to the instance. For more
94339	// information, see Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
94340	// (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
94341	// (Windows).
94342	UserData *string `type:"string"`
94343}
94344
94345// String returns the string representation
94346func (s RequestLaunchTemplateData) String() string {
94347	return awsutil.Prettify(s)
94348}
94349
94350// GoString returns the string representation
94351func (s RequestLaunchTemplateData) GoString() string {
94352	return s.String()
94353}
94354
94355// Validate inspects the fields of the type to determine if they are valid.
94356func (s *RequestLaunchTemplateData) Validate() error {
94357	invalidParams := request.ErrInvalidParams{Context: "RequestLaunchTemplateData"}
94358	if s.CreditSpecification != nil {
94359		if err := s.CreditSpecification.Validate(); err != nil {
94360			invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
94361		}
94362	}
94363	if s.ElasticGpuSpecifications != nil {
94364		for i, v := range s.ElasticGpuSpecifications {
94365			if v == nil {
94366				continue
94367			}
94368			if err := v.Validate(); err != nil {
94369				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecifications", i), err.(request.ErrInvalidParams))
94370			}
94371		}
94372	}
94373	if s.ElasticInferenceAccelerators != nil {
94374		for i, v := range s.ElasticInferenceAccelerators {
94375			if v == nil {
94376				continue
94377			}
94378			if err := v.Validate(); err != nil {
94379				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
94380			}
94381		}
94382	}
94383
94384	if invalidParams.Len() > 0 {
94385		return invalidParams
94386	}
94387	return nil
94388}
94389
94390// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
94391func (s *RequestLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMappingRequest) *RequestLaunchTemplateData {
94392	s.BlockDeviceMappings = v
94393	return s
94394}
94395
94396// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
94397func (s *RequestLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationRequest) *RequestLaunchTemplateData {
94398	s.CapacityReservationSpecification = v
94399	return s
94400}
94401
94402// SetCpuOptions sets the CpuOptions field's value.
94403func (s *RequestLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptionsRequest) *RequestLaunchTemplateData {
94404	s.CpuOptions = v
94405	return s
94406}
94407
94408// SetCreditSpecification sets the CreditSpecification field's value.
94409func (s *RequestLaunchTemplateData) SetCreditSpecification(v *CreditSpecificationRequest) *RequestLaunchTemplateData {
94410	s.CreditSpecification = v
94411	return s
94412}
94413
94414// SetDisableApiTermination sets the DisableApiTermination field's value.
94415func (s *RequestLaunchTemplateData) SetDisableApiTermination(v bool) *RequestLaunchTemplateData {
94416	s.DisableApiTermination = &v
94417	return s
94418}
94419
94420// SetEbsOptimized sets the EbsOptimized field's value.
94421func (s *RequestLaunchTemplateData) SetEbsOptimized(v bool) *RequestLaunchTemplateData {
94422	s.EbsOptimized = &v
94423	return s
94424}
94425
94426// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
94427func (s *RequestLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecification) *RequestLaunchTemplateData {
94428	s.ElasticGpuSpecifications = v
94429	return s
94430}
94431
94432// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
94433func (s *RequestLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAccelerator) *RequestLaunchTemplateData {
94434	s.ElasticInferenceAccelerators = v
94435	return s
94436}
94437
94438// SetHibernationOptions sets the HibernationOptions field's value.
94439func (s *RequestLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptionsRequest) *RequestLaunchTemplateData {
94440	s.HibernationOptions = v
94441	return s
94442}
94443
94444// SetIamInstanceProfile sets the IamInstanceProfile field's value.
94445func (s *RequestLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecificationRequest) *RequestLaunchTemplateData {
94446	s.IamInstanceProfile = v
94447	return s
94448}
94449
94450// SetImageId sets the ImageId field's value.
94451func (s *RequestLaunchTemplateData) SetImageId(v string) *RequestLaunchTemplateData {
94452	s.ImageId = &v
94453	return s
94454}
94455
94456// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
94457func (s *RequestLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *RequestLaunchTemplateData {
94458	s.InstanceInitiatedShutdownBehavior = &v
94459	return s
94460}
94461
94462// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
94463func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptionsRequest) *RequestLaunchTemplateData {
94464	s.InstanceMarketOptions = v
94465	return s
94466}
94467
94468// SetInstanceType sets the InstanceType field's value.
94469func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData {
94470	s.InstanceType = &v
94471	return s
94472}
94473
94474// SetKernelId sets the KernelId field's value.
94475func (s *RequestLaunchTemplateData) SetKernelId(v string) *RequestLaunchTemplateData {
94476	s.KernelId = &v
94477	return s
94478}
94479
94480// SetKeyName sets the KeyName field's value.
94481func (s *RequestLaunchTemplateData) SetKeyName(v string) *RequestLaunchTemplateData {
94482	s.KeyName = &v
94483	return s
94484}
94485
94486// SetLicenseSpecifications sets the LicenseSpecifications field's value.
94487func (s *RequestLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfigurationRequest) *RequestLaunchTemplateData {
94488	s.LicenseSpecifications = v
94489	return s
94490}
94491
94492// SetMetadataOptions sets the MetadataOptions field's value.
94493func (s *RequestLaunchTemplateData) SetMetadataOptions(v *LaunchTemplateInstanceMetadataOptionsRequest) *RequestLaunchTemplateData {
94494	s.MetadataOptions = v
94495	return s
94496}
94497
94498// SetMonitoring sets the Monitoring field's value.
94499func (s *RequestLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoringRequest) *RequestLaunchTemplateData {
94500	s.Monitoring = v
94501	return s
94502}
94503
94504// SetNetworkInterfaces sets the NetworkInterfaces field's value.
94505func (s *RequestLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) *RequestLaunchTemplateData {
94506	s.NetworkInterfaces = v
94507	return s
94508}
94509
94510// SetPlacement sets the Placement field's value.
94511func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementRequest) *RequestLaunchTemplateData {
94512	s.Placement = v
94513	return s
94514}
94515
94516// SetRamDiskId sets the RamDiskId field's value.
94517func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData {
94518	s.RamDiskId = &v
94519	return s
94520}
94521
94522// SetSecurityGroupIds sets the SecurityGroupIds field's value.
94523func (s *RequestLaunchTemplateData) SetSecurityGroupIds(v []*string) *RequestLaunchTemplateData {
94524	s.SecurityGroupIds = v
94525	return s
94526}
94527
94528// SetSecurityGroups sets the SecurityGroups field's value.
94529func (s *RequestLaunchTemplateData) SetSecurityGroups(v []*string) *RequestLaunchTemplateData {
94530	s.SecurityGroups = v
94531	return s
94532}
94533
94534// SetTagSpecifications sets the TagSpecifications field's value.
94535func (s *RequestLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecificationRequest) *RequestLaunchTemplateData {
94536	s.TagSpecifications = v
94537	return s
94538}
94539
94540// SetUserData sets the UserData field's value.
94541func (s *RequestLaunchTemplateData) SetUserData(v string) *RequestLaunchTemplateData {
94542	s.UserData = &v
94543	return s
94544}
94545
94546// Contains the parameters for RequestSpotFleet.
94547type RequestSpotFleetInput struct {
94548	_ struct{} `type:"structure"`
94549
94550	// Checks whether you have the required permissions for the action, without
94551	// actually making the request, and provides an error response. If you have
94552	// the required permissions, the error response is DryRunOperation. Otherwise,
94553	// it is UnauthorizedOperation.
94554	DryRun *bool `locationName:"dryRun" type:"boolean"`
94555
94556	// The configuration for the Spot Fleet request.
94557	//
94558	// SpotFleetRequestConfig is a required field
94559	SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
94560}
94561
94562// String returns the string representation
94563func (s RequestSpotFleetInput) String() string {
94564	return awsutil.Prettify(s)
94565}
94566
94567// GoString returns the string representation
94568func (s RequestSpotFleetInput) GoString() string {
94569	return s.String()
94570}
94571
94572// Validate inspects the fields of the type to determine if they are valid.
94573func (s *RequestSpotFleetInput) Validate() error {
94574	invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
94575	if s.SpotFleetRequestConfig == nil {
94576		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
94577	}
94578	if s.SpotFleetRequestConfig != nil {
94579		if err := s.SpotFleetRequestConfig.Validate(); err != nil {
94580			invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
94581		}
94582	}
94583
94584	if invalidParams.Len() > 0 {
94585		return invalidParams
94586	}
94587	return nil
94588}
94589
94590// SetDryRun sets the DryRun field's value.
94591func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
94592	s.DryRun = &v
94593	return s
94594}
94595
94596// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
94597func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
94598	s.SpotFleetRequestConfig = v
94599	return s
94600}
94601
94602// Contains the output of RequestSpotFleet.
94603type RequestSpotFleetOutput struct {
94604	_ struct{} `type:"structure"`
94605
94606	// The ID of the Spot Fleet request.
94607	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
94608}
94609
94610// String returns the string representation
94611func (s RequestSpotFleetOutput) String() string {
94612	return awsutil.Prettify(s)
94613}
94614
94615// GoString returns the string representation
94616func (s RequestSpotFleetOutput) GoString() string {
94617	return s.String()
94618}
94619
94620// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
94621func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
94622	s.SpotFleetRequestId = &v
94623	return s
94624}
94625
94626// Contains the parameters for RequestSpotInstances.
94627type RequestSpotInstancesInput struct {
94628	_ struct{} `type:"structure"`
94629
94630	// The user-specified name for a logical grouping of requests.
94631	//
94632	// When you specify an Availability Zone group in a Spot Instance request, all
94633	// Spot Instances in the request are launched in the same Availability Zone.
94634	// Instance proximity is maintained with this parameter, but the choice of Availability
94635	// Zone is not. The group applies only to requests for Spot Instances of the
94636	// same instance type. Any additional Spot Instance requests that are specified
94637	// with the same Availability Zone group name are launched in that same Availability
94638	// Zone, as long as at least one instance from the group is still active.
94639	//
94640	// If there is no active instance running in the Availability Zone group that
94641	// you specify for a new Spot Instance request (all instances are terminated,
94642	// the request is expired, or the maximum price you specified falls below current
94643	// Spot price), then Amazon EC2 launches the instance in any Availability Zone
94644	// where the constraint can be met. Consequently, the subsequent set of Spot
94645	// Instances could be placed in a different zone from the original request,
94646	// even if you specified the same Availability Zone group.
94647	//
94648	// Default: Instances are launched in any available Availability Zone.
94649	AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
94650
94651	// The required duration for the Spot Instances (also known as Spot blocks),
94652	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
94653	// or 360).
94654	//
94655	// The duration period starts as soon as your Spot Instance receives its instance
94656	// ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
94657	// for termination and provides a Spot Instance termination notice, which gives
94658	// the instance a two-minute warning before it terminates.
94659	//
94660	// You can't specify an Availability Zone group or a launch group if you specify
94661	// a duration.
94662	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
94663
94664	// Unique, case-sensitive identifier that you provide to ensure the idempotency
94665	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
94666	// in the Amazon EC2 User Guide for Linux Instances.
94667	ClientToken *string `locationName:"clientToken" type:"string"`
94668
94669	// Checks whether you have the required permissions for the action, without
94670	// actually making the request, and provides an error response. If you have
94671	// the required permissions, the error response is DryRunOperation. Otherwise,
94672	// it is UnauthorizedOperation.
94673	DryRun *bool `locationName:"dryRun" type:"boolean"`
94674
94675	// The maximum number of Spot Instances to launch.
94676	//
94677	// Default: 1
94678	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
94679
94680	// The behavior when a Spot Instance is interrupted. The default is terminate.
94681	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
94682
94683	// The instance launch group. Launch groups are Spot Instances that launch together
94684	// and terminate together.
94685	//
94686	// Default: Instances are launched and terminated individually
94687	LaunchGroup *string `locationName:"launchGroup" type:"string"`
94688
94689	// The launch specification.
94690	LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
94691
94692	// The maximum price per hour that you are willing to pay for a Spot Instance.
94693	// The default is the On-Demand price.
94694	SpotPrice *string `locationName:"spotPrice" type:"string"`
94695
94696	// The Spot Instance request type.
94697	//
94698	// Default: one-time
94699	Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
94700
94701	// The start date of the request. If this is a one-time request, the request
94702	// becomes active at this date and time and remains active until all instances
94703	// launch, the request expires, or the request is canceled. If the request is
94704	// persistent, the request becomes active at this date and time and remains
94705	// active until it expires or is canceled.
94706	//
94707	// The specified start date and time cannot be equal to the current date and
94708	// time. You must specify a start date and time that occurs after the current
94709	// date and time.
94710	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
94711
94712	// The end date of the request. If this is a one-time request, the request remains
94713	// active until all instances launch, the request is canceled, or this date
94714	// is reached. If the request is persistent, it remains active until it is canceled
94715	// or this date is reached. The default end date is 7 days from the current
94716	// date.
94717	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
94718}
94719
94720// String returns the string representation
94721func (s RequestSpotInstancesInput) String() string {
94722	return awsutil.Prettify(s)
94723}
94724
94725// GoString returns the string representation
94726func (s RequestSpotInstancesInput) GoString() string {
94727	return s.String()
94728}
94729
94730// Validate inspects the fields of the type to determine if they are valid.
94731func (s *RequestSpotInstancesInput) Validate() error {
94732	invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
94733	if s.LaunchSpecification != nil {
94734		if err := s.LaunchSpecification.Validate(); err != nil {
94735			invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
94736		}
94737	}
94738
94739	if invalidParams.Len() > 0 {
94740		return invalidParams
94741	}
94742	return nil
94743}
94744
94745// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
94746func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
94747	s.AvailabilityZoneGroup = &v
94748	return s
94749}
94750
94751// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
94752func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
94753	s.BlockDurationMinutes = &v
94754	return s
94755}
94756
94757// SetClientToken sets the ClientToken field's value.
94758func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
94759	s.ClientToken = &v
94760	return s
94761}
94762
94763// SetDryRun sets the DryRun field's value.
94764func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
94765	s.DryRun = &v
94766	return s
94767}
94768
94769// SetInstanceCount sets the InstanceCount field's value.
94770func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
94771	s.InstanceCount = &v
94772	return s
94773}
94774
94775// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
94776func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput {
94777	s.InstanceInterruptionBehavior = &v
94778	return s
94779}
94780
94781// SetLaunchGroup sets the LaunchGroup field's value.
94782func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
94783	s.LaunchGroup = &v
94784	return s
94785}
94786
94787// SetLaunchSpecification sets the LaunchSpecification field's value.
94788func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
94789	s.LaunchSpecification = v
94790	return s
94791}
94792
94793// SetSpotPrice sets the SpotPrice field's value.
94794func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
94795	s.SpotPrice = &v
94796	return s
94797}
94798
94799// SetType sets the Type field's value.
94800func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
94801	s.Type = &v
94802	return s
94803}
94804
94805// SetValidFrom sets the ValidFrom field's value.
94806func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
94807	s.ValidFrom = &v
94808	return s
94809}
94810
94811// SetValidUntil sets the ValidUntil field's value.
94812func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
94813	s.ValidUntil = &v
94814	return s
94815}
94816
94817// Contains the output of RequestSpotInstances.
94818type RequestSpotInstancesOutput struct {
94819	_ struct{} `type:"structure"`
94820
94821	// One or more Spot Instance requests.
94822	SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
94823}
94824
94825// String returns the string representation
94826func (s RequestSpotInstancesOutput) String() string {
94827	return awsutil.Prettify(s)
94828}
94829
94830// GoString returns the string representation
94831func (s RequestSpotInstancesOutput) GoString() string {
94832	return s.String()
94833}
94834
94835// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
94836func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
94837	s.SpotInstanceRequests = v
94838	return s
94839}
94840
94841// Describes the launch specification for an instance.
94842type RequestSpotLaunchSpecification struct {
94843	_ struct{} `type:"structure"`
94844
94845	// Deprecated.
94846	AddressingType *string `locationName:"addressingType" type:"string"`
94847
94848	// One or more block device mapping entries. You can't specify both a snapshot
94849	// ID and an encryption value. This is because only blank volumes can be encrypted
94850	// on creation. If a snapshot is the basis for a volume, it is not blank and
94851	// its encryption status is used for the volume encryption status.
94852	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
94853
94854	// Indicates whether the instance is optimized for EBS I/O. This optimization
94855	// provides dedicated throughput to Amazon EBS and an optimized configuration
94856	// stack to provide optimal EBS I/O performance. This optimization isn't available
94857	// with all instance types. Additional usage charges apply when using an EBS
94858	// Optimized instance.
94859	//
94860	// Default: false
94861	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
94862
94863	// The IAM instance profile.
94864	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
94865
94866	// The ID of the AMI.
94867	ImageId *string `locationName:"imageId" type:"string"`
94868
94869	// The instance type.
94870	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
94871
94872	// The ID of the kernel.
94873	KernelId *string `locationName:"kernelId" type:"string"`
94874
94875	// The name of the key pair.
94876	KeyName *string `locationName:"keyName" type:"string"`
94877
94878	// Indicates whether basic or detailed monitoring is enabled for the instance.
94879	//
94880	// Default: Disabled
94881	Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
94882
94883	// One or more network interfaces. If you specify a network interface, you must
94884	// specify subnet IDs and security group IDs using the network interface.
94885	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
94886
94887	// The placement information for the instance.
94888	Placement *SpotPlacement `locationName:"placement" type:"structure"`
94889
94890	// The ID of the RAM disk.
94891	RamdiskId *string `locationName:"ramdiskId" type:"string"`
94892
94893	// One or more security group IDs.
94894	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
94895
94896	// One or more security groups. When requesting instances in a VPC, you must
94897	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
94898	// you can specify the names or the IDs of the security groups.
94899	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
94900
94901	// The IDs of the subnets in which to launch the instance. To specify multiple
94902	// subnets, separate them using commas; for example, "subnet-1234abcdeexample1,
94903	// subnet-0987cdef6example2".
94904	SubnetId *string `locationName:"subnetId" type:"string"`
94905
94906	// The Base64-encoded user data for the instance. User data is limited to 16
94907	// KB.
94908	UserData *string `locationName:"userData" type:"string"`
94909}
94910
94911// String returns the string representation
94912func (s RequestSpotLaunchSpecification) String() string {
94913	return awsutil.Prettify(s)
94914}
94915
94916// GoString returns the string representation
94917func (s RequestSpotLaunchSpecification) GoString() string {
94918	return s.String()
94919}
94920
94921// Validate inspects the fields of the type to determine if they are valid.
94922func (s *RequestSpotLaunchSpecification) Validate() error {
94923	invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
94924	if s.Monitoring != nil {
94925		if err := s.Monitoring.Validate(); err != nil {
94926			invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
94927		}
94928	}
94929
94930	if invalidParams.Len() > 0 {
94931		return invalidParams
94932	}
94933	return nil
94934}
94935
94936// SetAddressingType sets the AddressingType field's value.
94937func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
94938	s.AddressingType = &v
94939	return s
94940}
94941
94942// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
94943func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
94944	s.BlockDeviceMappings = v
94945	return s
94946}
94947
94948// SetEbsOptimized sets the EbsOptimized field's value.
94949func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
94950	s.EbsOptimized = &v
94951	return s
94952}
94953
94954// SetIamInstanceProfile sets the IamInstanceProfile field's value.
94955func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
94956	s.IamInstanceProfile = v
94957	return s
94958}
94959
94960// SetImageId sets the ImageId field's value.
94961func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
94962	s.ImageId = &v
94963	return s
94964}
94965
94966// SetInstanceType sets the InstanceType field's value.
94967func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
94968	s.InstanceType = &v
94969	return s
94970}
94971
94972// SetKernelId sets the KernelId field's value.
94973func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
94974	s.KernelId = &v
94975	return s
94976}
94977
94978// SetKeyName sets the KeyName field's value.
94979func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
94980	s.KeyName = &v
94981	return s
94982}
94983
94984// SetMonitoring sets the Monitoring field's value.
94985func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
94986	s.Monitoring = v
94987	return s
94988}
94989
94990// SetNetworkInterfaces sets the NetworkInterfaces field's value.
94991func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
94992	s.NetworkInterfaces = v
94993	return s
94994}
94995
94996// SetPlacement sets the Placement field's value.
94997func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
94998	s.Placement = v
94999	return s
95000}
95001
95002// SetRamdiskId sets the RamdiskId field's value.
95003func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
95004	s.RamdiskId = &v
95005	return s
95006}
95007
95008// SetSecurityGroupIds sets the SecurityGroupIds field's value.
95009func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
95010	s.SecurityGroupIds = v
95011	return s
95012}
95013
95014// SetSecurityGroups sets the SecurityGroups field's value.
95015func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
95016	s.SecurityGroups = v
95017	return s
95018}
95019
95020// SetSubnetId sets the SubnetId field's value.
95021func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
95022	s.SubnetId = &v
95023	return s
95024}
95025
95026// SetUserData sets the UserData field's value.
95027func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
95028	s.UserData = &v
95029	return s
95030}
95031
95032// Describes a reservation.
95033type Reservation struct {
95034	_ struct{} `type:"structure"`
95035
95036	// [EC2-Classic only] The security groups.
95037	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
95038
95039	// The instances.
95040	Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
95041
95042	// The ID of the AWS account that owns the reservation.
95043	OwnerId *string `locationName:"ownerId" type:"string"`
95044
95045	// The ID of the requester that launched the instances on your behalf (for example,
95046	// AWS Management Console or Auto Scaling).
95047	RequesterId *string `locationName:"requesterId" type:"string"`
95048
95049	// The ID of the reservation.
95050	ReservationId *string `locationName:"reservationId" type:"string"`
95051}
95052
95053// String returns the string representation
95054func (s Reservation) String() string {
95055	return awsutil.Prettify(s)
95056}
95057
95058// GoString returns the string representation
95059func (s Reservation) GoString() string {
95060	return s.String()
95061}
95062
95063// SetGroups sets the Groups field's value.
95064func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
95065	s.Groups = v
95066	return s
95067}
95068
95069// SetInstances sets the Instances field's value.
95070func (s *Reservation) SetInstances(v []*Instance) *Reservation {
95071	s.Instances = v
95072	return s
95073}
95074
95075// SetOwnerId sets the OwnerId field's value.
95076func (s *Reservation) SetOwnerId(v string) *Reservation {
95077	s.OwnerId = &v
95078	return s
95079}
95080
95081// SetRequesterId sets the RequesterId field's value.
95082func (s *Reservation) SetRequesterId(v string) *Reservation {
95083	s.RequesterId = &v
95084	return s
95085}
95086
95087// SetReservationId sets the ReservationId field's value.
95088func (s *Reservation) SetReservationId(v string) *Reservation {
95089	s.ReservationId = &v
95090	return s
95091}
95092
95093// The cost associated with the Reserved Instance.
95094type ReservationValue struct {
95095	_ struct{} `type:"structure"`
95096
95097	// The hourly rate of the reservation.
95098	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
95099
95100	// The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
95101	// * number of hours remaining).
95102	RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
95103
95104	// The remaining upfront cost of the reservation.
95105	RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
95106}
95107
95108// String returns the string representation
95109func (s ReservationValue) String() string {
95110	return awsutil.Prettify(s)
95111}
95112
95113// GoString returns the string representation
95114func (s ReservationValue) GoString() string {
95115	return s.String()
95116}
95117
95118// SetHourlyPrice sets the HourlyPrice field's value.
95119func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
95120	s.HourlyPrice = &v
95121	return s
95122}
95123
95124// SetRemainingTotalValue sets the RemainingTotalValue field's value.
95125func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
95126	s.RemainingTotalValue = &v
95127	return s
95128}
95129
95130// SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
95131func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
95132	s.RemainingUpfrontValue = &v
95133	return s
95134}
95135
95136// Describes the limit price of a Reserved Instance offering.
95137type ReservedInstanceLimitPrice struct {
95138	_ struct{} `type:"structure"`
95139
95140	// Used for Reserved Instance Marketplace offerings. Specifies the limit price
95141	// on the total order (instanceCount * price).
95142	Amount *float64 `locationName:"amount" type:"double"`
95143
95144	// The currency in which the limitPrice amount is specified. At this time, the
95145	// only supported currency is USD.
95146	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
95147}
95148
95149// String returns the string representation
95150func (s ReservedInstanceLimitPrice) String() string {
95151	return awsutil.Prettify(s)
95152}
95153
95154// GoString returns the string representation
95155func (s ReservedInstanceLimitPrice) GoString() string {
95156	return s.String()
95157}
95158
95159// SetAmount sets the Amount field's value.
95160func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
95161	s.Amount = &v
95162	return s
95163}
95164
95165// SetCurrencyCode sets the CurrencyCode field's value.
95166func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
95167	s.CurrencyCode = &v
95168	return s
95169}
95170
95171// The total value of the Convertible Reserved Instance.
95172type ReservedInstanceReservationValue struct {
95173	_ struct{} `type:"structure"`
95174
95175	// The total value of the Convertible Reserved Instance that you are exchanging.
95176	ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
95177
95178	// The ID of the Convertible Reserved Instance that you are exchanging.
95179	ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
95180}
95181
95182// String returns the string representation
95183func (s ReservedInstanceReservationValue) String() string {
95184	return awsutil.Prettify(s)
95185}
95186
95187// GoString returns the string representation
95188func (s ReservedInstanceReservationValue) GoString() string {
95189	return s.String()
95190}
95191
95192// SetReservationValue sets the ReservationValue field's value.
95193func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
95194	s.ReservationValue = v
95195	return s
95196}
95197
95198// SetReservedInstanceId sets the ReservedInstanceId field's value.
95199func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
95200	s.ReservedInstanceId = &v
95201	return s
95202}
95203
95204// Describes a Reserved Instance.
95205type ReservedInstances struct {
95206	_ struct{} `type:"structure"`
95207
95208	// The Availability Zone in which the Reserved Instance can be used.
95209	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
95210
95211	// The currency of the Reserved Instance. It's specified using ISO 4217 standard
95212	// currency codes. At this time, the only supported currency is USD.
95213	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
95214
95215	// The duration of the Reserved Instance, in seconds.
95216	Duration *int64 `locationName:"duration" type:"long"`
95217
95218	// The time when the Reserved Instance expires.
95219	End *time.Time `locationName:"end" type:"timestamp"`
95220
95221	// The purchase price of the Reserved Instance.
95222	FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
95223
95224	// The number of reservations purchased.
95225	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
95226
95227	// The tenancy of the instance.
95228	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
95229
95230	// The instance type on which the Reserved Instance can be used.
95231	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
95232
95233	// The offering class of the Reserved Instance.
95234	OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
95235
95236	// The Reserved Instance offering type.
95237	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
95238
95239	// The Reserved Instance product platform description.
95240	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
95241
95242	// The recurring charge tag assigned to the resource.
95243	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
95244
95245	// The ID of the Reserved Instance.
95246	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
95247
95248	// The scope of the Reserved Instance.
95249	Scope *string `locationName:"scope" type:"string" enum:"Scope"`
95250
95251	// The date and time the Reserved Instance started.
95252	Start *time.Time `locationName:"start" type:"timestamp"`
95253
95254	// The state of the Reserved Instance purchase.
95255	State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
95256
95257	// Any tags assigned to the resource.
95258	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
95259
95260	// The usage price of the Reserved Instance, per hour.
95261	UsagePrice *float64 `locationName:"usagePrice" type:"float"`
95262}
95263
95264// String returns the string representation
95265func (s ReservedInstances) String() string {
95266	return awsutil.Prettify(s)
95267}
95268
95269// GoString returns the string representation
95270func (s ReservedInstances) GoString() string {
95271	return s.String()
95272}
95273
95274// SetAvailabilityZone sets the AvailabilityZone field's value.
95275func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
95276	s.AvailabilityZone = &v
95277	return s
95278}
95279
95280// SetCurrencyCode sets the CurrencyCode field's value.
95281func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
95282	s.CurrencyCode = &v
95283	return s
95284}
95285
95286// SetDuration sets the Duration field's value.
95287func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
95288	s.Duration = &v
95289	return s
95290}
95291
95292// SetEnd sets the End field's value.
95293func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
95294	s.End = &v
95295	return s
95296}
95297
95298// SetFixedPrice sets the FixedPrice field's value.
95299func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
95300	s.FixedPrice = &v
95301	return s
95302}
95303
95304// SetInstanceCount sets the InstanceCount field's value.
95305func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
95306	s.InstanceCount = &v
95307	return s
95308}
95309
95310// SetInstanceTenancy sets the InstanceTenancy field's value.
95311func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
95312	s.InstanceTenancy = &v
95313	return s
95314}
95315
95316// SetInstanceType sets the InstanceType field's value.
95317func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
95318	s.InstanceType = &v
95319	return s
95320}
95321
95322// SetOfferingClass sets the OfferingClass field's value.
95323func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
95324	s.OfferingClass = &v
95325	return s
95326}
95327
95328// SetOfferingType sets the OfferingType field's value.
95329func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
95330	s.OfferingType = &v
95331	return s
95332}
95333
95334// SetProductDescription sets the ProductDescription field's value.
95335func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
95336	s.ProductDescription = &v
95337	return s
95338}
95339
95340// SetRecurringCharges sets the RecurringCharges field's value.
95341func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
95342	s.RecurringCharges = v
95343	return s
95344}
95345
95346// SetReservedInstancesId sets the ReservedInstancesId field's value.
95347func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
95348	s.ReservedInstancesId = &v
95349	return s
95350}
95351
95352// SetScope sets the Scope field's value.
95353func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
95354	s.Scope = &v
95355	return s
95356}
95357
95358// SetStart sets the Start field's value.
95359func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
95360	s.Start = &v
95361	return s
95362}
95363
95364// SetState sets the State field's value.
95365func (s *ReservedInstances) SetState(v string) *ReservedInstances {
95366	s.State = &v
95367	return s
95368}
95369
95370// SetTags sets the Tags field's value.
95371func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
95372	s.Tags = v
95373	return s
95374}
95375
95376// SetUsagePrice sets the UsagePrice field's value.
95377func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
95378	s.UsagePrice = &v
95379	return s
95380}
95381
95382// Describes the configuration settings for the modified Reserved Instances.
95383type ReservedInstancesConfiguration struct {
95384	_ struct{} `type:"structure"`
95385
95386	// The Availability Zone for the modified Reserved Instances.
95387	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
95388
95389	// The number of modified Reserved Instances.
95390	//
95391	// This is a required field for a request.
95392	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
95393
95394	// The instance type for the modified Reserved Instances.
95395	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
95396
95397	// The network platform of the modified Reserved Instances, which is either
95398	// EC2-Classic or EC2-VPC.
95399	Platform *string `locationName:"platform" type:"string"`
95400
95401	// Whether the Reserved Instance is applied to instances in a Region or instances
95402	// in a specific Availability Zone.
95403	Scope *string `locationName:"scope" type:"string" enum:"Scope"`
95404}
95405
95406// String returns the string representation
95407func (s ReservedInstancesConfiguration) String() string {
95408	return awsutil.Prettify(s)
95409}
95410
95411// GoString returns the string representation
95412func (s ReservedInstancesConfiguration) GoString() string {
95413	return s.String()
95414}
95415
95416// SetAvailabilityZone sets the AvailabilityZone field's value.
95417func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
95418	s.AvailabilityZone = &v
95419	return s
95420}
95421
95422// SetInstanceCount sets the InstanceCount field's value.
95423func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
95424	s.InstanceCount = &v
95425	return s
95426}
95427
95428// SetInstanceType sets the InstanceType field's value.
95429func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
95430	s.InstanceType = &v
95431	return s
95432}
95433
95434// SetPlatform sets the Platform field's value.
95435func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
95436	s.Platform = &v
95437	return s
95438}
95439
95440// SetScope sets the Scope field's value.
95441func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
95442	s.Scope = &v
95443	return s
95444}
95445
95446// Describes the ID of a Reserved Instance.
95447type ReservedInstancesId struct {
95448	_ struct{} `type:"structure"`
95449
95450	// The ID of the Reserved Instance.
95451	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
95452}
95453
95454// String returns the string representation
95455func (s ReservedInstancesId) String() string {
95456	return awsutil.Prettify(s)
95457}
95458
95459// GoString returns the string representation
95460func (s ReservedInstancesId) GoString() string {
95461	return s.String()
95462}
95463
95464// SetReservedInstancesId sets the ReservedInstancesId field's value.
95465func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
95466	s.ReservedInstancesId = &v
95467	return s
95468}
95469
95470// Describes a Reserved Instance listing.
95471type ReservedInstancesListing struct {
95472	_ struct{} `type:"structure"`
95473
95474	// A unique, case-sensitive key supplied by the client to ensure that the request
95475	// is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
95476	ClientToken *string `locationName:"clientToken" type:"string"`
95477
95478	// The time the listing was created.
95479	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
95480
95481	// The number of instances in this state.
95482	InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
95483
95484	// The price of the Reserved Instance listing.
95485	PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
95486
95487	// The ID of the Reserved Instance.
95488	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
95489
95490	// The ID of the Reserved Instance listing.
95491	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
95492
95493	// The status of the Reserved Instance listing.
95494	Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
95495
95496	// The reason for the current status of the Reserved Instance listing. The response
95497	// can be blank.
95498	StatusMessage *string `locationName:"statusMessage" type:"string"`
95499
95500	// Any tags assigned to the resource.
95501	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
95502
95503	// The last modified timestamp of the listing.
95504	UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
95505}
95506
95507// String returns the string representation
95508func (s ReservedInstancesListing) String() string {
95509	return awsutil.Prettify(s)
95510}
95511
95512// GoString returns the string representation
95513func (s ReservedInstancesListing) GoString() string {
95514	return s.String()
95515}
95516
95517// SetClientToken sets the ClientToken field's value.
95518func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
95519	s.ClientToken = &v
95520	return s
95521}
95522
95523// SetCreateDate sets the CreateDate field's value.
95524func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
95525	s.CreateDate = &v
95526	return s
95527}
95528
95529// SetInstanceCounts sets the InstanceCounts field's value.
95530func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
95531	s.InstanceCounts = v
95532	return s
95533}
95534
95535// SetPriceSchedules sets the PriceSchedules field's value.
95536func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
95537	s.PriceSchedules = v
95538	return s
95539}
95540
95541// SetReservedInstancesId sets the ReservedInstancesId field's value.
95542func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
95543	s.ReservedInstancesId = &v
95544	return s
95545}
95546
95547// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
95548func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
95549	s.ReservedInstancesListingId = &v
95550	return s
95551}
95552
95553// SetStatus sets the Status field's value.
95554func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
95555	s.Status = &v
95556	return s
95557}
95558
95559// SetStatusMessage sets the StatusMessage field's value.
95560func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
95561	s.StatusMessage = &v
95562	return s
95563}
95564
95565// SetTags sets the Tags field's value.
95566func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
95567	s.Tags = v
95568	return s
95569}
95570
95571// SetUpdateDate sets the UpdateDate field's value.
95572func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
95573	s.UpdateDate = &v
95574	return s
95575}
95576
95577// Describes a Reserved Instance modification.
95578type ReservedInstancesModification struct {
95579	_ struct{} `type:"structure"`
95580
95581	// A unique, case-sensitive key supplied by the client to ensure that the request
95582	// is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
95583	ClientToken *string `locationName:"clientToken" type:"string"`
95584
95585	// The time when the modification request was created.
95586	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
95587
95588	// The time for the modification to become effective.
95589	EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp"`
95590
95591	// Contains target configurations along with their corresponding new Reserved
95592	// Instance IDs.
95593	ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
95594
95595	// The IDs of one or more Reserved Instances.
95596	ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
95597
95598	// A unique ID for the Reserved Instance modification.
95599	ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
95600
95601	// The status of the Reserved Instances modification request.
95602	Status *string `locationName:"status" type:"string"`
95603
95604	// The reason for the status.
95605	StatusMessage *string `locationName:"statusMessage" type:"string"`
95606
95607	// The time when the modification request was last updated.
95608	UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
95609}
95610
95611// String returns the string representation
95612func (s ReservedInstancesModification) String() string {
95613	return awsutil.Prettify(s)
95614}
95615
95616// GoString returns the string representation
95617func (s ReservedInstancesModification) GoString() string {
95618	return s.String()
95619}
95620
95621// SetClientToken sets the ClientToken field's value.
95622func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
95623	s.ClientToken = &v
95624	return s
95625}
95626
95627// SetCreateDate sets the CreateDate field's value.
95628func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
95629	s.CreateDate = &v
95630	return s
95631}
95632
95633// SetEffectiveDate sets the EffectiveDate field's value.
95634func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
95635	s.EffectiveDate = &v
95636	return s
95637}
95638
95639// SetModificationResults sets the ModificationResults field's value.
95640func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
95641	s.ModificationResults = v
95642	return s
95643}
95644
95645// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
95646func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
95647	s.ReservedInstancesIds = v
95648	return s
95649}
95650
95651// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
95652func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
95653	s.ReservedInstancesModificationId = &v
95654	return s
95655}
95656
95657// SetStatus sets the Status field's value.
95658func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
95659	s.Status = &v
95660	return s
95661}
95662
95663// SetStatusMessage sets the StatusMessage field's value.
95664func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
95665	s.StatusMessage = &v
95666	return s
95667}
95668
95669// SetUpdateDate sets the UpdateDate field's value.
95670func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
95671	s.UpdateDate = &v
95672	return s
95673}
95674
95675// Describes the modification request/s.
95676type ReservedInstancesModificationResult struct {
95677	_ struct{} `type:"structure"`
95678
95679	// The ID for the Reserved Instances that were created as part of the modification
95680	// request. This field is only available when the modification is fulfilled.
95681	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
95682
95683	// The target Reserved Instances configurations supplied as part of the modification
95684	// request.
95685	TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
95686}
95687
95688// String returns the string representation
95689func (s ReservedInstancesModificationResult) String() string {
95690	return awsutil.Prettify(s)
95691}
95692
95693// GoString returns the string representation
95694func (s ReservedInstancesModificationResult) GoString() string {
95695	return s.String()
95696}
95697
95698// SetReservedInstancesId sets the ReservedInstancesId field's value.
95699func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
95700	s.ReservedInstancesId = &v
95701	return s
95702}
95703
95704// SetTargetConfiguration sets the TargetConfiguration field's value.
95705func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
95706	s.TargetConfiguration = v
95707	return s
95708}
95709
95710// Describes a Reserved Instance offering.
95711type ReservedInstancesOffering struct {
95712	_ struct{} `type:"structure"`
95713
95714	// The Availability Zone in which the Reserved Instance can be used.
95715	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
95716
95717	// The currency of the Reserved Instance offering you are purchasing. It's specified
95718	// using ISO 4217 standard currency codes. At this time, the only supported
95719	// currency is USD.
95720	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
95721
95722	// The duration of the Reserved Instance, in seconds.
95723	Duration *int64 `locationName:"duration" type:"long"`
95724
95725	// The purchase price of the Reserved Instance.
95726	FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
95727
95728	// The tenancy of the instance.
95729	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
95730
95731	// The instance type on which the Reserved Instance can be used.
95732	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
95733
95734	// Indicates whether the offering is available through the Reserved Instance
95735	// Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
95736	// this is true.
95737	Marketplace *bool `locationName:"marketplace" type:"boolean"`
95738
95739	// If convertible it can be exchanged for Reserved Instances of the same or
95740	// higher monetary value, with different configurations. If standard, it is
95741	// not possible to perform an exchange.
95742	OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
95743
95744	// The Reserved Instance offering type.
95745	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
95746
95747	// The pricing details of the Reserved Instance offering.
95748	PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
95749
95750	// The Reserved Instance product platform description.
95751	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
95752
95753	// The recurring charge tag assigned to the resource.
95754	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
95755
95756	// The ID of the Reserved Instance offering. This is the offering ID used in
95757	// GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
95758	ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
95759
95760	// Whether the Reserved Instance is applied to instances in a Region or an Availability
95761	// Zone.
95762	Scope *string `locationName:"scope" type:"string" enum:"Scope"`
95763
95764	// The usage price of the Reserved Instance, per hour.
95765	UsagePrice *float64 `locationName:"usagePrice" type:"float"`
95766}
95767
95768// String returns the string representation
95769func (s ReservedInstancesOffering) String() string {
95770	return awsutil.Prettify(s)
95771}
95772
95773// GoString returns the string representation
95774func (s ReservedInstancesOffering) GoString() string {
95775	return s.String()
95776}
95777
95778// SetAvailabilityZone sets the AvailabilityZone field's value.
95779func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
95780	s.AvailabilityZone = &v
95781	return s
95782}
95783
95784// SetCurrencyCode sets the CurrencyCode field's value.
95785func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
95786	s.CurrencyCode = &v
95787	return s
95788}
95789
95790// SetDuration sets the Duration field's value.
95791func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
95792	s.Duration = &v
95793	return s
95794}
95795
95796// SetFixedPrice sets the FixedPrice field's value.
95797func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
95798	s.FixedPrice = &v
95799	return s
95800}
95801
95802// SetInstanceTenancy sets the InstanceTenancy field's value.
95803func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
95804	s.InstanceTenancy = &v
95805	return s
95806}
95807
95808// SetInstanceType sets the InstanceType field's value.
95809func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
95810	s.InstanceType = &v
95811	return s
95812}
95813
95814// SetMarketplace sets the Marketplace field's value.
95815func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
95816	s.Marketplace = &v
95817	return s
95818}
95819
95820// SetOfferingClass sets the OfferingClass field's value.
95821func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
95822	s.OfferingClass = &v
95823	return s
95824}
95825
95826// SetOfferingType sets the OfferingType field's value.
95827func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
95828	s.OfferingType = &v
95829	return s
95830}
95831
95832// SetPricingDetails sets the PricingDetails field's value.
95833func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
95834	s.PricingDetails = v
95835	return s
95836}
95837
95838// SetProductDescription sets the ProductDescription field's value.
95839func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
95840	s.ProductDescription = &v
95841	return s
95842}
95843
95844// SetRecurringCharges sets the RecurringCharges field's value.
95845func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
95846	s.RecurringCharges = v
95847	return s
95848}
95849
95850// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
95851func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
95852	s.ReservedInstancesOfferingId = &v
95853	return s
95854}
95855
95856// SetScope sets the Scope field's value.
95857func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
95858	s.Scope = &v
95859	return s
95860}
95861
95862// SetUsagePrice sets the UsagePrice field's value.
95863func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
95864	s.UsagePrice = &v
95865	return s
95866}
95867
95868type ResetEbsDefaultKmsKeyIdInput struct {
95869	_ struct{} `type:"structure"`
95870
95871	// Checks whether you have the required permissions for the action, without
95872	// actually making the request, and provides an error response. If you have
95873	// the required permissions, the error response is DryRunOperation. Otherwise,
95874	// it is UnauthorizedOperation.
95875	DryRun *bool `type:"boolean"`
95876}
95877
95878// String returns the string representation
95879func (s ResetEbsDefaultKmsKeyIdInput) String() string {
95880	return awsutil.Prettify(s)
95881}
95882
95883// GoString returns the string representation
95884func (s ResetEbsDefaultKmsKeyIdInput) GoString() string {
95885	return s.String()
95886}
95887
95888// SetDryRun sets the DryRun field's value.
95889func (s *ResetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ResetEbsDefaultKmsKeyIdInput {
95890	s.DryRun = &v
95891	return s
95892}
95893
95894type ResetEbsDefaultKmsKeyIdOutput struct {
95895	_ struct{} `type:"structure"`
95896
95897	// The Amazon Resource Name (ARN) of the default CMK for EBS encryption by default.
95898	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
95899}
95900
95901// String returns the string representation
95902func (s ResetEbsDefaultKmsKeyIdOutput) String() string {
95903	return awsutil.Prettify(s)
95904}
95905
95906// GoString returns the string representation
95907func (s ResetEbsDefaultKmsKeyIdOutput) GoString() string {
95908	return s.String()
95909}
95910
95911// SetKmsKeyId sets the KmsKeyId field's value.
95912func (s *ResetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ResetEbsDefaultKmsKeyIdOutput {
95913	s.KmsKeyId = &v
95914	return s
95915}
95916
95917type ResetFpgaImageAttributeInput struct {
95918	_ struct{} `type:"structure"`
95919
95920	// The attribute.
95921	Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"`
95922
95923	// Checks whether you have the required permissions for the action, without
95924	// actually making the request, and provides an error response. If you have
95925	// the required permissions, the error response is DryRunOperation. Otherwise,
95926	// it is UnauthorizedOperation.
95927	DryRun *bool `type:"boolean"`
95928
95929	// The ID of the AFI.
95930	//
95931	// FpgaImageId is a required field
95932	FpgaImageId *string `type:"string" required:"true"`
95933}
95934
95935// String returns the string representation
95936func (s ResetFpgaImageAttributeInput) String() string {
95937	return awsutil.Prettify(s)
95938}
95939
95940// GoString returns the string representation
95941func (s ResetFpgaImageAttributeInput) GoString() string {
95942	return s.String()
95943}
95944
95945// Validate inspects the fields of the type to determine if they are valid.
95946func (s *ResetFpgaImageAttributeInput) Validate() error {
95947	invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"}
95948	if s.FpgaImageId == nil {
95949		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
95950	}
95951
95952	if invalidParams.Len() > 0 {
95953		return invalidParams
95954	}
95955	return nil
95956}
95957
95958// SetAttribute sets the Attribute field's value.
95959func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput {
95960	s.Attribute = &v
95961	return s
95962}
95963
95964// SetDryRun sets the DryRun field's value.
95965func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput {
95966	s.DryRun = &v
95967	return s
95968}
95969
95970// SetFpgaImageId sets the FpgaImageId field's value.
95971func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput {
95972	s.FpgaImageId = &v
95973	return s
95974}
95975
95976type ResetFpgaImageAttributeOutput struct {
95977	_ struct{} `type:"structure"`
95978
95979	// Is true if the request succeeds, and an error otherwise.
95980	Return *bool `locationName:"return" type:"boolean"`
95981}
95982
95983// String returns the string representation
95984func (s ResetFpgaImageAttributeOutput) String() string {
95985	return awsutil.Prettify(s)
95986}
95987
95988// GoString returns the string representation
95989func (s ResetFpgaImageAttributeOutput) GoString() string {
95990	return s.String()
95991}
95992
95993// SetReturn sets the Return field's value.
95994func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput {
95995	s.Return = &v
95996	return s
95997}
95998
95999// Contains the parameters for ResetImageAttribute.
96000type ResetImageAttributeInput struct {
96001	_ struct{} `type:"structure"`
96002
96003	// The attribute to reset (currently you can only reset the launch permission
96004	// attribute).
96005	//
96006	// Attribute is a required field
96007	Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
96008
96009	// Checks whether you have the required permissions for the action, without
96010	// actually making the request, and provides an error response. If you have
96011	// the required permissions, the error response is DryRunOperation. Otherwise,
96012	// it is UnauthorizedOperation.
96013	DryRun *bool `locationName:"dryRun" type:"boolean"`
96014
96015	// The ID of the AMI.
96016	//
96017	// ImageId is a required field
96018	ImageId *string `type:"string" required:"true"`
96019}
96020
96021// String returns the string representation
96022func (s ResetImageAttributeInput) String() string {
96023	return awsutil.Prettify(s)
96024}
96025
96026// GoString returns the string representation
96027func (s ResetImageAttributeInput) GoString() string {
96028	return s.String()
96029}
96030
96031// Validate inspects the fields of the type to determine if they are valid.
96032func (s *ResetImageAttributeInput) Validate() error {
96033	invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
96034	if s.Attribute == nil {
96035		invalidParams.Add(request.NewErrParamRequired("Attribute"))
96036	}
96037	if s.ImageId == nil {
96038		invalidParams.Add(request.NewErrParamRequired("ImageId"))
96039	}
96040
96041	if invalidParams.Len() > 0 {
96042		return invalidParams
96043	}
96044	return nil
96045}
96046
96047// SetAttribute sets the Attribute field's value.
96048func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
96049	s.Attribute = &v
96050	return s
96051}
96052
96053// SetDryRun sets the DryRun field's value.
96054func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
96055	s.DryRun = &v
96056	return s
96057}
96058
96059// SetImageId sets the ImageId field's value.
96060func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
96061	s.ImageId = &v
96062	return s
96063}
96064
96065type ResetImageAttributeOutput struct {
96066	_ struct{} `type:"structure"`
96067}
96068
96069// String returns the string representation
96070func (s ResetImageAttributeOutput) String() string {
96071	return awsutil.Prettify(s)
96072}
96073
96074// GoString returns the string representation
96075func (s ResetImageAttributeOutput) GoString() string {
96076	return s.String()
96077}
96078
96079type ResetInstanceAttributeInput struct {
96080	_ struct{} `type:"structure"`
96081
96082	// The attribute to reset.
96083	//
96084	// You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
96085	// To change an instance attribute, use ModifyInstanceAttribute.
96086	//
96087	// Attribute is a required field
96088	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
96089
96090	// Checks whether you have the required permissions for the action, without
96091	// actually making the request, and provides an error response. If you have
96092	// the required permissions, the error response is DryRunOperation. Otherwise,
96093	// it is UnauthorizedOperation.
96094	DryRun *bool `locationName:"dryRun" type:"boolean"`
96095
96096	// The ID of the instance.
96097	//
96098	// InstanceId is a required field
96099	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
96100}
96101
96102// String returns the string representation
96103func (s ResetInstanceAttributeInput) String() string {
96104	return awsutil.Prettify(s)
96105}
96106
96107// GoString returns the string representation
96108func (s ResetInstanceAttributeInput) GoString() string {
96109	return s.String()
96110}
96111
96112// Validate inspects the fields of the type to determine if they are valid.
96113func (s *ResetInstanceAttributeInput) Validate() error {
96114	invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
96115	if s.Attribute == nil {
96116		invalidParams.Add(request.NewErrParamRequired("Attribute"))
96117	}
96118	if s.InstanceId == nil {
96119		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
96120	}
96121
96122	if invalidParams.Len() > 0 {
96123		return invalidParams
96124	}
96125	return nil
96126}
96127
96128// SetAttribute sets the Attribute field's value.
96129func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
96130	s.Attribute = &v
96131	return s
96132}
96133
96134// SetDryRun sets the DryRun field's value.
96135func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
96136	s.DryRun = &v
96137	return s
96138}
96139
96140// SetInstanceId sets the InstanceId field's value.
96141func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
96142	s.InstanceId = &v
96143	return s
96144}
96145
96146type ResetInstanceAttributeOutput struct {
96147	_ struct{} `type:"structure"`
96148}
96149
96150// String returns the string representation
96151func (s ResetInstanceAttributeOutput) String() string {
96152	return awsutil.Prettify(s)
96153}
96154
96155// GoString returns the string representation
96156func (s ResetInstanceAttributeOutput) GoString() string {
96157	return s.String()
96158}
96159
96160// Contains the parameters for ResetNetworkInterfaceAttribute.
96161type ResetNetworkInterfaceAttributeInput struct {
96162	_ struct{} `type:"structure"`
96163
96164	// Checks whether you have the required permissions for the action, without
96165	// actually making the request, and provides an error response. If you have
96166	// the required permissions, the error response is DryRunOperation. Otherwise,
96167	// it is UnauthorizedOperation.
96168	DryRun *bool `locationName:"dryRun" type:"boolean"`
96169
96170	// The ID of the network interface.
96171	//
96172	// NetworkInterfaceId is a required field
96173	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
96174
96175	// The source/destination checking attribute. Resets the value to true.
96176	SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
96177}
96178
96179// String returns the string representation
96180func (s ResetNetworkInterfaceAttributeInput) String() string {
96181	return awsutil.Prettify(s)
96182}
96183
96184// GoString returns the string representation
96185func (s ResetNetworkInterfaceAttributeInput) GoString() string {
96186	return s.String()
96187}
96188
96189// Validate inspects the fields of the type to determine if they are valid.
96190func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
96191	invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
96192	if s.NetworkInterfaceId == nil {
96193		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
96194	}
96195
96196	if invalidParams.Len() > 0 {
96197		return invalidParams
96198	}
96199	return nil
96200}
96201
96202// SetDryRun sets the DryRun field's value.
96203func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
96204	s.DryRun = &v
96205	return s
96206}
96207
96208// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
96209func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
96210	s.NetworkInterfaceId = &v
96211	return s
96212}
96213
96214// SetSourceDestCheck sets the SourceDestCheck field's value.
96215func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
96216	s.SourceDestCheck = &v
96217	return s
96218}
96219
96220type ResetNetworkInterfaceAttributeOutput struct {
96221	_ struct{} `type:"structure"`
96222}
96223
96224// String returns the string representation
96225func (s ResetNetworkInterfaceAttributeOutput) String() string {
96226	return awsutil.Prettify(s)
96227}
96228
96229// GoString returns the string representation
96230func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
96231	return s.String()
96232}
96233
96234type ResetSnapshotAttributeInput struct {
96235	_ struct{} `type:"structure"`
96236
96237	// The attribute to reset. Currently, only the attribute for permission to create
96238	// volumes can be reset.
96239	//
96240	// Attribute is a required field
96241	Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
96242
96243	// Checks whether you have the required permissions for the action, without
96244	// actually making the request, and provides an error response. If you have
96245	// the required permissions, the error response is DryRunOperation. Otherwise,
96246	// it is UnauthorizedOperation.
96247	DryRun *bool `locationName:"dryRun" type:"boolean"`
96248
96249	// The ID of the snapshot.
96250	//
96251	// SnapshotId is a required field
96252	SnapshotId *string `type:"string" required:"true"`
96253}
96254
96255// String returns the string representation
96256func (s ResetSnapshotAttributeInput) String() string {
96257	return awsutil.Prettify(s)
96258}
96259
96260// GoString returns the string representation
96261func (s ResetSnapshotAttributeInput) GoString() string {
96262	return s.String()
96263}
96264
96265// Validate inspects the fields of the type to determine if they are valid.
96266func (s *ResetSnapshotAttributeInput) Validate() error {
96267	invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
96268	if s.Attribute == nil {
96269		invalidParams.Add(request.NewErrParamRequired("Attribute"))
96270	}
96271	if s.SnapshotId == nil {
96272		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
96273	}
96274
96275	if invalidParams.Len() > 0 {
96276		return invalidParams
96277	}
96278	return nil
96279}
96280
96281// SetAttribute sets the Attribute field's value.
96282func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
96283	s.Attribute = &v
96284	return s
96285}
96286
96287// SetDryRun sets the DryRun field's value.
96288func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
96289	s.DryRun = &v
96290	return s
96291}
96292
96293// SetSnapshotId sets the SnapshotId field's value.
96294func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
96295	s.SnapshotId = &v
96296	return s
96297}
96298
96299type ResetSnapshotAttributeOutput struct {
96300	_ struct{} `type:"structure"`
96301}
96302
96303// String returns the string representation
96304func (s ResetSnapshotAttributeOutput) String() string {
96305	return awsutil.Prettify(s)
96306}
96307
96308// GoString returns the string representation
96309func (s ResetSnapshotAttributeOutput) GoString() string {
96310	return s.String()
96311}
96312
96313// Describes the error that's returned when you cannot delete a launch template
96314// version.
96315type ResponseError struct {
96316	_ struct{} `type:"structure"`
96317
96318	// The error code.
96319	Code *string `locationName:"code" type:"string" enum:"LaunchTemplateErrorCode"`
96320
96321	// The error message, if applicable.
96322	Message *string `locationName:"message" type:"string"`
96323}
96324
96325// String returns the string representation
96326func (s ResponseError) String() string {
96327	return awsutil.Prettify(s)
96328}
96329
96330// GoString returns the string representation
96331func (s ResponseError) GoString() string {
96332	return s.String()
96333}
96334
96335// SetCode sets the Code field's value.
96336func (s *ResponseError) SetCode(v string) *ResponseError {
96337	s.Code = &v
96338	return s
96339}
96340
96341// SetMessage sets the Message field's value.
96342func (s *ResponseError) SetMessage(v string) *ResponseError {
96343	s.Message = &v
96344	return s
96345}
96346
96347// The information for a launch template.
96348type ResponseLaunchTemplateData struct {
96349	_ struct{} `type:"structure"`
96350
96351	// The block device mappings.
96352	BlockDeviceMappings []*LaunchTemplateBlockDeviceMapping `locationName:"blockDeviceMappingSet" locationNameList:"item" type:"list"`
96353
96354	// Information about the Capacity Reservation targeting option.
96355	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
96356
96357	// The CPU options for the instance. For more information, see Optimizing CPU
96358	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
96359	// in the Amazon Elastic Compute Cloud User Guide.
96360	CpuOptions *LaunchTemplateCpuOptions `locationName:"cpuOptions" type:"structure"`
96361
96362	// The credit option for CPU usage of the instance.
96363	CreditSpecification *CreditSpecification `locationName:"creditSpecification" type:"structure"`
96364
96365	// If set to true, indicates that the instance cannot be terminated using the
96366	// Amazon EC2 console, command line tool, or API.
96367	DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
96368
96369	// Indicates whether the instance is optimized for Amazon EBS I/O.
96370	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
96371
96372	// The elastic GPU specification.
96373	ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"`
96374
96375	// The elastic inference accelerator for the instance.
96376	ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAcceleratorResponse `locationName:"elasticInferenceAcceleratorSet" locationNameList:"item" type:"list"`
96377
96378	// Indicates whether an instance is configured for hibernation. For more information,
96379	// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
96380	// in the Amazon Elastic Compute Cloud User Guide.
96381	HibernationOptions *LaunchTemplateHibernationOptions `locationName:"hibernationOptions" type:"structure"`
96382
96383	// The IAM instance profile.
96384	IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
96385
96386	// The ID of the AMI that was used to launch the instance.
96387	ImageId *string `locationName:"imageId" type:"string"`
96388
96389	// Indicates whether an instance stops or terminates when you initiate shutdown
96390	// from the instance (using the operating system command for system shutdown).
96391	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
96392
96393	// The market (purchasing) option for the instances.
96394	InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"`
96395
96396	// The instance type.
96397	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
96398
96399	// The ID of the kernel, if applicable.
96400	KernelId *string `locationName:"kernelId" type:"string"`
96401
96402	// The name of the key pair.
96403	KeyName *string `locationName:"keyName" type:"string"`
96404
96405	// The license configurations.
96406	LicenseSpecifications []*LaunchTemplateLicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
96407
96408	// The metadata options for the instance. For more information, see Instance
96409	// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
96410	// in the Amazon Elastic Compute Cloud User Guide.
96411	MetadataOptions *LaunchTemplateInstanceMetadataOptions `locationName:"metadataOptions" type:"structure"`
96412
96413	// The monitoring for the instance.
96414	Monitoring *LaunchTemplatesMonitoring `locationName:"monitoring" type:"structure"`
96415
96416	// The network interfaces.
96417	NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
96418
96419	// The placement of the instance.
96420	Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"`
96421
96422	// The ID of the RAM disk, if applicable.
96423	RamDiskId *string `locationName:"ramDiskId" type:"string"`
96424
96425	// The security group IDs.
96426	SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
96427
96428	// The security group names.
96429	SecurityGroups []*string `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
96430
96431	// The tags.
96432	TagSpecifications []*LaunchTemplateTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
96433
96434	// The user data for the instance.
96435	UserData *string `locationName:"userData" type:"string"`
96436}
96437
96438// String returns the string representation
96439func (s ResponseLaunchTemplateData) String() string {
96440	return awsutil.Prettify(s)
96441}
96442
96443// GoString returns the string representation
96444func (s ResponseLaunchTemplateData) GoString() string {
96445	return s.String()
96446}
96447
96448// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
96449func (s *ResponseLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMapping) *ResponseLaunchTemplateData {
96450	s.BlockDeviceMappings = v
96451	return s
96452}
96453
96454// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
96455func (s *ResponseLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationResponse) *ResponseLaunchTemplateData {
96456	s.CapacityReservationSpecification = v
96457	return s
96458}
96459
96460// SetCpuOptions sets the CpuOptions field's value.
96461func (s *ResponseLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptions) *ResponseLaunchTemplateData {
96462	s.CpuOptions = v
96463	return s
96464}
96465
96466// SetCreditSpecification sets the CreditSpecification field's value.
96467func (s *ResponseLaunchTemplateData) SetCreditSpecification(v *CreditSpecification) *ResponseLaunchTemplateData {
96468	s.CreditSpecification = v
96469	return s
96470}
96471
96472// SetDisableApiTermination sets the DisableApiTermination field's value.
96473func (s *ResponseLaunchTemplateData) SetDisableApiTermination(v bool) *ResponseLaunchTemplateData {
96474	s.DisableApiTermination = &v
96475	return s
96476}
96477
96478// SetEbsOptimized sets the EbsOptimized field's value.
96479func (s *ResponseLaunchTemplateData) SetEbsOptimized(v bool) *ResponseLaunchTemplateData {
96480	s.EbsOptimized = &v
96481	return s
96482}
96483
96484// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
96485func (s *ResponseLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecificationResponse) *ResponseLaunchTemplateData {
96486	s.ElasticGpuSpecifications = v
96487	return s
96488}
96489
96490// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
96491func (s *ResponseLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAcceleratorResponse) *ResponseLaunchTemplateData {
96492	s.ElasticInferenceAccelerators = v
96493	return s
96494}
96495
96496// SetHibernationOptions sets the HibernationOptions field's value.
96497func (s *ResponseLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptions) *ResponseLaunchTemplateData {
96498	s.HibernationOptions = v
96499	return s
96500}
96501
96502// SetIamInstanceProfile sets the IamInstanceProfile field's value.
96503func (s *ResponseLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecification) *ResponseLaunchTemplateData {
96504	s.IamInstanceProfile = v
96505	return s
96506}
96507
96508// SetImageId sets the ImageId field's value.
96509func (s *ResponseLaunchTemplateData) SetImageId(v string) *ResponseLaunchTemplateData {
96510	s.ImageId = &v
96511	return s
96512}
96513
96514// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
96515func (s *ResponseLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *ResponseLaunchTemplateData {
96516	s.InstanceInitiatedShutdownBehavior = &v
96517	return s
96518}
96519
96520// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
96521func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptions) *ResponseLaunchTemplateData {
96522	s.InstanceMarketOptions = v
96523	return s
96524}
96525
96526// SetInstanceType sets the InstanceType field's value.
96527func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData {
96528	s.InstanceType = &v
96529	return s
96530}
96531
96532// SetKernelId sets the KernelId field's value.
96533func (s *ResponseLaunchTemplateData) SetKernelId(v string) *ResponseLaunchTemplateData {
96534	s.KernelId = &v
96535	return s
96536}
96537
96538// SetKeyName sets the KeyName field's value.
96539func (s *ResponseLaunchTemplateData) SetKeyName(v string) *ResponseLaunchTemplateData {
96540	s.KeyName = &v
96541	return s
96542}
96543
96544// SetLicenseSpecifications sets the LicenseSpecifications field's value.
96545func (s *ResponseLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfiguration) *ResponseLaunchTemplateData {
96546	s.LicenseSpecifications = v
96547	return s
96548}
96549
96550// SetMetadataOptions sets the MetadataOptions field's value.
96551func (s *ResponseLaunchTemplateData) SetMetadataOptions(v *LaunchTemplateInstanceMetadataOptions) *ResponseLaunchTemplateData {
96552	s.MetadataOptions = v
96553	return s
96554}
96555
96556// SetMonitoring sets the Monitoring field's value.
96557func (s *ResponseLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoring) *ResponseLaunchTemplateData {
96558	s.Monitoring = v
96559	return s
96560}
96561
96562// SetNetworkInterfaces sets the NetworkInterfaces field's value.
96563func (s *ResponseLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecification) *ResponseLaunchTemplateData {
96564	s.NetworkInterfaces = v
96565	return s
96566}
96567
96568// SetPlacement sets the Placement field's value.
96569func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *ResponseLaunchTemplateData {
96570	s.Placement = v
96571	return s
96572}
96573
96574// SetRamDiskId sets the RamDiskId field's value.
96575func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData {
96576	s.RamDiskId = &v
96577	return s
96578}
96579
96580// SetSecurityGroupIds sets the SecurityGroupIds field's value.
96581func (s *ResponseLaunchTemplateData) SetSecurityGroupIds(v []*string) *ResponseLaunchTemplateData {
96582	s.SecurityGroupIds = v
96583	return s
96584}
96585
96586// SetSecurityGroups sets the SecurityGroups field's value.
96587func (s *ResponseLaunchTemplateData) SetSecurityGroups(v []*string) *ResponseLaunchTemplateData {
96588	s.SecurityGroups = v
96589	return s
96590}
96591
96592// SetTagSpecifications sets the TagSpecifications field's value.
96593func (s *ResponseLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecification) *ResponseLaunchTemplateData {
96594	s.TagSpecifications = v
96595	return s
96596}
96597
96598// SetUserData sets the UserData field's value.
96599func (s *ResponseLaunchTemplateData) SetUserData(v string) *ResponseLaunchTemplateData {
96600	s.UserData = &v
96601	return s
96602}
96603
96604type RestoreAddressToClassicInput struct {
96605	_ struct{} `type:"structure"`
96606
96607	// Checks whether you have the required permissions for the action, without
96608	// actually making the request, and provides an error response. If you have
96609	// the required permissions, the error response is DryRunOperation. Otherwise,
96610	// it is UnauthorizedOperation.
96611	DryRun *bool `locationName:"dryRun" type:"boolean"`
96612
96613	// The Elastic IP address.
96614	//
96615	// PublicIp is a required field
96616	PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
96617}
96618
96619// String returns the string representation
96620func (s RestoreAddressToClassicInput) String() string {
96621	return awsutil.Prettify(s)
96622}
96623
96624// GoString returns the string representation
96625func (s RestoreAddressToClassicInput) GoString() string {
96626	return s.String()
96627}
96628
96629// Validate inspects the fields of the type to determine if they are valid.
96630func (s *RestoreAddressToClassicInput) Validate() error {
96631	invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
96632	if s.PublicIp == nil {
96633		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
96634	}
96635
96636	if invalidParams.Len() > 0 {
96637		return invalidParams
96638	}
96639	return nil
96640}
96641
96642// SetDryRun sets the DryRun field's value.
96643func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
96644	s.DryRun = &v
96645	return s
96646}
96647
96648// SetPublicIp sets the PublicIp field's value.
96649func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
96650	s.PublicIp = &v
96651	return s
96652}
96653
96654type RestoreAddressToClassicOutput struct {
96655	_ struct{} `type:"structure"`
96656
96657	// The Elastic IP address.
96658	PublicIp *string `locationName:"publicIp" type:"string"`
96659
96660	// The move status for the IP address.
96661	Status *string `locationName:"status" type:"string" enum:"Status"`
96662}
96663
96664// String returns the string representation
96665func (s RestoreAddressToClassicOutput) String() string {
96666	return awsutil.Prettify(s)
96667}
96668
96669// GoString returns the string representation
96670func (s RestoreAddressToClassicOutput) GoString() string {
96671	return s.String()
96672}
96673
96674// SetPublicIp sets the PublicIp field's value.
96675func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
96676	s.PublicIp = &v
96677	return s
96678}
96679
96680// SetStatus sets the Status field's value.
96681func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
96682	s.Status = &v
96683	return s
96684}
96685
96686type RevokeClientVpnIngressInput struct {
96687	_ struct{} `type:"structure"`
96688
96689	// The ID of the Active Directory group for which to revoke access.
96690	AccessGroupId *string `type:"string"`
96691
96692	// The ID of the Client VPN endpoint with which the authorization rule is associated.
96693	//
96694	// ClientVpnEndpointId is a required field
96695	ClientVpnEndpointId *string `type:"string" required:"true"`
96696
96697	// Checks whether you have the required permissions for the action, without
96698	// actually making the request, and provides an error response. If you have
96699	// the required permissions, the error response is DryRunOperation. Otherwise,
96700	// it is UnauthorizedOperation.
96701	DryRun *bool `type:"boolean"`
96702
96703	// Indicates whether access should be revoked for all clients.
96704	RevokeAllGroups *bool `type:"boolean"`
96705
96706	// The IPv4 address range, in CIDR notation, of the network for which access
96707	// is being removed.
96708	//
96709	// TargetNetworkCidr is a required field
96710	TargetNetworkCidr *string `type:"string" required:"true"`
96711}
96712
96713// String returns the string representation
96714func (s RevokeClientVpnIngressInput) String() string {
96715	return awsutil.Prettify(s)
96716}
96717
96718// GoString returns the string representation
96719func (s RevokeClientVpnIngressInput) GoString() string {
96720	return s.String()
96721}
96722
96723// Validate inspects the fields of the type to determine if they are valid.
96724func (s *RevokeClientVpnIngressInput) Validate() error {
96725	invalidParams := request.ErrInvalidParams{Context: "RevokeClientVpnIngressInput"}
96726	if s.ClientVpnEndpointId == nil {
96727		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
96728	}
96729	if s.TargetNetworkCidr == nil {
96730		invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
96731	}
96732
96733	if invalidParams.Len() > 0 {
96734		return invalidParams
96735	}
96736	return nil
96737}
96738
96739// SetAccessGroupId sets the AccessGroupId field's value.
96740func (s *RevokeClientVpnIngressInput) SetAccessGroupId(v string) *RevokeClientVpnIngressInput {
96741	s.AccessGroupId = &v
96742	return s
96743}
96744
96745// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
96746func (s *RevokeClientVpnIngressInput) SetClientVpnEndpointId(v string) *RevokeClientVpnIngressInput {
96747	s.ClientVpnEndpointId = &v
96748	return s
96749}
96750
96751// SetDryRun sets the DryRun field's value.
96752func (s *RevokeClientVpnIngressInput) SetDryRun(v bool) *RevokeClientVpnIngressInput {
96753	s.DryRun = &v
96754	return s
96755}
96756
96757// SetRevokeAllGroups sets the RevokeAllGroups field's value.
96758func (s *RevokeClientVpnIngressInput) SetRevokeAllGroups(v bool) *RevokeClientVpnIngressInput {
96759	s.RevokeAllGroups = &v
96760	return s
96761}
96762
96763// SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
96764func (s *RevokeClientVpnIngressInput) SetTargetNetworkCidr(v string) *RevokeClientVpnIngressInput {
96765	s.TargetNetworkCidr = &v
96766	return s
96767}
96768
96769type RevokeClientVpnIngressOutput struct {
96770	_ struct{} `type:"structure"`
96771
96772	// The current state of the authorization rule.
96773	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
96774}
96775
96776// String returns the string representation
96777func (s RevokeClientVpnIngressOutput) String() string {
96778	return awsutil.Prettify(s)
96779}
96780
96781// GoString returns the string representation
96782func (s RevokeClientVpnIngressOutput) GoString() string {
96783	return s.String()
96784}
96785
96786// SetStatus sets the Status field's value.
96787func (s *RevokeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *RevokeClientVpnIngressOutput {
96788	s.Status = v
96789	return s
96790}
96791
96792type RevokeSecurityGroupEgressInput struct {
96793	_ struct{} `type:"structure"`
96794
96795	// Not supported. Use a set of IP permissions to specify the CIDR.
96796	CidrIp *string `locationName:"cidrIp" type:"string"`
96797
96798	// Checks whether you have the required permissions for the action, without
96799	// actually making the request, and provides an error response. If you have
96800	// the required permissions, the error response is DryRunOperation. Otherwise,
96801	// it is UnauthorizedOperation.
96802	DryRun *bool `locationName:"dryRun" type:"boolean"`
96803
96804	// Not supported. Use a set of IP permissions to specify the port.
96805	FromPort *int64 `locationName:"fromPort" type:"integer"`
96806
96807	// The ID of the security group.
96808	//
96809	// GroupId is a required field
96810	GroupId *string `locationName:"groupId" type:"string" required:"true"`
96811
96812	// The sets of IP permissions. You can't specify a destination security group
96813	// and a CIDR IP address range in the same set of permissions.
96814	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
96815
96816	// Not supported. Use a set of IP permissions to specify the protocol name or
96817	// number.
96818	IpProtocol *string `locationName:"ipProtocol" type:"string"`
96819
96820	// Not supported. Use a set of IP permissions to specify a destination security
96821	// group.
96822	SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
96823
96824	// Not supported. Use a set of IP permissions to specify a destination security
96825	// group.
96826	SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
96827
96828	// Not supported. Use a set of IP permissions to specify the port.
96829	ToPort *int64 `locationName:"toPort" type:"integer"`
96830}
96831
96832// String returns the string representation
96833func (s RevokeSecurityGroupEgressInput) String() string {
96834	return awsutil.Prettify(s)
96835}
96836
96837// GoString returns the string representation
96838func (s RevokeSecurityGroupEgressInput) GoString() string {
96839	return s.String()
96840}
96841
96842// Validate inspects the fields of the type to determine if they are valid.
96843func (s *RevokeSecurityGroupEgressInput) Validate() error {
96844	invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
96845	if s.GroupId == nil {
96846		invalidParams.Add(request.NewErrParamRequired("GroupId"))
96847	}
96848
96849	if invalidParams.Len() > 0 {
96850		return invalidParams
96851	}
96852	return nil
96853}
96854
96855// SetCidrIp sets the CidrIp field's value.
96856func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
96857	s.CidrIp = &v
96858	return s
96859}
96860
96861// SetDryRun sets the DryRun field's value.
96862func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
96863	s.DryRun = &v
96864	return s
96865}
96866
96867// SetFromPort sets the FromPort field's value.
96868func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
96869	s.FromPort = &v
96870	return s
96871}
96872
96873// SetGroupId sets the GroupId field's value.
96874func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
96875	s.GroupId = &v
96876	return s
96877}
96878
96879// SetIpPermissions sets the IpPermissions field's value.
96880func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
96881	s.IpPermissions = v
96882	return s
96883}
96884
96885// SetIpProtocol sets the IpProtocol field's value.
96886func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
96887	s.IpProtocol = &v
96888	return s
96889}
96890
96891// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
96892func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
96893	s.SourceSecurityGroupName = &v
96894	return s
96895}
96896
96897// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
96898func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
96899	s.SourceSecurityGroupOwnerId = &v
96900	return s
96901}
96902
96903// SetToPort sets the ToPort field's value.
96904func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
96905	s.ToPort = &v
96906	return s
96907}
96908
96909type RevokeSecurityGroupEgressOutput struct {
96910	_ struct{} `type:"structure"`
96911}
96912
96913// String returns the string representation
96914func (s RevokeSecurityGroupEgressOutput) String() string {
96915	return awsutil.Prettify(s)
96916}
96917
96918// GoString returns the string representation
96919func (s RevokeSecurityGroupEgressOutput) GoString() string {
96920	return s.String()
96921}
96922
96923type RevokeSecurityGroupIngressInput struct {
96924	_ struct{} `type:"structure"`
96925
96926	// The CIDR IP address range. You can't specify this parameter when specifying
96927	// a source security group.
96928	CidrIp *string `type:"string"`
96929
96930	// Checks whether you have the required permissions for the action, without
96931	// actually making the request, and provides an error response. If you have
96932	// the required permissions, the error response is DryRunOperation. Otherwise,
96933	// it is UnauthorizedOperation.
96934	DryRun *bool `locationName:"dryRun" type:"boolean"`
96935
96936	// The start of port range for the TCP and UDP protocols, or an ICMP type number.
96937	// For the ICMP type number, use -1 to specify all ICMP types.
96938	FromPort *int64 `type:"integer"`
96939
96940	// The ID of the security group. You must specify either the security group
96941	// ID or the security group name in the request. For security groups in a nondefault
96942	// VPC, you must specify the security group ID.
96943	GroupId *string `type:"string"`
96944
96945	// [EC2-Classic, default VPC] The name of the security group. You must specify
96946	// either the security group ID or the security group name in the request.
96947	GroupName *string `type:"string"`
96948
96949	// The sets of IP permissions. You can't specify a source security group and
96950	// a CIDR IP address range in the same set of permissions.
96951	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
96952
96953	// The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
96954	// Use -1 to specify all.
96955	IpProtocol *string `type:"string"`
96956
96957	// [EC2-Classic, default VPC] The name of the source security group. You can't
96958	// specify this parameter in combination with the following parameters: the
96959	// CIDR IP address range, the start of the port range, the IP protocol, and
96960	// the end of the port range. For EC2-VPC, the source security group must be
96961	// in the same VPC. To revoke a specific rule for an IP protocol and port range,
96962	// use a set of IP permissions instead.
96963	SourceSecurityGroupName *string `type:"string"`
96964
96965	// [EC2-Classic] The AWS account ID of the source security group, if the source
96966	// security group is in a different account. You can't specify this parameter
96967	// in combination with the following parameters: the CIDR IP address range,
96968	// the IP protocol, the start of the port range, and the end of the port range.
96969	// To revoke a specific rule for an IP protocol and port range, use a set of
96970	// IP permissions instead.
96971	SourceSecurityGroupOwnerId *string `type:"string"`
96972
96973	// The end of port range for the TCP and UDP protocols, or an ICMP code number.
96974	// For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
96975	ToPort *int64 `type:"integer"`
96976}
96977
96978// String returns the string representation
96979func (s RevokeSecurityGroupIngressInput) String() string {
96980	return awsutil.Prettify(s)
96981}
96982
96983// GoString returns the string representation
96984func (s RevokeSecurityGroupIngressInput) GoString() string {
96985	return s.String()
96986}
96987
96988// SetCidrIp sets the CidrIp field's value.
96989func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
96990	s.CidrIp = &v
96991	return s
96992}
96993
96994// SetDryRun sets the DryRun field's value.
96995func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
96996	s.DryRun = &v
96997	return s
96998}
96999
97000// SetFromPort sets the FromPort field's value.
97001func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
97002	s.FromPort = &v
97003	return s
97004}
97005
97006// SetGroupId sets the GroupId field's value.
97007func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
97008	s.GroupId = &v
97009	return s
97010}
97011
97012// SetGroupName sets the GroupName field's value.
97013func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
97014	s.GroupName = &v
97015	return s
97016}
97017
97018// SetIpPermissions sets the IpPermissions field's value.
97019func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
97020	s.IpPermissions = v
97021	return s
97022}
97023
97024// SetIpProtocol sets the IpProtocol field's value.
97025func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
97026	s.IpProtocol = &v
97027	return s
97028}
97029
97030// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
97031func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
97032	s.SourceSecurityGroupName = &v
97033	return s
97034}
97035
97036// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
97037func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
97038	s.SourceSecurityGroupOwnerId = &v
97039	return s
97040}
97041
97042// SetToPort sets the ToPort field's value.
97043func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
97044	s.ToPort = &v
97045	return s
97046}
97047
97048type RevokeSecurityGroupIngressOutput struct {
97049	_ struct{} `type:"structure"`
97050}
97051
97052// String returns the string representation
97053func (s RevokeSecurityGroupIngressOutput) String() string {
97054	return awsutil.Prettify(s)
97055}
97056
97057// GoString returns the string representation
97058func (s RevokeSecurityGroupIngressOutput) GoString() string {
97059	return s.String()
97060}
97061
97062// Describes a route in a route table.
97063type Route struct {
97064	_ struct{} `type:"structure"`
97065
97066	// The IPv4 CIDR block used for the destination match.
97067	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
97068
97069	// The IPv6 CIDR block used for the destination match.
97070	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
97071
97072	// The prefix of the AWS service.
97073	DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
97074
97075	// The ID of the egress-only internet gateway.
97076	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
97077
97078	// The ID of a gateway attached to your VPC.
97079	GatewayId *string `locationName:"gatewayId" type:"string"`
97080
97081	// The ID of a NAT instance in your VPC.
97082	InstanceId *string `locationName:"instanceId" type:"string"`
97083
97084	// The AWS account ID of the owner of the instance.
97085	InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
97086
97087	// The ID of the local gateway.
97088	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
97089
97090	// The ID of a NAT gateway.
97091	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
97092
97093	// The ID of the network interface.
97094	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
97095
97096	// Describes how the route was created.
97097	//
97098	//    * CreateRouteTable - The route was automatically created when the route
97099	//    table was created.
97100	//
97101	//    * CreateRoute - The route was manually added to the route table.
97102	//
97103	//    * EnableVgwRoutePropagation - The route was propagated by route propagation.
97104	Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
97105
97106	// The state of the route. The blackhole state indicates that the route's target
97107	// isn't available (for example, the specified gateway isn't attached to the
97108	// VPC, or the specified NAT instance has been terminated).
97109	State *string `locationName:"state" type:"string" enum:"RouteState"`
97110
97111	// The ID of a transit gateway.
97112	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
97113
97114	// The ID of a VPC peering connection.
97115	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
97116}
97117
97118// String returns the string representation
97119func (s Route) String() string {
97120	return awsutil.Prettify(s)
97121}
97122
97123// GoString returns the string representation
97124func (s Route) GoString() string {
97125	return s.String()
97126}
97127
97128// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
97129func (s *Route) SetDestinationCidrBlock(v string) *Route {
97130	s.DestinationCidrBlock = &v
97131	return s
97132}
97133
97134// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
97135func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
97136	s.DestinationIpv6CidrBlock = &v
97137	return s
97138}
97139
97140// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
97141func (s *Route) SetDestinationPrefixListId(v string) *Route {
97142	s.DestinationPrefixListId = &v
97143	return s
97144}
97145
97146// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
97147func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
97148	s.EgressOnlyInternetGatewayId = &v
97149	return s
97150}
97151
97152// SetGatewayId sets the GatewayId field's value.
97153func (s *Route) SetGatewayId(v string) *Route {
97154	s.GatewayId = &v
97155	return s
97156}
97157
97158// SetInstanceId sets the InstanceId field's value.
97159func (s *Route) SetInstanceId(v string) *Route {
97160	s.InstanceId = &v
97161	return s
97162}
97163
97164// SetInstanceOwnerId sets the InstanceOwnerId field's value.
97165func (s *Route) SetInstanceOwnerId(v string) *Route {
97166	s.InstanceOwnerId = &v
97167	return s
97168}
97169
97170// SetLocalGatewayId sets the LocalGatewayId field's value.
97171func (s *Route) SetLocalGatewayId(v string) *Route {
97172	s.LocalGatewayId = &v
97173	return s
97174}
97175
97176// SetNatGatewayId sets the NatGatewayId field's value.
97177func (s *Route) SetNatGatewayId(v string) *Route {
97178	s.NatGatewayId = &v
97179	return s
97180}
97181
97182// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
97183func (s *Route) SetNetworkInterfaceId(v string) *Route {
97184	s.NetworkInterfaceId = &v
97185	return s
97186}
97187
97188// SetOrigin sets the Origin field's value.
97189func (s *Route) SetOrigin(v string) *Route {
97190	s.Origin = &v
97191	return s
97192}
97193
97194// SetState sets the State field's value.
97195func (s *Route) SetState(v string) *Route {
97196	s.State = &v
97197	return s
97198}
97199
97200// SetTransitGatewayId sets the TransitGatewayId field's value.
97201func (s *Route) SetTransitGatewayId(v string) *Route {
97202	s.TransitGatewayId = &v
97203	return s
97204}
97205
97206// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
97207func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
97208	s.VpcPeeringConnectionId = &v
97209	return s
97210}
97211
97212// Describes a route table.
97213type RouteTable struct {
97214	_ struct{} `type:"structure"`
97215
97216	// The associations between the route table and one or more subnets or a gateway.
97217	Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
97218
97219	// The ID of the AWS account that owns the route table.
97220	OwnerId *string `locationName:"ownerId" type:"string"`
97221
97222	// Any virtual private gateway (VGW) propagating routes.
97223	PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
97224
97225	// The ID of the route table.
97226	RouteTableId *string `locationName:"routeTableId" type:"string"`
97227
97228	// The routes in the route table.
97229	Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
97230
97231	// Any tags assigned to the route table.
97232	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
97233
97234	// The ID of the VPC.
97235	VpcId *string `locationName:"vpcId" type:"string"`
97236}
97237
97238// String returns the string representation
97239func (s RouteTable) String() string {
97240	return awsutil.Prettify(s)
97241}
97242
97243// GoString returns the string representation
97244func (s RouteTable) GoString() string {
97245	return s.String()
97246}
97247
97248// SetAssociations sets the Associations field's value.
97249func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
97250	s.Associations = v
97251	return s
97252}
97253
97254// SetOwnerId sets the OwnerId field's value.
97255func (s *RouteTable) SetOwnerId(v string) *RouteTable {
97256	s.OwnerId = &v
97257	return s
97258}
97259
97260// SetPropagatingVgws sets the PropagatingVgws field's value.
97261func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
97262	s.PropagatingVgws = v
97263	return s
97264}
97265
97266// SetRouteTableId sets the RouteTableId field's value.
97267func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
97268	s.RouteTableId = &v
97269	return s
97270}
97271
97272// SetRoutes sets the Routes field's value.
97273func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
97274	s.Routes = v
97275	return s
97276}
97277
97278// SetTags sets the Tags field's value.
97279func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
97280	s.Tags = v
97281	return s
97282}
97283
97284// SetVpcId sets the VpcId field's value.
97285func (s *RouteTable) SetVpcId(v string) *RouteTable {
97286	s.VpcId = &v
97287	return s
97288}
97289
97290// Describes an association between a route table and a subnet or gateway.
97291type RouteTableAssociation struct {
97292	_ struct{} `type:"structure"`
97293
97294	// The state of the association.
97295	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
97296
97297	// The ID of the internet gateway or virtual private gateway.
97298	GatewayId *string `locationName:"gatewayId" type:"string"`
97299
97300	// Indicates whether this is the main route table.
97301	Main *bool `locationName:"main" type:"boolean"`
97302
97303	// The ID of the association.
97304	RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
97305
97306	// The ID of the route table.
97307	RouteTableId *string `locationName:"routeTableId" type:"string"`
97308
97309	// The ID of the subnet. A subnet ID is not returned for an implicit association.
97310	SubnetId *string `locationName:"subnetId" type:"string"`
97311}
97312
97313// String returns the string representation
97314func (s RouteTableAssociation) String() string {
97315	return awsutil.Prettify(s)
97316}
97317
97318// GoString returns the string representation
97319func (s RouteTableAssociation) GoString() string {
97320	return s.String()
97321}
97322
97323// SetAssociationState sets the AssociationState field's value.
97324func (s *RouteTableAssociation) SetAssociationState(v *RouteTableAssociationState) *RouteTableAssociation {
97325	s.AssociationState = v
97326	return s
97327}
97328
97329// SetGatewayId sets the GatewayId field's value.
97330func (s *RouteTableAssociation) SetGatewayId(v string) *RouteTableAssociation {
97331	s.GatewayId = &v
97332	return s
97333}
97334
97335// SetMain sets the Main field's value.
97336func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
97337	s.Main = &v
97338	return s
97339}
97340
97341// SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
97342func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
97343	s.RouteTableAssociationId = &v
97344	return s
97345}
97346
97347// SetRouteTableId sets the RouteTableId field's value.
97348func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
97349	s.RouteTableId = &v
97350	return s
97351}
97352
97353// SetSubnetId sets the SubnetId field's value.
97354func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
97355	s.SubnetId = &v
97356	return s
97357}
97358
97359// Describes the state of an association between a route table and a subnet
97360// or gateway.
97361type RouteTableAssociationState struct {
97362	_ struct{} `type:"structure"`
97363
97364	// The state of the association.
97365	State *string `locationName:"state" type:"string" enum:"RouteTableAssociationStateCode"`
97366
97367	// The status message, if applicable.
97368	StatusMessage *string `locationName:"statusMessage" type:"string"`
97369}
97370
97371// String returns the string representation
97372func (s RouteTableAssociationState) String() string {
97373	return awsutil.Prettify(s)
97374}
97375
97376// GoString returns the string representation
97377func (s RouteTableAssociationState) GoString() string {
97378	return s.String()
97379}
97380
97381// SetState sets the State field's value.
97382func (s *RouteTableAssociationState) SetState(v string) *RouteTableAssociationState {
97383	s.State = &v
97384	return s
97385}
97386
97387// SetStatusMessage sets the StatusMessage field's value.
97388func (s *RouteTableAssociationState) SetStatusMessage(v string) *RouteTableAssociationState {
97389	s.StatusMessage = &v
97390	return s
97391}
97392
97393type RunInstancesInput struct {
97394	_ struct{} `type:"structure"`
97395
97396	// Reserved.
97397	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
97398
97399	// The block device mapping entries.
97400	BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
97401
97402	// Information about the Capacity Reservation targeting option. If you do not
97403	// specify this parameter, the instance's Capacity Reservation preference defaults
97404	// to open, which enables it to run in any open Capacity Reservation that has
97405	// matching attributes (instance type, platform, Availability Zone).
97406	CapacityReservationSpecification *CapacityReservationSpecification `type:"structure"`
97407
97408	// Unique, case-sensitive identifier you provide to ensure the idempotency of
97409	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
97410	//
97411	// Constraints: Maximum 64 ASCII characters
97412	ClientToken *string `locationName:"clientToken" type:"string"`
97413
97414	// The CPU options for the instance. For more information, see Optimizing CPU
97415	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
97416	// in the Amazon Elastic Compute Cloud User Guide.
97417	CpuOptions *CpuOptionsRequest `type:"structure"`
97418
97419	// The credit option for CPU usage of the burstable performance instance. Valid
97420	// values are standard and unlimited. To change this attribute after launch,
97421	// use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html).
97422	// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
97423	// in the Amazon Elastic Compute Cloud User Guide.
97424	//
97425	// Default: standard (T2 instances) or unlimited (T3/T3a instances)
97426	CreditSpecification *CreditSpecificationRequest `type:"structure"`
97427
97428	// If you set this parameter to true, you can't terminate the instance using
97429	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
97430	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
97431	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
97432	// you can terminate the instance by running the shutdown command from the instance.
97433	//
97434	// Default: false
97435	DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
97436
97437	// Checks whether you have the required permissions for the action, without
97438	// actually making the request, and provides an error response. If you have
97439	// the required permissions, the error response is DryRunOperation. Otherwise,
97440	// it is UnauthorizedOperation.
97441	DryRun *bool `locationName:"dryRun" type:"boolean"`
97442
97443	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
97444	// provides dedicated throughput to Amazon EBS and an optimized configuration
97445	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
97446	// available with all instance types. Additional usage charges apply when using
97447	// an EBS-optimized instance.
97448	//
97449	// Default: false
97450	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
97451
97452	// An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource
97453	// that you can attach to your Windows instance to accelerate the graphics performance
97454	// of your applications. For more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html)
97455	// in the Amazon Elastic Compute Cloud User Guide.
97456	ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
97457
97458	// An elastic inference accelerator to associate with the instance. Elastic
97459	// inference accelerators are a resource you can attach to your Amazon EC2 instances
97460	// to accelerate your Deep Learning (DL) inference workloads.
97461	ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
97462
97463	// Indicates whether an instance is enabled for hibernation. For more information,
97464	// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
97465	// in the Amazon Elastic Compute Cloud User Guide.
97466	HibernationOptions *HibernationOptionsRequest `type:"structure"`
97467
97468	// The IAM instance profile.
97469	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
97470
97471	// The ID of the AMI. An AMI ID is required to launch an instance and must be
97472	// specified here or in a launch template.
97473	ImageId *string `type:"string"`
97474
97475	// Indicates whether an instance stops or terminates when you initiate shutdown
97476	// from the instance (using the operating system command for system shutdown).
97477	//
97478	// Default: stop
97479	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
97480
97481	// The market (purchasing) option for the instances.
97482	//
97483	// For RunInstances, persistent Spot Instance requests are only supported when
97484	// InstanceInterruptionBehavior is set to either hibernate or stop.
97485	InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"`
97486
97487	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
97488	// in the Amazon Elastic Compute Cloud User Guide.
97489	//
97490	// Default: m1.small
97491	InstanceType *string `type:"string" enum:"InstanceType"`
97492
97493	// [EC2-VPC] The number of IPv6 addresses to associate with the primary network
97494	// interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
97495	// You cannot specify this option and the option to assign specific IPv6 addresses
97496	// in the same request. You can specify this option if you've specified a minimum
97497	// number of instances to launch.
97498	//
97499	// You cannot specify this option and the network interfaces option in the same
97500	// request.
97501	Ipv6AddressCount *int64 `type:"integer"`
97502
97503	// [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with
97504	// the primary network interface. You cannot specify this option and the option
97505	// to assign a number of IPv6 addresses in the same request. You cannot specify
97506	// this option if you've specified a minimum number of instances to launch.
97507	//
97508	// You cannot specify this option and the network interfaces option in the same
97509	// request.
97510	Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
97511
97512	// The ID of the kernel.
97513	//
97514	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
97515	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
97516	// in the Amazon Elastic Compute Cloud User Guide.
97517	KernelId *string `type:"string"`
97518
97519	// 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)
97520	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
97521	//
97522	// If you do not specify a key pair, you can't connect to the instance unless
97523	// you choose an AMI that is configured to allow users another way to log in.
97524	KeyName *string `type:"string"`
97525
97526	// The launch template to use to launch the instances. Any parameters that you
97527	// specify in RunInstances override the same parameters in the launch template.
97528	// You can specify either the name or ID of a launch template, but not both.
97529	LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
97530
97531	// The license configurations.
97532	LicenseSpecifications []*LicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
97533
97534	// The maximum number of instances to launch. If you specify more instances
97535	// than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
97536	// the largest possible number of instances above MinCount.
97537	//
97538	// Constraints: Between 1 and the maximum number you're allowed for the specified
97539	// instance type. For more information about the default limits, and how to
97540	// 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)
97541	// in the Amazon EC2 FAQ.
97542	//
97543	// MaxCount is a required field
97544	MaxCount *int64 `type:"integer" required:"true"`
97545
97546	// The metadata options for the instance. For more information, see Instance
97547	// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).
97548	MetadataOptions *InstanceMetadataOptionsRequest `type:"structure"`
97549
97550	// The minimum number of instances to launch. If you specify a minimum that
97551	// is more instances than Amazon EC2 can launch in the target Availability Zone,
97552	// Amazon EC2 launches no instances.
97553	//
97554	// Constraints: Between 1 and the maximum number you're allowed for the specified
97555	// instance type. For more information about the default limits, and how to
97556	// 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)
97557	// in the Amazon EC2 General FAQ.
97558	//
97559	// MinCount is a required field
97560	MinCount *int64 `type:"integer" required:"true"`
97561
97562	// Specifies whether detailed monitoring is enabled for the instance.
97563	Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
97564
97565	// The network interfaces to associate with the instance. If you specify a network
97566	// interface, you must specify any security groups and subnets as part of the
97567	// network interface.
97568	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
97569
97570	// The placement for the instance.
97571	Placement *Placement `type:"structure"`
97572
97573	// [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
97574	// address range of the subnet.
97575	//
97576	// Only one private IP address can be designated as primary. You can't specify
97577	// this option if you've specified the option to designate a private IP address
97578	// as the primary IP address in a network interface specification. You cannot
97579	// specify this option if you're launching more than one instance in the request.
97580	//
97581	// You cannot specify this option and the network interfaces option in the same
97582	// request.
97583	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
97584
97585	// The ID of the RAM disk to select. Some kernels require additional drivers
97586	// at launch. Check the kernel requirements for information about whether you
97587	// need to specify a RAM disk. To find kernel requirements, go to the AWS Resource
97588	// Center and search for the kernel ID.
97589	//
97590	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
97591	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
97592	// in the Amazon Elastic Compute Cloud User Guide.
97593	RamdiskId *string `type:"string"`
97594
97595	// The IDs of the security groups. You can create a security group using CreateSecurityGroup
97596	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
97597	//
97598	// If you specify a network interface, you must specify any security groups
97599	// as part of the network interface.
97600	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
97601
97602	// [EC2-Classic, default VPC] The names of the security groups. For a nondefault
97603	// VPC, you must use security group IDs instead.
97604	//
97605	// If you specify a network interface, you must specify any security groups
97606	// as part of the network interface.
97607	//
97608	// Default: Amazon EC2 uses the default security group.
97609	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
97610
97611	// [EC2-VPC] The ID of the subnet to launch the instance into.
97612	//
97613	// If you specify a network interface, you must specify any subnets as part
97614	// of the network interface.
97615	SubnetId *string `type:"string"`
97616
97617	// The tags to apply to the resources during launch. You can only tag instances
97618	// and volumes on launch. The specified tags are applied to all instances or
97619	// volumes that are created during launch. To tag a resource after it has been
97620	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
97621	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
97622
97623	// The user data to make available to the instance. For more information, see
97624	// Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
97625	// (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
97626	// (Windows). If you are using a command line tool, base64-encoding is performed
97627	// for you, and you can load the text from a file. Otherwise, you must provide
97628	// base64-encoded text. User data is limited to 16 KB.
97629	UserData *string `type:"string"`
97630}
97631
97632// String returns the string representation
97633func (s RunInstancesInput) String() string {
97634	return awsutil.Prettify(s)
97635}
97636
97637// GoString returns the string representation
97638func (s RunInstancesInput) GoString() string {
97639	return s.String()
97640}
97641
97642// Validate inspects the fields of the type to determine if they are valid.
97643func (s *RunInstancesInput) Validate() error {
97644	invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
97645	if s.MaxCount == nil {
97646		invalidParams.Add(request.NewErrParamRequired("MaxCount"))
97647	}
97648	if s.MinCount == nil {
97649		invalidParams.Add(request.NewErrParamRequired("MinCount"))
97650	}
97651	if s.CreditSpecification != nil {
97652		if err := s.CreditSpecification.Validate(); err != nil {
97653			invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
97654		}
97655	}
97656	if s.ElasticGpuSpecification != nil {
97657		for i, v := range s.ElasticGpuSpecification {
97658			if v == nil {
97659				continue
97660			}
97661			if err := v.Validate(); err != nil {
97662				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
97663			}
97664		}
97665	}
97666	if s.ElasticInferenceAccelerators != nil {
97667		for i, v := range s.ElasticInferenceAccelerators {
97668			if v == nil {
97669				continue
97670			}
97671			if err := v.Validate(); err != nil {
97672				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
97673			}
97674		}
97675	}
97676	if s.Monitoring != nil {
97677		if err := s.Monitoring.Validate(); err != nil {
97678			invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
97679		}
97680	}
97681
97682	if invalidParams.Len() > 0 {
97683		return invalidParams
97684	}
97685	return nil
97686}
97687
97688// SetAdditionalInfo sets the AdditionalInfo field's value.
97689func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
97690	s.AdditionalInfo = &v
97691	return s
97692}
97693
97694// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
97695func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
97696	s.BlockDeviceMappings = v
97697	return s
97698}
97699
97700// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
97701func (s *RunInstancesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *RunInstancesInput {
97702	s.CapacityReservationSpecification = v
97703	return s
97704}
97705
97706// SetClientToken sets the ClientToken field's value.
97707func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
97708	s.ClientToken = &v
97709	return s
97710}
97711
97712// SetCpuOptions sets the CpuOptions field's value.
97713func (s *RunInstancesInput) SetCpuOptions(v *CpuOptionsRequest) *RunInstancesInput {
97714	s.CpuOptions = v
97715	return s
97716}
97717
97718// SetCreditSpecification sets the CreditSpecification field's value.
97719func (s *RunInstancesInput) SetCreditSpecification(v *CreditSpecificationRequest) *RunInstancesInput {
97720	s.CreditSpecification = v
97721	return s
97722}
97723
97724// SetDisableApiTermination sets the DisableApiTermination field's value.
97725func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
97726	s.DisableApiTermination = &v
97727	return s
97728}
97729
97730// SetDryRun sets the DryRun field's value.
97731func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
97732	s.DryRun = &v
97733	return s
97734}
97735
97736// SetEbsOptimized sets the EbsOptimized field's value.
97737func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
97738	s.EbsOptimized = &v
97739	return s
97740}
97741
97742// SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
97743func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
97744	s.ElasticGpuSpecification = v
97745	return s
97746}
97747
97748// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
97749func (s *RunInstancesInput) SetElasticInferenceAccelerators(v []*ElasticInferenceAccelerator) *RunInstancesInput {
97750	s.ElasticInferenceAccelerators = v
97751	return s
97752}
97753
97754// SetHibernationOptions sets the HibernationOptions field's value.
97755func (s *RunInstancesInput) SetHibernationOptions(v *HibernationOptionsRequest) *RunInstancesInput {
97756	s.HibernationOptions = v
97757	return s
97758}
97759
97760// SetIamInstanceProfile sets the IamInstanceProfile field's value.
97761func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
97762	s.IamInstanceProfile = v
97763	return s
97764}
97765
97766// SetImageId sets the ImageId field's value.
97767func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
97768	s.ImageId = &v
97769	return s
97770}
97771
97772// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
97773func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
97774	s.InstanceInitiatedShutdownBehavior = &v
97775	return s
97776}
97777
97778// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
97779func (s *RunInstancesInput) SetInstanceMarketOptions(v *InstanceMarketOptionsRequest) *RunInstancesInput {
97780	s.InstanceMarketOptions = v
97781	return s
97782}
97783
97784// SetInstanceType sets the InstanceType field's value.
97785func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
97786	s.InstanceType = &v
97787	return s
97788}
97789
97790// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
97791func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
97792	s.Ipv6AddressCount = &v
97793	return s
97794}
97795
97796// SetIpv6Addresses sets the Ipv6Addresses field's value.
97797func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
97798	s.Ipv6Addresses = v
97799	return s
97800}
97801
97802// SetKernelId sets the KernelId field's value.
97803func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
97804	s.KernelId = &v
97805	return s
97806}
97807
97808// SetKeyName sets the KeyName field's value.
97809func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
97810	s.KeyName = &v
97811	return s
97812}
97813
97814// SetLaunchTemplate sets the LaunchTemplate field's value.
97815func (s *RunInstancesInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *RunInstancesInput {
97816	s.LaunchTemplate = v
97817	return s
97818}
97819
97820// SetLicenseSpecifications sets the LicenseSpecifications field's value.
97821func (s *RunInstancesInput) SetLicenseSpecifications(v []*LicenseConfigurationRequest) *RunInstancesInput {
97822	s.LicenseSpecifications = v
97823	return s
97824}
97825
97826// SetMaxCount sets the MaxCount field's value.
97827func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
97828	s.MaxCount = &v
97829	return s
97830}
97831
97832// SetMetadataOptions sets the MetadataOptions field's value.
97833func (s *RunInstancesInput) SetMetadataOptions(v *InstanceMetadataOptionsRequest) *RunInstancesInput {
97834	s.MetadataOptions = v
97835	return s
97836}
97837
97838// SetMinCount sets the MinCount field's value.
97839func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
97840	s.MinCount = &v
97841	return s
97842}
97843
97844// SetMonitoring sets the Monitoring field's value.
97845func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
97846	s.Monitoring = v
97847	return s
97848}
97849
97850// SetNetworkInterfaces sets the NetworkInterfaces field's value.
97851func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
97852	s.NetworkInterfaces = v
97853	return s
97854}
97855
97856// SetPlacement sets the Placement field's value.
97857func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
97858	s.Placement = v
97859	return s
97860}
97861
97862// SetPrivateIpAddress sets the PrivateIpAddress field's value.
97863func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
97864	s.PrivateIpAddress = &v
97865	return s
97866}
97867
97868// SetRamdiskId sets the RamdiskId field's value.
97869func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
97870	s.RamdiskId = &v
97871	return s
97872}
97873
97874// SetSecurityGroupIds sets the SecurityGroupIds field's value.
97875func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
97876	s.SecurityGroupIds = v
97877	return s
97878}
97879
97880// SetSecurityGroups sets the SecurityGroups field's value.
97881func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
97882	s.SecurityGroups = v
97883	return s
97884}
97885
97886// SetSubnetId sets the SubnetId field's value.
97887func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
97888	s.SubnetId = &v
97889	return s
97890}
97891
97892// SetTagSpecifications sets the TagSpecifications field's value.
97893func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
97894	s.TagSpecifications = v
97895	return s
97896}
97897
97898// SetUserData sets the UserData field's value.
97899func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
97900	s.UserData = &v
97901	return s
97902}
97903
97904// Describes the monitoring of an instance.
97905type RunInstancesMonitoringEnabled struct {
97906	_ struct{} `type:"structure"`
97907
97908	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
97909	// is enabled.
97910	//
97911	// Enabled is a required field
97912	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
97913}
97914
97915// String returns the string representation
97916func (s RunInstancesMonitoringEnabled) String() string {
97917	return awsutil.Prettify(s)
97918}
97919
97920// GoString returns the string representation
97921func (s RunInstancesMonitoringEnabled) GoString() string {
97922	return s.String()
97923}
97924
97925// Validate inspects the fields of the type to determine if they are valid.
97926func (s *RunInstancesMonitoringEnabled) Validate() error {
97927	invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
97928	if s.Enabled == nil {
97929		invalidParams.Add(request.NewErrParamRequired("Enabled"))
97930	}
97931
97932	if invalidParams.Len() > 0 {
97933		return invalidParams
97934	}
97935	return nil
97936}
97937
97938// SetEnabled sets the Enabled field's value.
97939func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
97940	s.Enabled = &v
97941	return s
97942}
97943
97944// Contains the parameters for RunScheduledInstances.
97945type RunScheduledInstancesInput struct {
97946	_ struct{} `type:"structure"`
97947
97948	// Unique, case-sensitive identifier that ensures the idempotency of the request.
97949	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
97950	ClientToken *string `type:"string" idempotencyToken:"true"`
97951
97952	// Checks whether you have the required permissions for the action, without
97953	// actually making the request, and provides an error response. If you have
97954	// the required permissions, the error response is DryRunOperation. Otherwise,
97955	// it is UnauthorizedOperation.
97956	DryRun *bool `type:"boolean"`
97957
97958	// The number of instances.
97959	//
97960	// Default: 1
97961	InstanceCount *int64 `type:"integer"`
97962
97963	// The launch specification. You must match the instance type, Availability
97964	// Zone, network, and platform of the schedule that you purchased.
97965	//
97966	// LaunchSpecification is a required field
97967	LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
97968
97969	// The Scheduled Instance ID.
97970	//
97971	// ScheduledInstanceId is a required field
97972	ScheduledInstanceId *string `type:"string" required:"true"`
97973}
97974
97975// String returns the string representation
97976func (s RunScheduledInstancesInput) String() string {
97977	return awsutil.Prettify(s)
97978}
97979
97980// GoString returns the string representation
97981func (s RunScheduledInstancesInput) GoString() string {
97982	return s.String()
97983}
97984
97985// Validate inspects the fields of the type to determine if they are valid.
97986func (s *RunScheduledInstancesInput) Validate() error {
97987	invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
97988	if s.LaunchSpecification == nil {
97989		invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
97990	}
97991	if s.ScheduledInstanceId == nil {
97992		invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
97993	}
97994	if s.LaunchSpecification != nil {
97995		if err := s.LaunchSpecification.Validate(); err != nil {
97996			invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
97997		}
97998	}
97999
98000	if invalidParams.Len() > 0 {
98001		return invalidParams
98002	}
98003	return nil
98004}
98005
98006// SetClientToken sets the ClientToken field's value.
98007func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
98008	s.ClientToken = &v
98009	return s
98010}
98011
98012// SetDryRun sets the DryRun field's value.
98013func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
98014	s.DryRun = &v
98015	return s
98016}
98017
98018// SetInstanceCount sets the InstanceCount field's value.
98019func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
98020	s.InstanceCount = &v
98021	return s
98022}
98023
98024// SetLaunchSpecification sets the LaunchSpecification field's value.
98025func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
98026	s.LaunchSpecification = v
98027	return s
98028}
98029
98030// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
98031func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
98032	s.ScheduledInstanceId = &v
98033	return s
98034}
98035
98036// Contains the output of RunScheduledInstances.
98037type RunScheduledInstancesOutput struct {
98038	_ struct{} `type:"structure"`
98039
98040	// The IDs of the newly launched instances.
98041	InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
98042}
98043
98044// String returns the string representation
98045func (s RunScheduledInstancesOutput) String() string {
98046	return awsutil.Prettify(s)
98047}
98048
98049// GoString returns the string representation
98050func (s RunScheduledInstancesOutput) GoString() string {
98051	return s.String()
98052}
98053
98054// SetInstanceIdSet sets the InstanceIdSet field's value.
98055func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
98056	s.InstanceIdSet = v
98057	return s
98058}
98059
98060// Describes the storage parameters for S3 and S3 buckets for an instance store-backed
98061// AMI.
98062type S3Storage struct {
98063	_ struct{} `type:"structure"`
98064
98065	// The access key ID of the owner of the bucket. Before you specify a value
98066	// for your access key ID, review and follow the guidance in Best Practices
98067	// for Managing AWS Access Keys (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
98068	AWSAccessKeyId *string `type:"string"`
98069
98070	// The bucket in which to store the AMI. You can specify a bucket that you already
98071	// own or a new bucket that Amazon EC2 creates on your behalf. If you specify
98072	// a bucket that belongs to someone else, Amazon EC2 returns an error.
98073	Bucket *string `locationName:"bucket" type:"string"`
98074
98075	// The beginning of the file name of the AMI.
98076	Prefix *string `locationName:"prefix" type:"string"`
98077
98078	// An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
98079	// into Amazon S3 on your behalf.
98080	//
98081	// UploadPolicy is automatically base64 encoded/decoded by the SDK.
98082	UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
98083
98084	// The signature of the JSON document.
98085	UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
98086}
98087
98088// String returns the string representation
98089func (s S3Storage) String() string {
98090	return awsutil.Prettify(s)
98091}
98092
98093// GoString returns the string representation
98094func (s S3Storage) GoString() string {
98095	return s.String()
98096}
98097
98098// SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
98099func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
98100	s.AWSAccessKeyId = &v
98101	return s
98102}
98103
98104// SetBucket sets the Bucket field's value.
98105func (s *S3Storage) SetBucket(v string) *S3Storage {
98106	s.Bucket = &v
98107	return s
98108}
98109
98110// SetPrefix sets the Prefix field's value.
98111func (s *S3Storage) SetPrefix(v string) *S3Storage {
98112	s.Prefix = &v
98113	return s
98114}
98115
98116// SetUploadPolicy sets the UploadPolicy field's value.
98117func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
98118	s.UploadPolicy = v
98119	return s
98120}
98121
98122// SetUploadPolicySignature sets the UploadPolicySignature field's value.
98123func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
98124	s.UploadPolicySignature = &v
98125	return s
98126}
98127
98128// Describes a Scheduled Instance.
98129type ScheduledInstance struct {
98130	_ struct{} `type:"structure"`
98131
98132	// The Availability Zone.
98133	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
98134
98135	// The date when the Scheduled Instance was purchased.
98136	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
98137
98138	// The hourly price for a single instance.
98139	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
98140
98141	// The number of instances.
98142	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
98143
98144	// The instance type.
98145	InstanceType *string `locationName:"instanceType" type:"string"`
98146
98147	// The network platform (EC2-Classic or EC2-VPC).
98148	NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
98149
98150	// The time for the next schedule to start.
98151	NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp"`
98152
98153	// The platform (Linux/UNIX or Windows).
98154	Platform *string `locationName:"platform" type:"string"`
98155
98156	// The time that the previous schedule ended or will end.
98157	PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp"`
98158
98159	// The schedule recurrence.
98160	Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
98161
98162	// The Scheduled Instance ID.
98163	ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
98164
98165	// The number of hours in the schedule.
98166	SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
98167
98168	// The end date for the Scheduled Instance.
98169	TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp"`
98170
98171	// The start date for the Scheduled Instance.
98172	TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp"`
98173
98174	// The total number of hours for a single instance for the entire term.
98175	TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
98176}
98177
98178// String returns the string representation
98179func (s ScheduledInstance) String() string {
98180	return awsutil.Prettify(s)
98181}
98182
98183// GoString returns the string representation
98184func (s ScheduledInstance) GoString() string {
98185	return s.String()
98186}
98187
98188// SetAvailabilityZone sets the AvailabilityZone field's value.
98189func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
98190	s.AvailabilityZone = &v
98191	return s
98192}
98193
98194// SetCreateDate sets the CreateDate field's value.
98195func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
98196	s.CreateDate = &v
98197	return s
98198}
98199
98200// SetHourlyPrice sets the HourlyPrice field's value.
98201func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
98202	s.HourlyPrice = &v
98203	return s
98204}
98205
98206// SetInstanceCount sets the InstanceCount field's value.
98207func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
98208	s.InstanceCount = &v
98209	return s
98210}
98211
98212// SetInstanceType sets the InstanceType field's value.
98213func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
98214	s.InstanceType = &v
98215	return s
98216}
98217
98218// SetNetworkPlatform sets the NetworkPlatform field's value.
98219func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
98220	s.NetworkPlatform = &v
98221	return s
98222}
98223
98224// SetNextSlotStartTime sets the NextSlotStartTime field's value.
98225func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
98226	s.NextSlotStartTime = &v
98227	return s
98228}
98229
98230// SetPlatform sets the Platform field's value.
98231func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
98232	s.Platform = &v
98233	return s
98234}
98235
98236// SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
98237func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
98238	s.PreviousSlotEndTime = &v
98239	return s
98240}
98241
98242// SetRecurrence sets the Recurrence field's value.
98243func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
98244	s.Recurrence = v
98245	return s
98246}
98247
98248// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
98249func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
98250	s.ScheduledInstanceId = &v
98251	return s
98252}
98253
98254// SetSlotDurationInHours sets the SlotDurationInHours field's value.
98255func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
98256	s.SlotDurationInHours = &v
98257	return s
98258}
98259
98260// SetTermEndDate sets the TermEndDate field's value.
98261func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
98262	s.TermEndDate = &v
98263	return s
98264}
98265
98266// SetTermStartDate sets the TermStartDate field's value.
98267func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
98268	s.TermStartDate = &v
98269	return s
98270}
98271
98272// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
98273func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
98274	s.TotalScheduledInstanceHours = &v
98275	return s
98276}
98277
98278// Describes a schedule that is available for your Scheduled Instances.
98279type ScheduledInstanceAvailability struct {
98280	_ struct{} `type:"structure"`
98281
98282	// The Availability Zone.
98283	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
98284
98285	// The number of available instances.
98286	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
98287
98288	// The time period for the first schedule to start.
98289	FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp"`
98290
98291	// The hourly price for a single instance.
98292	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
98293
98294	// The instance type. You can specify one of the C3, C4, M4, or R3 instance
98295	// types.
98296	InstanceType *string `locationName:"instanceType" type:"string"`
98297
98298	// The maximum term. The only possible value is 365 days.
98299	MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
98300
98301	// The minimum term. The only possible value is 365 days.
98302	MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
98303
98304	// The network platform (EC2-Classic or EC2-VPC).
98305	NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
98306
98307	// The platform (Linux/UNIX or Windows).
98308	Platform *string `locationName:"platform" type:"string"`
98309
98310	// The purchase token. This token expires in two hours.
98311	PurchaseToken *string `locationName:"purchaseToken" type:"string"`
98312
98313	// The schedule recurrence.
98314	Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
98315
98316	// The number of hours in the schedule.
98317	SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
98318
98319	// The total number of hours for a single instance for the entire term.
98320	TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
98321}
98322
98323// String returns the string representation
98324func (s ScheduledInstanceAvailability) String() string {
98325	return awsutil.Prettify(s)
98326}
98327
98328// GoString returns the string representation
98329func (s ScheduledInstanceAvailability) GoString() string {
98330	return s.String()
98331}
98332
98333// SetAvailabilityZone sets the AvailabilityZone field's value.
98334func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
98335	s.AvailabilityZone = &v
98336	return s
98337}
98338
98339// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
98340func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
98341	s.AvailableInstanceCount = &v
98342	return s
98343}
98344
98345// SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
98346func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
98347	s.FirstSlotStartTime = &v
98348	return s
98349}
98350
98351// SetHourlyPrice sets the HourlyPrice field's value.
98352func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
98353	s.HourlyPrice = &v
98354	return s
98355}
98356
98357// SetInstanceType sets the InstanceType field's value.
98358func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
98359	s.InstanceType = &v
98360	return s
98361}
98362
98363// SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
98364func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
98365	s.MaxTermDurationInDays = &v
98366	return s
98367}
98368
98369// SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
98370func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
98371	s.MinTermDurationInDays = &v
98372	return s
98373}
98374
98375// SetNetworkPlatform sets the NetworkPlatform field's value.
98376func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
98377	s.NetworkPlatform = &v
98378	return s
98379}
98380
98381// SetPlatform sets the Platform field's value.
98382func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
98383	s.Platform = &v
98384	return s
98385}
98386
98387// SetPurchaseToken sets the PurchaseToken field's value.
98388func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
98389	s.PurchaseToken = &v
98390	return s
98391}
98392
98393// SetRecurrence sets the Recurrence field's value.
98394func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
98395	s.Recurrence = v
98396	return s
98397}
98398
98399// SetSlotDurationInHours sets the SlotDurationInHours field's value.
98400func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
98401	s.SlotDurationInHours = &v
98402	return s
98403}
98404
98405// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
98406func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
98407	s.TotalScheduledInstanceHours = &v
98408	return s
98409}
98410
98411// Describes the recurring schedule for a Scheduled Instance.
98412type ScheduledInstanceRecurrence struct {
98413	_ struct{} `type:"structure"`
98414
98415	// The frequency (Daily, Weekly, or Monthly).
98416	Frequency *string `locationName:"frequency" type:"string"`
98417
98418	// The interval quantity. The interval unit depends on the value of frequency.
98419	// For example, every 2 weeks or every 2 months.
98420	Interval *int64 `locationName:"interval" type:"integer"`
98421
98422	// The days. For a monthly schedule, this is one or more days of the month (1-31).
98423	// For a weekly schedule, this is one or more days of the week (1-7, where 1
98424	// is Sunday).
98425	OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
98426
98427	// Indicates whether the occurrence is relative to the end of the specified
98428	// week or month.
98429	OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
98430
98431	// The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
98432	OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
98433}
98434
98435// String returns the string representation
98436func (s ScheduledInstanceRecurrence) String() string {
98437	return awsutil.Prettify(s)
98438}
98439
98440// GoString returns the string representation
98441func (s ScheduledInstanceRecurrence) GoString() string {
98442	return s.String()
98443}
98444
98445// SetFrequency sets the Frequency field's value.
98446func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
98447	s.Frequency = &v
98448	return s
98449}
98450
98451// SetInterval sets the Interval field's value.
98452func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
98453	s.Interval = &v
98454	return s
98455}
98456
98457// SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
98458func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
98459	s.OccurrenceDaySet = v
98460	return s
98461}
98462
98463// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
98464func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
98465	s.OccurrenceRelativeToEnd = &v
98466	return s
98467}
98468
98469// SetOccurrenceUnit sets the OccurrenceUnit field's value.
98470func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
98471	s.OccurrenceUnit = &v
98472	return s
98473}
98474
98475// Describes the recurring schedule for a Scheduled Instance.
98476type ScheduledInstanceRecurrenceRequest struct {
98477	_ struct{} `type:"structure"`
98478
98479	// The frequency (Daily, Weekly, or Monthly).
98480	Frequency *string `type:"string"`
98481
98482	// The interval quantity. The interval unit depends on the value of Frequency.
98483	// For example, every 2 weeks or every 2 months.
98484	Interval *int64 `type:"integer"`
98485
98486	// The days. For a monthly schedule, this is one or more days of the month (1-31).
98487	// For a weekly schedule, this is one or more days of the week (1-7, where 1
98488	// is Sunday). You can't specify this value with a daily schedule. If the occurrence
98489	// is relative to the end of the month, you can specify only a single day.
98490	OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
98491
98492	// Indicates whether the occurrence is relative to the end of the specified
98493	// week or month. You can't specify this value with a daily schedule.
98494	OccurrenceRelativeToEnd *bool `type:"boolean"`
98495
98496	// The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
98497	// for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
98498	// You can't specify this value with a daily schedule.
98499	OccurrenceUnit *string `type:"string"`
98500}
98501
98502// String returns the string representation
98503func (s ScheduledInstanceRecurrenceRequest) String() string {
98504	return awsutil.Prettify(s)
98505}
98506
98507// GoString returns the string representation
98508func (s ScheduledInstanceRecurrenceRequest) GoString() string {
98509	return s.String()
98510}
98511
98512// SetFrequency sets the Frequency field's value.
98513func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
98514	s.Frequency = &v
98515	return s
98516}
98517
98518// SetInterval sets the Interval field's value.
98519func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
98520	s.Interval = &v
98521	return s
98522}
98523
98524// SetOccurrenceDays sets the OccurrenceDays field's value.
98525func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
98526	s.OccurrenceDays = v
98527	return s
98528}
98529
98530// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
98531func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
98532	s.OccurrenceRelativeToEnd = &v
98533	return s
98534}
98535
98536// SetOccurrenceUnit sets the OccurrenceUnit field's value.
98537func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
98538	s.OccurrenceUnit = &v
98539	return s
98540}
98541
98542// Describes a block device mapping for a Scheduled Instance.
98543type ScheduledInstancesBlockDeviceMapping struct {
98544	_ struct{} `type:"structure"`
98545
98546	// The device name (for example, /dev/sdh or xvdh).
98547	DeviceName *string `type:"string"`
98548
98549	// Parameters used to set up EBS volumes automatically when the instance is
98550	// launched.
98551	Ebs *ScheduledInstancesEbs `type:"structure"`
98552
98553	// Suppresses the specified device included in the block device mapping of the
98554	// AMI.
98555	NoDevice *string `type:"string"`
98556
98557	// The virtual device name (ephemeralN). Instance store volumes are numbered
98558	// starting from 0. An instance type with two available instance store volumes
98559	// can specify mappings for ephemeral0 and ephemeral1. The number of available
98560	// instance store volumes depends on the instance type. After you connect to
98561	// the instance, you must mount the volume.
98562	//
98563	// Constraints: For M3 instances, you must specify instance store volumes in
98564	// the block device mapping for the instance. When you launch an M3 instance,
98565	// we ignore any instance store volumes specified in the block device mapping
98566	// for the AMI.
98567	VirtualName *string `type:"string"`
98568}
98569
98570// String returns the string representation
98571func (s ScheduledInstancesBlockDeviceMapping) String() string {
98572	return awsutil.Prettify(s)
98573}
98574
98575// GoString returns the string representation
98576func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
98577	return s.String()
98578}
98579
98580// SetDeviceName sets the DeviceName field's value.
98581func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
98582	s.DeviceName = &v
98583	return s
98584}
98585
98586// SetEbs sets the Ebs field's value.
98587func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
98588	s.Ebs = v
98589	return s
98590}
98591
98592// SetNoDevice sets the NoDevice field's value.
98593func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
98594	s.NoDevice = &v
98595	return s
98596}
98597
98598// SetVirtualName sets the VirtualName field's value.
98599func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
98600	s.VirtualName = &v
98601	return s
98602}
98603
98604// Describes an EBS volume for a Scheduled Instance.
98605type ScheduledInstancesEbs struct {
98606	_ struct{} `type:"structure"`
98607
98608	// Indicates whether the volume is deleted on instance termination.
98609	DeleteOnTermination *bool `type:"boolean"`
98610
98611	// Indicates whether the volume is encrypted. You can attached encrypted volumes
98612	// only to instances that support them.
98613	Encrypted *bool `type:"boolean"`
98614
98615	// The number of I/O operations per second (IOPS) that the volume supports.
98616	// For io1 volumes, this represents the number of IOPS that are provisioned
98617	// for the volume. For gp2 volumes, this represents the baseline performance
98618	// of the volume and the rate at which the volume accumulates I/O credits for
98619	// bursting. For more information about gp2 baseline performance, I/O credits,
98620	// and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
98621	// in the Amazon Elastic Compute Cloud User Guide.
98622	//
98623	// Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
98624	// gp2 volumes.
98625	//
98626	// Condition: This parameter is required for requests to create io1volumes;
98627	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
98628	Iops *int64 `type:"integer"`
98629
98630	// The ID of the snapshot.
98631	SnapshotId *string `type:"string"`
98632
98633	// The size of the volume, in GiB.
98634	//
98635	// Default: If you're creating the volume from a snapshot and don't specify
98636	// a volume size, the default is the snapshot size.
98637	VolumeSize *int64 `type:"integer"`
98638
98639	// The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
98640	// Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
98641	//
98642	// Default: gp2
98643	VolumeType *string `type:"string"`
98644}
98645
98646// String returns the string representation
98647func (s ScheduledInstancesEbs) String() string {
98648	return awsutil.Prettify(s)
98649}
98650
98651// GoString returns the string representation
98652func (s ScheduledInstancesEbs) GoString() string {
98653	return s.String()
98654}
98655
98656// SetDeleteOnTermination sets the DeleteOnTermination field's value.
98657func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
98658	s.DeleteOnTermination = &v
98659	return s
98660}
98661
98662// SetEncrypted sets the Encrypted field's value.
98663func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
98664	s.Encrypted = &v
98665	return s
98666}
98667
98668// SetIops sets the Iops field's value.
98669func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
98670	s.Iops = &v
98671	return s
98672}
98673
98674// SetSnapshotId sets the SnapshotId field's value.
98675func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
98676	s.SnapshotId = &v
98677	return s
98678}
98679
98680// SetVolumeSize sets the VolumeSize field's value.
98681func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
98682	s.VolumeSize = &v
98683	return s
98684}
98685
98686// SetVolumeType sets the VolumeType field's value.
98687func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
98688	s.VolumeType = &v
98689	return s
98690}
98691
98692// Describes an IAM instance profile for a Scheduled Instance.
98693type ScheduledInstancesIamInstanceProfile struct {
98694	_ struct{} `type:"structure"`
98695
98696	// The Amazon Resource Name (ARN).
98697	Arn *string `type:"string"`
98698
98699	// The name.
98700	Name *string `type:"string"`
98701}
98702
98703// String returns the string representation
98704func (s ScheduledInstancesIamInstanceProfile) String() string {
98705	return awsutil.Prettify(s)
98706}
98707
98708// GoString returns the string representation
98709func (s ScheduledInstancesIamInstanceProfile) GoString() string {
98710	return s.String()
98711}
98712
98713// SetArn sets the Arn field's value.
98714func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
98715	s.Arn = &v
98716	return s
98717}
98718
98719// SetName sets the Name field's value.
98720func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
98721	s.Name = &v
98722	return s
98723}
98724
98725// Describes an IPv6 address.
98726type ScheduledInstancesIpv6Address struct {
98727	_ struct{} `type:"structure"`
98728
98729	// The IPv6 address.
98730	Ipv6Address *string `type:"string"`
98731}
98732
98733// String returns the string representation
98734func (s ScheduledInstancesIpv6Address) String() string {
98735	return awsutil.Prettify(s)
98736}
98737
98738// GoString returns the string representation
98739func (s ScheduledInstancesIpv6Address) GoString() string {
98740	return s.String()
98741}
98742
98743// SetIpv6Address sets the Ipv6Address field's value.
98744func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
98745	s.Ipv6Address = &v
98746	return s
98747}
98748
98749// Describes the launch specification for a Scheduled Instance.
98750//
98751// If you are launching the Scheduled Instance in EC2-VPC, you must specify
98752// the ID of the subnet. You can specify the subnet using either SubnetId or
98753// NetworkInterface.
98754type ScheduledInstancesLaunchSpecification struct {
98755	_ struct{} `type:"structure"`
98756
98757	// The block device mapping entries.
98758	BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
98759
98760	// Indicates whether the instances are optimized for EBS I/O. This optimization
98761	// provides dedicated throughput to Amazon EBS and an optimized configuration
98762	// stack to provide optimal EBS I/O performance. This optimization isn't available
98763	// with all instance types. Additional usage charges apply when using an EBS-optimized
98764	// instance.
98765	//
98766	// Default: false
98767	EbsOptimized *bool `type:"boolean"`
98768
98769	// The IAM instance profile.
98770	IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
98771
98772	// The ID of the Amazon Machine Image (AMI).
98773	//
98774	// ImageId is a required field
98775	ImageId *string `type:"string" required:"true"`
98776
98777	// The instance type.
98778	InstanceType *string `type:"string"`
98779
98780	// The ID of the kernel.
98781	KernelId *string `type:"string"`
98782
98783	// The name of the key pair.
98784	KeyName *string `type:"string"`
98785
98786	// Enable or disable monitoring for the instances.
98787	Monitoring *ScheduledInstancesMonitoring `type:"structure"`
98788
98789	// The network interfaces.
98790	NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
98791
98792	// The placement information.
98793	Placement *ScheduledInstancesPlacement `type:"structure"`
98794
98795	// The ID of the RAM disk.
98796	RamdiskId *string `type:"string"`
98797
98798	// The IDs of the security groups.
98799	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
98800
98801	// The ID of the subnet in which to launch the instances.
98802	SubnetId *string `type:"string"`
98803
98804	// The base64-encoded MIME user data.
98805	UserData *string `type:"string"`
98806}
98807
98808// String returns the string representation
98809func (s ScheduledInstancesLaunchSpecification) String() string {
98810	return awsutil.Prettify(s)
98811}
98812
98813// GoString returns the string representation
98814func (s ScheduledInstancesLaunchSpecification) GoString() string {
98815	return s.String()
98816}
98817
98818// Validate inspects the fields of the type to determine if they are valid.
98819func (s *ScheduledInstancesLaunchSpecification) Validate() error {
98820	invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
98821	if s.ImageId == nil {
98822		invalidParams.Add(request.NewErrParamRequired("ImageId"))
98823	}
98824
98825	if invalidParams.Len() > 0 {
98826		return invalidParams
98827	}
98828	return nil
98829}
98830
98831// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
98832func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
98833	s.BlockDeviceMappings = v
98834	return s
98835}
98836
98837// SetEbsOptimized sets the EbsOptimized field's value.
98838func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
98839	s.EbsOptimized = &v
98840	return s
98841}
98842
98843// SetIamInstanceProfile sets the IamInstanceProfile field's value.
98844func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
98845	s.IamInstanceProfile = v
98846	return s
98847}
98848
98849// SetImageId sets the ImageId field's value.
98850func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
98851	s.ImageId = &v
98852	return s
98853}
98854
98855// SetInstanceType sets the InstanceType field's value.
98856func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
98857	s.InstanceType = &v
98858	return s
98859}
98860
98861// SetKernelId sets the KernelId field's value.
98862func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
98863	s.KernelId = &v
98864	return s
98865}
98866
98867// SetKeyName sets the KeyName field's value.
98868func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
98869	s.KeyName = &v
98870	return s
98871}
98872
98873// SetMonitoring sets the Monitoring field's value.
98874func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
98875	s.Monitoring = v
98876	return s
98877}
98878
98879// SetNetworkInterfaces sets the NetworkInterfaces field's value.
98880func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
98881	s.NetworkInterfaces = v
98882	return s
98883}
98884
98885// SetPlacement sets the Placement field's value.
98886func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
98887	s.Placement = v
98888	return s
98889}
98890
98891// SetRamdiskId sets the RamdiskId field's value.
98892func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
98893	s.RamdiskId = &v
98894	return s
98895}
98896
98897// SetSecurityGroupIds sets the SecurityGroupIds field's value.
98898func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
98899	s.SecurityGroupIds = v
98900	return s
98901}
98902
98903// SetSubnetId sets the SubnetId field's value.
98904func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
98905	s.SubnetId = &v
98906	return s
98907}
98908
98909// SetUserData sets the UserData field's value.
98910func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
98911	s.UserData = &v
98912	return s
98913}
98914
98915// Describes whether monitoring is enabled for a Scheduled Instance.
98916type ScheduledInstancesMonitoring struct {
98917	_ struct{} `type:"structure"`
98918
98919	// Indicates whether monitoring is enabled.
98920	Enabled *bool `type:"boolean"`
98921}
98922
98923// String returns the string representation
98924func (s ScheduledInstancesMonitoring) String() string {
98925	return awsutil.Prettify(s)
98926}
98927
98928// GoString returns the string representation
98929func (s ScheduledInstancesMonitoring) GoString() string {
98930	return s.String()
98931}
98932
98933// SetEnabled sets the Enabled field's value.
98934func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
98935	s.Enabled = &v
98936	return s
98937}
98938
98939// Describes a network interface for a Scheduled Instance.
98940type ScheduledInstancesNetworkInterface struct {
98941	_ struct{} `type:"structure"`
98942
98943	// Indicates whether to assign a public IPv4 address to instances launched in
98944	// a VPC. The public IPv4 address can only be assigned to a network interface
98945	// for eth0, and can only be assigned to a new network interface, not an existing
98946	// one. You cannot specify more than one network interface in the request. If
98947	// launching into a default subnet, the default value is true.
98948	AssociatePublicIpAddress *bool `type:"boolean"`
98949
98950	// Indicates whether to delete the interface when the instance is terminated.
98951	DeleteOnTermination *bool `type:"boolean"`
98952
98953	// The description.
98954	Description *string `type:"string"`
98955
98956	// The index of the device for the network interface attachment.
98957	DeviceIndex *int64 `type:"integer"`
98958
98959	// The IDs of the security groups.
98960	Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
98961
98962	// The number of IPv6 addresses to assign to the network interface. The IPv6
98963	// addresses are automatically selected from the subnet range.
98964	Ipv6AddressCount *int64 `type:"integer"`
98965
98966	// The specific IPv6 addresses from the subnet range.
98967	Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
98968
98969	// The ID of the network interface.
98970	NetworkInterfaceId *string `type:"string"`
98971
98972	// The IPv4 address of the network interface within the subnet.
98973	PrivateIpAddress *string `type:"string"`
98974
98975	// The private IPv4 addresses.
98976	PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
98977
98978	// The number of secondary private IPv4 addresses.
98979	SecondaryPrivateIpAddressCount *int64 `type:"integer"`
98980
98981	// The ID of the subnet.
98982	SubnetId *string `type:"string"`
98983}
98984
98985// String returns the string representation
98986func (s ScheduledInstancesNetworkInterface) String() string {
98987	return awsutil.Prettify(s)
98988}
98989
98990// GoString returns the string representation
98991func (s ScheduledInstancesNetworkInterface) GoString() string {
98992	return s.String()
98993}
98994
98995// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
98996func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
98997	s.AssociatePublicIpAddress = &v
98998	return s
98999}
99000
99001// SetDeleteOnTermination sets the DeleteOnTermination field's value.
99002func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
99003	s.DeleteOnTermination = &v
99004	return s
99005}
99006
99007// SetDescription sets the Description field's value.
99008func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
99009	s.Description = &v
99010	return s
99011}
99012
99013// SetDeviceIndex sets the DeviceIndex field's value.
99014func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
99015	s.DeviceIndex = &v
99016	return s
99017}
99018
99019// SetGroups sets the Groups field's value.
99020func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
99021	s.Groups = v
99022	return s
99023}
99024
99025// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
99026func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
99027	s.Ipv6AddressCount = &v
99028	return s
99029}
99030
99031// SetIpv6Addresses sets the Ipv6Addresses field's value.
99032func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
99033	s.Ipv6Addresses = v
99034	return s
99035}
99036
99037// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
99038func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
99039	s.NetworkInterfaceId = &v
99040	return s
99041}
99042
99043// SetPrivateIpAddress sets the PrivateIpAddress field's value.
99044func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
99045	s.PrivateIpAddress = &v
99046	return s
99047}
99048
99049// SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
99050func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
99051	s.PrivateIpAddressConfigs = v
99052	return s
99053}
99054
99055// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
99056func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
99057	s.SecondaryPrivateIpAddressCount = &v
99058	return s
99059}
99060
99061// SetSubnetId sets the SubnetId field's value.
99062func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
99063	s.SubnetId = &v
99064	return s
99065}
99066
99067// Describes the placement for a Scheduled Instance.
99068type ScheduledInstancesPlacement struct {
99069	_ struct{} `type:"structure"`
99070
99071	// The Availability Zone.
99072	AvailabilityZone *string `type:"string"`
99073
99074	// The name of the placement group.
99075	GroupName *string `type:"string"`
99076}
99077
99078// String returns the string representation
99079func (s ScheduledInstancesPlacement) String() string {
99080	return awsutil.Prettify(s)
99081}
99082
99083// GoString returns the string representation
99084func (s ScheduledInstancesPlacement) GoString() string {
99085	return s.String()
99086}
99087
99088// SetAvailabilityZone sets the AvailabilityZone field's value.
99089func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
99090	s.AvailabilityZone = &v
99091	return s
99092}
99093
99094// SetGroupName sets the GroupName field's value.
99095func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
99096	s.GroupName = &v
99097	return s
99098}
99099
99100// Describes a private IPv4 address for a Scheduled Instance.
99101type ScheduledInstancesPrivateIpAddressConfig struct {
99102	_ struct{} `type:"structure"`
99103
99104	// Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
99105	// IPv4 address.
99106	Primary *bool `type:"boolean"`
99107
99108	// The IPv4 address.
99109	PrivateIpAddress *string `type:"string"`
99110}
99111
99112// String returns the string representation
99113func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
99114	return awsutil.Prettify(s)
99115}
99116
99117// GoString returns the string representation
99118func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
99119	return s.String()
99120}
99121
99122// SetPrimary sets the Primary field's value.
99123func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
99124	s.Primary = &v
99125	return s
99126}
99127
99128// SetPrivateIpAddress sets the PrivateIpAddress field's value.
99129func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
99130	s.PrivateIpAddress = &v
99131	return s
99132}
99133
99134type SearchLocalGatewayRoutesInput struct {
99135	_ struct{} `type:"structure"`
99136
99137	// Checks whether you have the required permissions for the action, without
99138	// actually making the request, and provides an error response. If you have
99139	// the required permissions, the error response is DryRunOperation. Otherwise,
99140	// it is UnauthorizedOperation.
99141	DryRun *bool `type:"boolean"`
99142
99143	// One or more filters.
99144	//
99145	// Filters is a required field
99146	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
99147
99148	// The ID of the local gateway route table.
99149	//
99150	// LocalGatewayRouteTableId is a required field
99151	LocalGatewayRouteTableId *string `type:"string" required:"true"`
99152
99153	// The maximum number of results to return with a single call. To retrieve the
99154	// remaining results, make another call with the returned nextToken value.
99155	MaxResults *int64 `type:"integer"`
99156
99157	// The token for the next page of results.
99158	NextToken *string `type:"string"`
99159}
99160
99161// String returns the string representation
99162func (s SearchLocalGatewayRoutesInput) String() string {
99163	return awsutil.Prettify(s)
99164}
99165
99166// GoString returns the string representation
99167func (s SearchLocalGatewayRoutesInput) GoString() string {
99168	return s.String()
99169}
99170
99171// Validate inspects the fields of the type to determine if they are valid.
99172func (s *SearchLocalGatewayRoutesInput) Validate() error {
99173	invalidParams := request.ErrInvalidParams{Context: "SearchLocalGatewayRoutesInput"}
99174	if s.Filters == nil {
99175		invalidParams.Add(request.NewErrParamRequired("Filters"))
99176	}
99177	if s.LocalGatewayRouteTableId == nil {
99178		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
99179	}
99180
99181	if invalidParams.Len() > 0 {
99182		return invalidParams
99183	}
99184	return nil
99185}
99186
99187// SetDryRun sets the DryRun field's value.
99188func (s *SearchLocalGatewayRoutesInput) SetDryRun(v bool) *SearchLocalGatewayRoutesInput {
99189	s.DryRun = &v
99190	return s
99191}
99192
99193// SetFilters sets the Filters field's value.
99194func (s *SearchLocalGatewayRoutesInput) SetFilters(v []*Filter) *SearchLocalGatewayRoutesInput {
99195	s.Filters = v
99196	return s
99197}
99198
99199// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
99200func (s *SearchLocalGatewayRoutesInput) SetLocalGatewayRouteTableId(v string) *SearchLocalGatewayRoutesInput {
99201	s.LocalGatewayRouteTableId = &v
99202	return s
99203}
99204
99205// SetMaxResults sets the MaxResults field's value.
99206func (s *SearchLocalGatewayRoutesInput) SetMaxResults(v int64) *SearchLocalGatewayRoutesInput {
99207	s.MaxResults = &v
99208	return s
99209}
99210
99211// SetNextToken sets the NextToken field's value.
99212func (s *SearchLocalGatewayRoutesInput) SetNextToken(v string) *SearchLocalGatewayRoutesInput {
99213	s.NextToken = &v
99214	return s
99215}
99216
99217type SearchLocalGatewayRoutesOutput struct {
99218	_ struct{} `type:"structure"`
99219
99220	// The token to use to retrieve the next page of results. This value is null
99221	// when there are no more results to return.
99222	NextToken *string `locationName:"nextToken" type:"string"`
99223
99224	// Information about the routes.
99225	Routes []*LocalGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
99226}
99227
99228// String returns the string representation
99229func (s SearchLocalGatewayRoutesOutput) String() string {
99230	return awsutil.Prettify(s)
99231}
99232
99233// GoString returns the string representation
99234func (s SearchLocalGatewayRoutesOutput) GoString() string {
99235	return s.String()
99236}
99237
99238// SetNextToken sets the NextToken field's value.
99239func (s *SearchLocalGatewayRoutesOutput) SetNextToken(v string) *SearchLocalGatewayRoutesOutput {
99240	s.NextToken = &v
99241	return s
99242}
99243
99244// SetRoutes sets the Routes field's value.
99245func (s *SearchLocalGatewayRoutesOutput) SetRoutes(v []*LocalGatewayRoute) *SearchLocalGatewayRoutesOutput {
99246	s.Routes = v
99247	return s
99248}
99249
99250type SearchTransitGatewayMulticastGroupsInput struct {
99251	_ struct{} `type:"structure"`
99252
99253	// Checks whether you have the required permissions for the action, without
99254	// actually making the request, and provides an error response. If you have
99255	// the required permissions, the error response is DryRunOperation. Otherwise,
99256	// it is UnauthorizedOperation.
99257	DryRun *bool `type:"boolean"`
99258
99259	// One or more filters. The possible values are:
99260	//
99261	//    * group-ip-address - The IP address of the transit gateway multicast group.
99262	//
99263	//    * is-group-member - The resource is a group member. Valid values are true
99264	//    | false.
99265	//
99266	//    * is-group-source - The resource is a group source. Valid values are true
99267	//    | false.
99268	//
99269	//    * member-type - The member type. Valid values are igmp | static.
99270	//
99271	//    * resource-id - The ID of the resource.
99272	//
99273	//    * resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway
99274	//    | tgw-peering.
99275	//
99276	//    * source-type - The source type. Valid values are igmp | static.
99277	//
99278	//    * state - The state of the subnet association. Valid values are associated
99279	//    | associated | disassociated | disassociating.
99280	//
99281	//    * subnet-id - The ID of the subnet.
99282	//
99283	//    * transit-gateway-attachment-id - The id of the transit gateway attachment.
99284	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
99285
99286	// The maximum number of results to return with a single call. To retrieve the
99287	// remaining results, make another call with the returned nextToken value.
99288	MaxResults *int64 `min:"5" type:"integer"`
99289
99290	// The token for the next page of results.
99291	NextToken *string `type:"string"`
99292
99293	// The ID of the transit gateway multicast domain.
99294	TransitGatewayMulticastDomainId *string `type:"string"`
99295}
99296
99297// String returns the string representation
99298func (s SearchTransitGatewayMulticastGroupsInput) String() string {
99299	return awsutil.Prettify(s)
99300}
99301
99302// GoString returns the string representation
99303func (s SearchTransitGatewayMulticastGroupsInput) GoString() string {
99304	return s.String()
99305}
99306
99307// Validate inspects the fields of the type to determine if they are valid.
99308func (s *SearchTransitGatewayMulticastGroupsInput) Validate() error {
99309	invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayMulticastGroupsInput"}
99310	if s.MaxResults != nil && *s.MaxResults < 5 {
99311		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
99312	}
99313
99314	if invalidParams.Len() > 0 {
99315		return invalidParams
99316	}
99317	return nil
99318}
99319
99320// SetDryRun sets the DryRun field's value.
99321func (s *SearchTransitGatewayMulticastGroupsInput) SetDryRun(v bool) *SearchTransitGatewayMulticastGroupsInput {
99322	s.DryRun = &v
99323	return s
99324}
99325
99326// SetFilters sets the Filters field's value.
99327func (s *SearchTransitGatewayMulticastGroupsInput) SetFilters(v []*Filter) *SearchTransitGatewayMulticastGroupsInput {
99328	s.Filters = v
99329	return s
99330}
99331
99332// SetMaxResults sets the MaxResults field's value.
99333func (s *SearchTransitGatewayMulticastGroupsInput) SetMaxResults(v int64) *SearchTransitGatewayMulticastGroupsInput {
99334	s.MaxResults = &v
99335	return s
99336}
99337
99338// SetNextToken sets the NextToken field's value.
99339func (s *SearchTransitGatewayMulticastGroupsInput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsInput {
99340	s.NextToken = &v
99341	return s
99342}
99343
99344// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
99345func (s *SearchTransitGatewayMulticastGroupsInput) SetTransitGatewayMulticastDomainId(v string) *SearchTransitGatewayMulticastGroupsInput {
99346	s.TransitGatewayMulticastDomainId = &v
99347	return s
99348}
99349
99350type SearchTransitGatewayMulticastGroupsOutput struct {
99351	_ struct{} `type:"structure"`
99352
99353	// Information about the transit gateway multicast group.
99354	MulticastGroups []*TransitGatewayMulticastGroup `locationName:"multicastGroups" locationNameList:"item" type:"list"`
99355
99356	// The token to use to retrieve the next page of results. This value is null
99357	// when there are no more results to return.
99358	NextToken *string `locationName:"nextToken" type:"string"`
99359}
99360
99361// String returns the string representation
99362func (s SearchTransitGatewayMulticastGroupsOutput) String() string {
99363	return awsutil.Prettify(s)
99364}
99365
99366// GoString returns the string representation
99367func (s SearchTransitGatewayMulticastGroupsOutput) GoString() string {
99368	return s.String()
99369}
99370
99371// SetMulticastGroups sets the MulticastGroups field's value.
99372func (s *SearchTransitGatewayMulticastGroupsOutput) SetMulticastGroups(v []*TransitGatewayMulticastGroup) *SearchTransitGatewayMulticastGroupsOutput {
99373	s.MulticastGroups = v
99374	return s
99375}
99376
99377// SetNextToken sets the NextToken field's value.
99378func (s *SearchTransitGatewayMulticastGroupsOutput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsOutput {
99379	s.NextToken = &v
99380	return s
99381}
99382
99383type SearchTransitGatewayRoutesInput struct {
99384	_ struct{} `type:"structure"`
99385
99386	// Checks whether you have the required permissions for the action, without
99387	// actually making the request, and provides an error response. If you have
99388	// the required permissions, the error response is DryRunOperation. Otherwise,
99389	// it is UnauthorizedOperation.
99390	DryRun *bool `type:"boolean"`
99391
99392	// One or more filters. The possible values are:
99393	//
99394	//    * attachment.transit-gateway-attachment-id- The id of the transit gateway
99395	//    attachment.
99396	//
99397	//    * attachment.resource-id - The resource id of the transit gateway attachment.
99398	//
99399	//    * attachment.resource-type - The attachment resource type (vpc | vpn).
99400	//
99401	//    * route-search.exact-match - The exact match of the specified filter.
99402	//
99403	//    * route-search.longest-prefix-match - The longest prefix that matches
99404	//    the route.
99405	//
99406	//    * route-search.subnet-of-match - The routes with a subnet that match the
99407	//    specified CIDR filter.
99408	//
99409	//    * route-search.supernet-of-match - The routes with a CIDR that encompass
99410	//    the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
99411	//    routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
99412	//    then the result returns 10.0.1.0/29.
99413	//
99414	//    * state - The state of the route (active | blackhole).
99415	//
99416	//    * type - The type of route (propagated | static).
99417	//
99418	// Filters is a required field
99419	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
99420
99421	// The maximum number of routes to return.
99422	MaxResults *int64 `min:"5" type:"integer"`
99423
99424	// The ID of the transit gateway route table.
99425	//
99426	// TransitGatewayRouteTableId is a required field
99427	TransitGatewayRouteTableId *string `type:"string" required:"true"`
99428}
99429
99430// String returns the string representation
99431func (s SearchTransitGatewayRoutesInput) String() string {
99432	return awsutil.Prettify(s)
99433}
99434
99435// GoString returns the string representation
99436func (s SearchTransitGatewayRoutesInput) GoString() string {
99437	return s.String()
99438}
99439
99440// Validate inspects the fields of the type to determine if they are valid.
99441func (s *SearchTransitGatewayRoutesInput) Validate() error {
99442	invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayRoutesInput"}
99443	if s.Filters == nil {
99444		invalidParams.Add(request.NewErrParamRequired("Filters"))
99445	}
99446	if s.MaxResults != nil && *s.MaxResults < 5 {
99447		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
99448	}
99449	if s.TransitGatewayRouteTableId == nil {
99450		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
99451	}
99452
99453	if invalidParams.Len() > 0 {
99454		return invalidParams
99455	}
99456	return nil
99457}
99458
99459// SetDryRun sets the DryRun field's value.
99460func (s *SearchTransitGatewayRoutesInput) SetDryRun(v bool) *SearchTransitGatewayRoutesInput {
99461	s.DryRun = &v
99462	return s
99463}
99464
99465// SetFilters sets the Filters field's value.
99466func (s *SearchTransitGatewayRoutesInput) SetFilters(v []*Filter) *SearchTransitGatewayRoutesInput {
99467	s.Filters = v
99468	return s
99469}
99470
99471// SetMaxResults sets the MaxResults field's value.
99472func (s *SearchTransitGatewayRoutesInput) SetMaxResults(v int64) *SearchTransitGatewayRoutesInput {
99473	s.MaxResults = &v
99474	return s
99475}
99476
99477// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
99478func (s *SearchTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *SearchTransitGatewayRoutesInput {
99479	s.TransitGatewayRouteTableId = &v
99480	return s
99481}
99482
99483type SearchTransitGatewayRoutesOutput struct {
99484	_ struct{} `type:"structure"`
99485
99486	// Indicates whether there are additional routes available.
99487	AdditionalRoutesAvailable *bool `locationName:"additionalRoutesAvailable" type:"boolean"`
99488
99489	// Information about the routes.
99490	Routes []*TransitGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
99491}
99492
99493// String returns the string representation
99494func (s SearchTransitGatewayRoutesOutput) String() string {
99495	return awsutil.Prettify(s)
99496}
99497
99498// GoString returns the string representation
99499func (s SearchTransitGatewayRoutesOutput) GoString() string {
99500	return s.String()
99501}
99502
99503// SetAdditionalRoutesAvailable sets the AdditionalRoutesAvailable field's value.
99504func (s *SearchTransitGatewayRoutesOutput) SetAdditionalRoutesAvailable(v bool) *SearchTransitGatewayRoutesOutput {
99505	s.AdditionalRoutesAvailable = &v
99506	return s
99507}
99508
99509// SetRoutes sets the Routes field's value.
99510func (s *SearchTransitGatewayRoutesOutput) SetRoutes(v []*TransitGatewayRoute) *SearchTransitGatewayRoutesOutput {
99511	s.Routes = v
99512	return s
99513}
99514
99515// Describes a security group
99516type SecurityGroup struct {
99517	_ struct{} `type:"structure"`
99518
99519	// A description of the security group.
99520	Description *string `locationName:"groupDescription" type:"string"`
99521
99522	// The ID of the security group.
99523	GroupId *string `locationName:"groupId" type:"string"`
99524
99525	// The name of the security group.
99526	GroupName *string `locationName:"groupName" type:"string"`
99527
99528	// The inbound rules associated with the security group.
99529	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
99530
99531	// [VPC only] The outbound rules associated with the security group.
99532	IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
99533
99534	// The AWS account ID of the owner of the security group.
99535	OwnerId *string `locationName:"ownerId" type:"string"`
99536
99537	// Any tags assigned to the security group.
99538	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
99539
99540	// [VPC only] The ID of the VPC for the security group.
99541	VpcId *string `locationName:"vpcId" type:"string"`
99542}
99543
99544// String returns the string representation
99545func (s SecurityGroup) String() string {
99546	return awsutil.Prettify(s)
99547}
99548
99549// GoString returns the string representation
99550func (s SecurityGroup) GoString() string {
99551	return s.String()
99552}
99553
99554// SetDescription sets the Description field's value.
99555func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
99556	s.Description = &v
99557	return s
99558}
99559
99560// SetGroupId sets the GroupId field's value.
99561func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
99562	s.GroupId = &v
99563	return s
99564}
99565
99566// SetGroupName sets the GroupName field's value.
99567func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
99568	s.GroupName = &v
99569	return s
99570}
99571
99572// SetIpPermissions sets the IpPermissions field's value.
99573func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
99574	s.IpPermissions = v
99575	return s
99576}
99577
99578// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
99579func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
99580	s.IpPermissionsEgress = v
99581	return s
99582}
99583
99584// SetOwnerId sets the OwnerId field's value.
99585func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
99586	s.OwnerId = &v
99587	return s
99588}
99589
99590// SetTags sets the Tags field's value.
99591func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
99592	s.Tags = v
99593	return s
99594}
99595
99596// SetVpcId sets the VpcId field's value.
99597func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
99598	s.VpcId = &v
99599	return s
99600}
99601
99602// Describes a security group.
99603type SecurityGroupIdentifier struct {
99604	_ struct{} `type:"structure"`
99605
99606	// The ID of the security group.
99607	GroupId *string `locationName:"groupId" type:"string"`
99608
99609	// The name of the security group.
99610	GroupName *string `locationName:"groupName" type:"string"`
99611}
99612
99613// String returns the string representation
99614func (s SecurityGroupIdentifier) String() string {
99615	return awsutil.Prettify(s)
99616}
99617
99618// GoString returns the string representation
99619func (s SecurityGroupIdentifier) GoString() string {
99620	return s.String()
99621}
99622
99623// SetGroupId sets the GroupId field's value.
99624func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
99625	s.GroupId = &v
99626	return s
99627}
99628
99629// SetGroupName sets the GroupName field's value.
99630func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
99631	s.GroupName = &v
99632	return s
99633}
99634
99635// Describes a VPC with a security group that references your security group.
99636type SecurityGroupReference struct {
99637	_ struct{} `type:"structure"`
99638
99639	// The ID of your security group.
99640	GroupId *string `locationName:"groupId" type:"string"`
99641
99642	// The ID of the VPC with the referencing security group.
99643	ReferencingVpcId *string `locationName:"referencingVpcId" type:"string"`
99644
99645	// The ID of the VPC peering connection.
99646	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
99647}
99648
99649// String returns the string representation
99650func (s SecurityGroupReference) String() string {
99651	return awsutil.Prettify(s)
99652}
99653
99654// GoString returns the string representation
99655func (s SecurityGroupReference) GoString() string {
99656	return s.String()
99657}
99658
99659// SetGroupId sets the GroupId field's value.
99660func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
99661	s.GroupId = &v
99662	return s
99663}
99664
99665// SetReferencingVpcId sets the ReferencingVpcId field's value.
99666func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
99667	s.ReferencingVpcId = &v
99668	return s
99669}
99670
99671// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
99672func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
99673	s.VpcPeeringConnectionId = &v
99674	return s
99675}
99676
99677type SendDiagnosticInterruptInput struct {
99678	_ struct{} `type:"structure"`
99679
99680	// Checks whether you have the required permissions for the action, without
99681	// actually making the request, and provides an error response. If you have
99682	// the required permissions, the error response is DryRunOperation. Otherwise,
99683	// it is UnauthorizedOperation.
99684	DryRun *bool `type:"boolean"`
99685
99686	// The ID of the instance.
99687	//
99688	// InstanceId is a required field
99689	InstanceId *string `type:"string" required:"true"`
99690}
99691
99692// String returns the string representation
99693func (s SendDiagnosticInterruptInput) String() string {
99694	return awsutil.Prettify(s)
99695}
99696
99697// GoString returns the string representation
99698func (s SendDiagnosticInterruptInput) GoString() string {
99699	return s.String()
99700}
99701
99702// Validate inspects the fields of the type to determine if they are valid.
99703func (s *SendDiagnosticInterruptInput) Validate() error {
99704	invalidParams := request.ErrInvalidParams{Context: "SendDiagnosticInterruptInput"}
99705	if s.InstanceId == nil {
99706		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
99707	}
99708
99709	if invalidParams.Len() > 0 {
99710		return invalidParams
99711	}
99712	return nil
99713}
99714
99715// SetDryRun sets the DryRun field's value.
99716func (s *SendDiagnosticInterruptInput) SetDryRun(v bool) *SendDiagnosticInterruptInput {
99717	s.DryRun = &v
99718	return s
99719}
99720
99721// SetInstanceId sets the InstanceId field's value.
99722func (s *SendDiagnosticInterruptInput) SetInstanceId(v string) *SendDiagnosticInterruptInput {
99723	s.InstanceId = &v
99724	return s
99725}
99726
99727type SendDiagnosticInterruptOutput struct {
99728	_ struct{} `type:"structure"`
99729}
99730
99731// String returns the string representation
99732func (s SendDiagnosticInterruptOutput) String() string {
99733	return awsutil.Prettify(s)
99734}
99735
99736// GoString returns the string representation
99737func (s SendDiagnosticInterruptOutput) GoString() string {
99738	return s.String()
99739}
99740
99741// Describes a service configuration for a VPC endpoint service.
99742type ServiceConfiguration struct {
99743	_ struct{} `type:"structure"`
99744
99745	// Indicates whether requests from other AWS accounts to create an endpoint
99746	// to the service must first be accepted.
99747	AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
99748
99749	// The Availability Zones in which the service is available.
99750	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
99751
99752	// The DNS names for the service.
99753	BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
99754
99755	// Indicates whether the service manages its VPC endpoints. Management of the
99756	// service VPC endpoints using the VPC endpoint API is restricted.
99757	ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
99758
99759	// The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
99760	NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
99761
99762	// The private DNS name for the service.
99763	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
99764
99765	// Information about the endpoint service private DNS name configuration.
99766	PrivateDnsNameConfiguration *PrivateDnsNameConfiguration `locationName:"privateDnsNameConfiguration" type:"structure"`
99767
99768	// The ID of the service.
99769	ServiceId *string `locationName:"serviceId" type:"string"`
99770
99771	// The name of the service.
99772	ServiceName *string `locationName:"serviceName" type:"string"`
99773
99774	// The service state.
99775	ServiceState *string `locationName:"serviceState" type:"string" enum:"ServiceState"`
99776
99777	// The type of service.
99778	ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
99779
99780	// Any tags assigned to the service.
99781	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
99782}
99783
99784// String returns the string representation
99785func (s ServiceConfiguration) String() string {
99786	return awsutil.Prettify(s)
99787}
99788
99789// GoString returns the string representation
99790func (s ServiceConfiguration) GoString() string {
99791	return s.String()
99792}
99793
99794// SetAcceptanceRequired sets the AcceptanceRequired field's value.
99795func (s *ServiceConfiguration) SetAcceptanceRequired(v bool) *ServiceConfiguration {
99796	s.AcceptanceRequired = &v
99797	return s
99798}
99799
99800// SetAvailabilityZones sets the AvailabilityZones field's value.
99801func (s *ServiceConfiguration) SetAvailabilityZones(v []*string) *ServiceConfiguration {
99802	s.AvailabilityZones = v
99803	return s
99804}
99805
99806// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
99807func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConfiguration {
99808	s.BaseEndpointDnsNames = v
99809	return s
99810}
99811
99812// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
99813func (s *ServiceConfiguration) SetManagesVpcEndpoints(v bool) *ServiceConfiguration {
99814	s.ManagesVpcEndpoints = &v
99815	return s
99816}
99817
99818// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
99819func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration {
99820	s.NetworkLoadBalancerArns = v
99821	return s
99822}
99823
99824// SetPrivateDnsName sets the PrivateDnsName field's value.
99825func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration {
99826	s.PrivateDnsName = &v
99827	return s
99828}
99829
99830// SetPrivateDnsNameConfiguration sets the PrivateDnsNameConfiguration field's value.
99831func (s *ServiceConfiguration) SetPrivateDnsNameConfiguration(v *PrivateDnsNameConfiguration) *ServiceConfiguration {
99832	s.PrivateDnsNameConfiguration = v
99833	return s
99834}
99835
99836// SetServiceId sets the ServiceId field's value.
99837func (s *ServiceConfiguration) SetServiceId(v string) *ServiceConfiguration {
99838	s.ServiceId = &v
99839	return s
99840}
99841
99842// SetServiceName sets the ServiceName field's value.
99843func (s *ServiceConfiguration) SetServiceName(v string) *ServiceConfiguration {
99844	s.ServiceName = &v
99845	return s
99846}
99847
99848// SetServiceState sets the ServiceState field's value.
99849func (s *ServiceConfiguration) SetServiceState(v string) *ServiceConfiguration {
99850	s.ServiceState = &v
99851	return s
99852}
99853
99854// SetServiceType sets the ServiceType field's value.
99855func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceConfiguration {
99856	s.ServiceType = v
99857	return s
99858}
99859
99860// SetTags sets the Tags field's value.
99861func (s *ServiceConfiguration) SetTags(v []*Tag) *ServiceConfiguration {
99862	s.Tags = v
99863	return s
99864}
99865
99866// Describes a VPC endpoint service.
99867type ServiceDetail struct {
99868	_ struct{} `type:"structure"`
99869
99870	// Indicates whether VPC endpoint connection requests to the service must be
99871	// accepted by the service owner.
99872	AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
99873
99874	// The Availability Zones in which the service is available.
99875	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
99876
99877	// The DNS names for the service.
99878	BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
99879
99880	// Indicates whether the service manages its VPC endpoints. Management of the
99881	// service VPC endpoints using the VPC endpoint API is restricted.
99882	ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
99883
99884	// The AWS account ID of the service owner.
99885	Owner *string `locationName:"owner" type:"string"`
99886
99887	// The private DNS name for the service.
99888	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
99889
99890	// The verification state of the VPC endpoint service.
99891	//
99892	// Consumers of the endpoint service cannot use the private name when the state
99893	// is not verified.
99894	PrivateDnsNameVerificationState *string `locationName:"privateDnsNameVerificationState" type:"string" enum:"DnsNameState"`
99895
99896	// The ID of the endpoint service.
99897	ServiceId *string `locationName:"serviceId" type:"string"`
99898
99899	// The Amazon Resource Name (ARN) of the service.
99900	ServiceName *string `locationName:"serviceName" type:"string"`
99901
99902	// The type of service.
99903	ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
99904
99905	// Any tags assigned to the service.
99906	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
99907
99908	// Indicates whether the service supports endpoint policies.
99909	VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"`
99910}
99911
99912// String returns the string representation
99913func (s ServiceDetail) String() string {
99914	return awsutil.Prettify(s)
99915}
99916
99917// GoString returns the string representation
99918func (s ServiceDetail) GoString() string {
99919	return s.String()
99920}
99921
99922// SetAcceptanceRequired sets the AcceptanceRequired field's value.
99923func (s *ServiceDetail) SetAcceptanceRequired(v bool) *ServiceDetail {
99924	s.AcceptanceRequired = &v
99925	return s
99926}
99927
99928// SetAvailabilityZones sets the AvailabilityZones field's value.
99929func (s *ServiceDetail) SetAvailabilityZones(v []*string) *ServiceDetail {
99930	s.AvailabilityZones = v
99931	return s
99932}
99933
99934// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
99935func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail {
99936	s.BaseEndpointDnsNames = v
99937	return s
99938}
99939
99940// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
99941func (s *ServiceDetail) SetManagesVpcEndpoints(v bool) *ServiceDetail {
99942	s.ManagesVpcEndpoints = &v
99943	return s
99944}
99945
99946// SetOwner sets the Owner field's value.
99947func (s *ServiceDetail) SetOwner(v string) *ServiceDetail {
99948	s.Owner = &v
99949	return s
99950}
99951
99952// SetPrivateDnsName sets the PrivateDnsName field's value.
99953func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail {
99954	s.PrivateDnsName = &v
99955	return s
99956}
99957
99958// SetPrivateDnsNameVerificationState sets the PrivateDnsNameVerificationState field's value.
99959func (s *ServiceDetail) SetPrivateDnsNameVerificationState(v string) *ServiceDetail {
99960	s.PrivateDnsNameVerificationState = &v
99961	return s
99962}
99963
99964// SetServiceId sets the ServiceId field's value.
99965func (s *ServiceDetail) SetServiceId(v string) *ServiceDetail {
99966	s.ServiceId = &v
99967	return s
99968}
99969
99970// SetServiceName sets the ServiceName field's value.
99971func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail {
99972	s.ServiceName = &v
99973	return s
99974}
99975
99976// SetServiceType sets the ServiceType field's value.
99977func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail {
99978	s.ServiceType = v
99979	return s
99980}
99981
99982// SetTags sets the Tags field's value.
99983func (s *ServiceDetail) SetTags(v []*Tag) *ServiceDetail {
99984	s.Tags = v
99985	return s
99986}
99987
99988// SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value.
99989func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail {
99990	s.VpcEndpointPolicySupported = &v
99991	return s
99992}
99993
99994// Describes the type of service for a VPC endpoint.
99995type ServiceTypeDetail struct {
99996	_ struct{} `type:"structure"`
99997
99998	// The type of service.
99999	ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"`
100000}
100001
100002// String returns the string representation
100003func (s ServiceTypeDetail) String() string {
100004	return awsutil.Prettify(s)
100005}
100006
100007// GoString returns the string representation
100008func (s ServiceTypeDetail) GoString() string {
100009	return s.String()
100010}
100011
100012// SetServiceType sets the ServiceType field's value.
100013func (s *ServiceTypeDetail) SetServiceType(v string) *ServiceTypeDetail {
100014	s.ServiceType = &v
100015	return s
100016}
100017
100018// Describes the time period for a Scheduled Instance to start its first schedule.
100019// The time period must span less than one day.
100020type SlotDateTimeRangeRequest struct {
100021	_ struct{} `type:"structure"`
100022
100023	// The earliest date and time, in UTC, for the Scheduled Instance to start.
100024	//
100025	// EarliestTime is a required field
100026	EarliestTime *time.Time `type:"timestamp" required:"true"`
100027
100028	// The latest date and time, in UTC, for the Scheduled Instance to start. This
100029	// value must be later than or equal to the earliest date and at most three
100030	// months in the future.
100031	//
100032	// LatestTime is a required field
100033	LatestTime *time.Time `type:"timestamp" required:"true"`
100034}
100035
100036// String returns the string representation
100037func (s SlotDateTimeRangeRequest) String() string {
100038	return awsutil.Prettify(s)
100039}
100040
100041// GoString returns the string representation
100042func (s SlotDateTimeRangeRequest) GoString() string {
100043	return s.String()
100044}
100045
100046// Validate inspects the fields of the type to determine if they are valid.
100047func (s *SlotDateTimeRangeRequest) Validate() error {
100048	invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
100049	if s.EarliestTime == nil {
100050		invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
100051	}
100052	if s.LatestTime == nil {
100053		invalidParams.Add(request.NewErrParamRequired("LatestTime"))
100054	}
100055
100056	if invalidParams.Len() > 0 {
100057		return invalidParams
100058	}
100059	return nil
100060}
100061
100062// SetEarliestTime sets the EarliestTime field's value.
100063func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
100064	s.EarliestTime = &v
100065	return s
100066}
100067
100068// SetLatestTime sets the LatestTime field's value.
100069func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
100070	s.LatestTime = &v
100071	return s
100072}
100073
100074// Describes the time period for a Scheduled Instance to start its first schedule.
100075type SlotStartTimeRangeRequest struct {
100076	_ struct{} `type:"structure"`
100077
100078	// The earliest date and time, in UTC, for the Scheduled Instance to start.
100079	EarliestTime *time.Time `type:"timestamp"`
100080
100081	// The latest date and time, in UTC, for the Scheduled Instance to start.
100082	LatestTime *time.Time `type:"timestamp"`
100083}
100084
100085// String returns the string representation
100086func (s SlotStartTimeRangeRequest) String() string {
100087	return awsutil.Prettify(s)
100088}
100089
100090// GoString returns the string representation
100091func (s SlotStartTimeRangeRequest) GoString() string {
100092	return s.String()
100093}
100094
100095// SetEarliestTime sets the EarliestTime field's value.
100096func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
100097	s.EarliestTime = &v
100098	return s
100099}
100100
100101// SetLatestTime sets the LatestTime field's value.
100102func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
100103	s.LatestTime = &v
100104	return s
100105}
100106
100107// Describes a snapshot.
100108type Snapshot struct {
100109	_ struct{} `type:"structure"`
100110
100111	// The data encryption key identifier for the snapshot. This value is a unique
100112	// identifier that corresponds to the data encryption key that was used to encrypt
100113	// the original volume or snapshot copy. Because data encryption keys are inherited
100114	// by volumes created from snapshots, and vice versa, if snapshots share the
100115	// same data encryption key identifier, then they belong to the same volume/snapshot
100116	// lineage. This parameter is only returned by DescribeSnapshots.
100117	DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
100118
100119	// The description for the snapshot.
100120	Description *string `locationName:"description" type:"string"`
100121
100122	// Indicates whether the snapshot is encrypted.
100123	Encrypted *bool `locationName:"encrypted" type:"boolean"`
100124
100125	// The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
100126	// customer master key (CMK) that was used to protect the volume encryption
100127	// key for the parent volume.
100128	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
100129
100130	// Value from an Amazon-maintained list (amazon | self | all | aws-marketplace
100131	// | microsoft) of snapshot owners. Not to be confused with the user-configured
100132	// AWS account alias, which is set from the IAM console.
100133	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
100134
100135	// The AWS account ID of the EBS snapshot owner.
100136	OwnerId *string `locationName:"ownerId" type:"string"`
100137
100138	// The progress of the snapshot, as a percentage.
100139	Progress *string `locationName:"progress" type:"string"`
100140
100141	// The ID of the snapshot. Each snapshot receives a unique identifier when it
100142	// is created.
100143	SnapshotId *string `locationName:"snapshotId" type:"string"`
100144
100145	// The time stamp when the snapshot was initiated.
100146	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
100147
100148	// The snapshot state.
100149	State *string `locationName:"status" type:"string" enum:"SnapshotState"`
100150
100151	// Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
100152	// operation fails (for example, if the proper AWS Key Management Service (AWS
100153	// KMS) permissions are not obtained) this field displays error state details
100154	// to help you diagnose why the error occurred. This parameter is only returned
100155	// by DescribeSnapshots.
100156	StateMessage *string `locationName:"statusMessage" type:"string"`
100157
100158	// Any tags assigned to the snapshot.
100159	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
100160
100161	// The ID of the volume that was used to create the snapshot. Snapshots created
100162	// by the CopySnapshot action have an arbitrary volume ID that should not be
100163	// used for any purpose.
100164	VolumeId *string `locationName:"volumeId" type:"string"`
100165
100166	// The size of the volume, in GiB.
100167	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
100168}
100169
100170// String returns the string representation
100171func (s Snapshot) String() string {
100172	return awsutil.Prettify(s)
100173}
100174
100175// GoString returns the string representation
100176func (s Snapshot) GoString() string {
100177	return s.String()
100178}
100179
100180// SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
100181func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
100182	s.DataEncryptionKeyId = &v
100183	return s
100184}
100185
100186// SetDescription sets the Description field's value.
100187func (s *Snapshot) SetDescription(v string) *Snapshot {
100188	s.Description = &v
100189	return s
100190}
100191
100192// SetEncrypted sets the Encrypted field's value.
100193func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
100194	s.Encrypted = &v
100195	return s
100196}
100197
100198// SetKmsKeyId sets the KmsKeyId field's value.
100199func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
100200	s.KmsKeyId = &v
100201	return s
100202}
100203
100204// SetOwnerAlias sets the OwnerAlias field's value.
100205func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
100206	s.OwnerAlias = &v
100207	return s
100208}
100209
100210// SetOwnerId sets the OwnerId field's value.
100211func (s *Snapshot) SetOwnerId(v string) *Snapshot {
100212	s.OwnerId = &v
100213	return s
100214}
100215
100216// SetProgress sets the Progress field's value.
100217func (s *Snapshot) SetProgress(v string) *Snapshot {
100218	s.Progress = &v
100219	return s
100220}
100221
100222// SetSnapshotId sets the SnapshotId field's value.
100223func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
100224	s.SnapshotId = &v
100225	return s
100226}
100227
100228// SetStartTime sets the StartTime field's value.
100229func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
100230	s.StartTime = &v
100231	return s
100232}
100233
100234// SetState sets the State field's value.
100235func (s *Snapshot) SetState(v string) *Snapshot {
100236	s.State = &v
100237	return s
100238}
100239
100240// SetStateMessage sets the StateMessage field's value.
100241func (s *Snapshot) SetStateMessage(v string) *Snapshot {
100242	s.StateMessage = &v
100243	return s
100244}
100245
100246// SetTags sets the Tags field's value.
100247func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
100248	s.Tags = v
100249	return s
100250}
100251
100252// SetVolumeId sets the VolumeId field's value.
100253func (s *Snapshot) SetVolumeId(v string) *Snapshot {
100254	s.VolumeId = &v
100255	return s
100256}
100257
100258// SetVolumeSize sets the VolumeSize field's value.
100259func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
100260	s.VolumeSize = &v
100261	return s
100262}
100263
100264// Describes the snapshot created from the imported disk.
100265type SnapshotDetail struct {
100266	_ struct{} `type:"structure"`
100267
100268	// A description for the snapshot.
100269	Description *string `locationName:"description" type:"string"`
100270
100271	// The block device mapping for the snapshot.
100272	DeviceName *string `locationName:"deviceName" type:"string"`
100273
100274	// The size of the disk in the snapshot, in GiB.
100275	DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
100276
100277	// The format of the disk image from which the snapshot is created.
100278	Format *string `locationName:"format" type:"string"`
100279
100280	// The percentage of progress for the task.
100281	Progress *string `locationName:"progress" type:"string"`
100282
100283	// The snapshot ID of the disk being imported.
100284	SnapshotId *string `locationName:"snapshotId" type:"string"`
100285
100286	// A brief status of the snapshot creation.
100287	Status *string `locationName:"status" type:"string"`
100288
100289	// A detailed status message for the snapshot creation.
100290	StatusMessage *string `locationName:"statusMessage" type:"string"`
100291
100292	// The URL used to access the disk image.
100293	Url *string `locationName:"url" type:"string"`
100294
100295	// The S3 bucket for the disk image.
100296	UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
100297}
100298
100299// String returns the string representation
100300func (s SnapshotDetail) String() string {
100301	return awsutil.Prettify(s)
100302}
100303
100304// GoString returns the string representation
100305func (s SnapshotDetail) GoString() string {
100306	return s.String()
100307}
100308
100309// SetDescription sets the Description field's value.
100310func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
100311	s.Description = &v
100312	return s
100313}
100314
100315// SetDeviceName sets the DeviceName field's value.
100316func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
100317	s.DeviceName = &v
100318	return s
100319}
100320
100321// SetDiskImageSize sets the DiskImageSize field's value.
100322func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
100323	s.DiskImageSize = &v
100324	return s
100325}
100326
100327// SetFormat sets the Format field's value.
100328func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
100329	s.Format = &v
100330	return s
100331}
100332
100333// SetProgress sets the Progress field's value.
100334func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
100335	s.Progress = &v
100336	return s
100337}
100338
100339// SetSnapshotId sets the SnapshotId field's value.
100340func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
100341	s.SnapshotId = &v
100342	return s
100343}
100344
100345// SetStatus sets the Status field's value.
100346func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
100347	s.Status = &v
100348	return s
100349}
100350
100351// SetStatusMessage sets the StatusMessage field's value.
100352func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
100353	s.StatusMessage = &v
100354	return s
100355}
100356
100357// SetUrl sets the Url field's value.
100358func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
100359	s.Url = &v
100360	return s
100361}
100362
100363// SetUserBucket sets the UserBucket field's value.
100364func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
100365	s.UserBucket = v
100366	return s
100367}
100368
100369// The disk container object for the import snapshot request.
100370type SnapshotDiskContainer struct {
100371	_ struct{} `type:"structure"`
100372
100373	// The description of the disk image being imported.
100374	Description *string `type:"string"`
100375
100376	// The format of the disk image being imported.
100377	//
100378	// Valid values: VHD | VMDK
100379	Format *string `type:"string"`
100380
100381	// The URL to the Amazon S3-based disk image being imported. It can either be
100382	// a https URL (https://..) or an Amazon S3 URL (s3://..).
100383	Url *string `type:"string"`
100384
100385	// The S3 bucket for the disk image.
100386	UserBucket *UserBucket `type:"structure"`
100387}
100388
100389// String returns the string representation
100390func (s SnapshotDiskContainer) String() string {
100391	return awsutil.Prettify(s)
100392}
100393
100394// GoString returns the string representation
100395func (s SnapshotDiskContainer) GoString() string {
100396	return s.String()
100397}
100398
100399// SetDescription sets the Description field's value.
100400func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
100401	s.Description = &v
100402	return s
100403}
100404
100405// SetFormat sets the Format field's value.
100406func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
100407	s.Format = &v
100408	return s
100409}
100410
100411// SetUrl sets the Url field's value.
100412func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
100413	s.Url = &v
100414	return s
100415}
100416
100417// SetUserBucket sets the UserBucket field's value.
100418func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
100419	s.UserBucket = v
100420	return s
100421}
100422
100423// Information about a snapshot.
100424type SnapshotInfo struct {
100425	_ struct{} `type:"structure"`
100426
100427	// Description specified by the CreateSnapshotRequest that has been applied
100428	// to all snapshots.
100429	Description *string `locationName:"description" type:"string"`
100430
100431	// Indicates whether the snapshot is encrypted.
100432	Encrypted *bool `locationName:"encrypted" type:"boolean"`
100433
100434	// Account id used when creating this snapshot.
100435	OwnerId *string `locationName:"ownerId" type:"string"`
100436
100437	// Progress this snapshot has made towards completing.
100438	Progress *string `locationName:"progress" type:"string"`
100439
100440	// Snapshot id that can be used to describe this snapshot.
100441	SnapshotId *string `locationName:"snapshotId" type:"string"`
100442
100443	// Time this snapshot was started. This is the same for all snapshots initiated
100444	// by the same request.
100445	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
100446
100447	// Current state of the snapshot.
100448	State *string `locationName:"state" type:"string" enum:"SnapshotState"`
100449
100450	// Tags associated with this snapshot.
100451	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
100452
100453	// Source volume from which this snapshot was created.
100454	VolumeId *string `locationName:"volumeId" type:"string"`
100455
100456	// Size of the volume from which this snapshot was created.
100457	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
100458}
100459
100460// String returns the string representation
100461func (s SnapshotInfo) String() string {
100462	return awsutil.Prettify(s)
100463}
100464
100465// GoString returns the string representation
100466func (s SnapshotInfo) GoString() string {
100467	return s.String()
100468}
100469
100470// SetDescription sets the Description field's value.
100471func (s *SnapshotInfo) SetDescription(v string) *SnapshotInfo {
100472	s.Description = &v
100473	return s
100474}
100475
100476// SetEncrypted sets the Encrypted field's value.
100477func (s *SnapshotInfo) SetEncrypted(v bool) *SnapshotInfo {
100478	s.Encrypted = &v
100479	return s
100480}
100481
100482// SetOwnerId sets the OwnerId field's value.
100483func (s *SnapshotInfo) SetOwnerId(v string) *SnapshotInfo {
100484	s.OwnerId = &v
100485	return s
100486}
100487
100488// SetProgress sets the Progress field's value.
100489func (s *SnapshotInfo) SetProgress(v string) *SnapshotInfo {
100490	s.Progress = &v
100491	return s
100492}
100493
100494// SetSnapshotId sets the SnapshotId field's value.
100495func (s *SnapshotInfo) SetSnapshotId(v string) *SnapshotInfo {
100496	s.SnapshotId = &v
100497	return s
100498}
100499
100500// SetStartTime sets the StartTime field's value.
100501func (s *SnapshotInfo) SetStartTime(v time.Time) *SnapshotInfo {
100502	s.StartTime = &v
100503	return s
100504}
100505
100506// SetState sets the State field's value.
100507func (s *SnapshotInfo) SetState(v string) *SnapshotInfo {
100508	s.State = &v
100509	return s
100510}
100511
100512// SetTags sets the Tags field's value.
100513func (s *SnapshotInfo) SetTags(v []*Tag) *SnapshotInfo {
100514	s.Tags = v
100515	return s
100516}
100517
100518// SetVolumeId sets the VolumeId field's value.
100519func (s *SnapshotInfo) SetVolumeId(v string) *SnapshotInfo {
100520	s.VolumeId = &v
100521	return s
100522}
100523
100524// SetVolumeSize sets the VolumeSize field's value.
100525func (s *SnapshotInfo) SetVolumeSize(v int64) *SnapshotInfo {
100526	s.VolumeSize = &v
100527	return s
100528}
100529
100530// Details about the import snapshot task.
100531type SnapshotTaskDetail struct {
100532	_ struct{} `type:"structure"`
100533
100534	// The description of the snapshot.
100535	Description *string `locationName:"description" type:"string"`
100536
100537	// The size of the disk in the snapshot, in GiB.
100538	DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
100539
100540	// Indicates whether the snapshot is encrypted.
100541	Encrypted *bool `locationName:"encrypted" type:"boolean"`
100542
100543	// The format of the disk image from which the snapshot is created.
100544	Format *string `locationName:"format" type:"string"`
100545
100546	// The identifier for the AWS Key Management Service (AWS KMS) customer master
100547	// key (CMK) that was used to create the encrypted snapshot.
100548	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
100549
100550	// The percentage of completion for the import snapshot task.
100551	Progress *string `locationName:"progress" type:"string"`
100552
100553	// The snapshot ID of the disk being imported.
100554	SnapshotId *string `locationName:"snapshotId" type:"string"`
100555
100556	// A brief status for the import snapshot task.
100557	Status *string `locationName:"status" type:"string"`
100558
100559	// A detailed status message for the import snapshot task.
100560	StatusMessage *string `locationName:"statusMessage" type:"string"`
100561
100562	// The URL of the disk image from which the snapshot is created.
100563	Url *string `locationName:"url" type:"string"`
100564
100565	// The S3 bucket for the disk image.
100566	UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
100567}
100568
100569// String returns the string representation
100570func (s SnapshotTaskDetail) String() string {
100571	return awsutil.Prettify(s)
100572}
100573
100574// GoString returns the string representation
100575func (s SnapshotTaskDetail) GoString() string {
100576	return s.String()
100577}
100578
100579// SetDescription sets the Description field's value.
100580func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
100581	s.Description = &v
100582	return s
100583}
100584
100585// SetDiskImageSize sets the DiskImageSize field's value.
100586func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
100587	s.DiskImageSize = &v
100588	return s
100589}
100590
100591// SetEncrypted sets the Encrypted field's value.
100592func (s *SnapshotTaskDetail) SetEncrypted(v bool) *SnapshotTaskDetail {
100593	s.Encrypted = &v
100594	return s
100595}
100596
100597// SetFormat sets the Format field's value.
100598func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
100599	s.Format = &v
100600	return s
100601}
100602
100603// SetKmsKeyId sets the KmsKeyId field's value.
100604func (s *SnapshotTaskDetail) SetKmsKeyId(v string) *SnapshotTaskDetail {
100605	s.KmsKeyId = &v
100606	return s
100607}
100608
100609// SetProgress sets the Progress field's value.
100610func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
100611	s.Progress = &v
100612	return s
100613}
100614
100615// SetSnapshotId sets the SnapshotId field's value.
100616func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
100617	s.SnapshotId = &v
100618	return s
100619}
100620
100621// SetStatus sets the Status field's value.
100622func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
100623	s.Status = &v
100624	return s
100625}
100626
100627// SetStatusMessage sets the StatusMessage field's value.
100628func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
100629	s.StatusMessage = &v
100630	return s
100631}
100632
100633// SetUrl sets the Url field's value.
100634func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
100635	s.Url = &v
100636	return s
100637}
100638
100639// SetUserBucket sets the UserBucket field's value.
100640func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
100641	s.UserBucket = v
100642	return s
100643}
100644
100645// Describes the data feed for a Spot Instance.
100646type SpotDatafeedSubscription struct {
100647	_ struct{} `type:"structure"`
100648
100649	// The Amazon S3 bucket where the Spot Instance data feed is located.
100650	Bucket *string `locationName:"bucket" type:"string"`
100651
100652	// The fault codes for the Spot Instance request, if any.
100653	Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
100654
100655	// The AWS account ID of the account.
100656	OwnerId *string `locationName:"ownerId" type:"string"`
100657
100658	// The prefix that is prepended to data feed files.
100659	Prefix *string `locationName:"prefix" type:"string"`
100660
100661	// The state of the Spot Instance data feed subscription.
100662	State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
100663}
100664
100665// String returns the string representation
100666func (s SpotDatafeedSubscription) String() string {
100667	return awsutil.Prettify(s)
100668}
100669
100670// GoString returns the string representation
100671func (s SpotDatafeedSubscription) GoString() string {
100672	return s.String()
100673}
100674
100675// SetBucket sets the Bucket field's value.
100676func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
100677	s.Bucket = &v
100678	return s
100679}
100680
100681// SetFault sets the Fault field's value.
100682func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
100683	s.Fault = v
100684	return s
100685}
100686
100687// SetOwnerId sets the OwnerId field's value.
100688func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
100689	s.OwnerId = &v
100690	return s
100691}
100692
100693// SetPrefix sets the Prefix field's value.
100694func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
100695	s.Prefix = &v
100696	return s
100697}
100698
100699// SetState sets the State field's value.
100700func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
100701	s.State = &v
100702	return s
100703}
100704
100705// Describes the launch specification for one or more Spot Instances. If you
100706// include On-Demand capacity in your fleet request, you can't use SpotFleetLaunchSpecification;
100707// you must use LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
100708type SpotFleetLaunchSpecification struct {
100709	_ struct{} `type:"structure"`
100710
100711	// Deprecated.
100712	AddressingType *string `locationName:"addressingType" type:"string"`
100713
100714	// One or more block devices that are mapped to the Spot Instances. You can't
100715	// specify both a snapshot ID and an encryption value. This is because only
100716	// blank volumes can be encrypted on creation. If a snapshot is the basis for
100717	// a volume, it is not blank and its encryption status is used for the volume
100718	// encryption status.
100719	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
100720
100721	// Indicates whether the instances are optimized for EBS I/O. This optimization
100722	// provides dedicated throughput to Amazon EBS and an optimized configuration
100723	// stack to provide optimal EBS I/O performance. This optimization isn't available
100724	// with all instance types. Additional usage charges apply when using an EBS
100725	// Optimized instance.
100726	//
100727	// Default: false
100728	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
100729
100730	// The IAM instance profile.
100731	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
100732
100733	// The ID of the AMI.
100734	ImageId *string `locationName:"imageId" type:"string"`
100735
100736	// The instance type.
100737	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
100738
100739	// The ID of the kernel.
100740	KernelId *string `locationName:"kernelId" type:"string"`
100741
100742	// The name of the key pair.
100743	KeyName *string `locationName:"keyName" type:"string"`
100744
100745	// Enable or disable monitoring for the instances.
100746	Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
100747
100748	// One or more network interfaces. If you specify a network interface, you must
100749	// specify subnet IDs and security group IDs using the network interface.
100750	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
100751
100752	// The placement information.
100753	Placement *SpotPlacement `locationName:"placement" type:"structure"`
100754
100755	// The ID of the RAM disk. Some kernels require additional drivers at launch.
100756	// Check the kernel requirements for information about whether you need to specify
100757	// a RAM disk. To find kernel requirements, refer to the AWS Resource Center
100758	// and search for the kernel ID.
100759	RamdiskId *string `locationName:"ramdiskId" type:"string"`
100760
100761	// One or more security groups. When requesting instances in a VPC, you must
100762	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
100763	// you can specify the names or the IDs of the security groups.
100764	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
100765
100766	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
100767	// If this value is not specified, the default is the Spot price specified for
100768	// the fleet. To determine the Spot price per unit hour, divide the Spot price
100769	// by the value of WeightedCapacity.
100770	SpotPrice *string `locationName:"spotPrice" type:"string"`
100771
100772	// The IDs of the subnets in which to launch the instances. To specify multiple
100773	// subnets, separate them using commas; for example, "subnet-1234abcdeexample1,
100774	// subnet-0987cdef6example2".
100775	SubnetId *string `locationName:"subnetId" type:"string"`
100776
100777	// The tags to apply during creation.
100778	TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
100779
100780	// The Base64-encoded user data that instances use when starting up.
100781	UserData *string `locationName:"userData" type:"string"`
100782
100783	// The number of units provided by the specified instance type. These are the
100784	// same units that you chose to set the target capacity in terms of instances,
100785	// or a performance characteristic such as vCPUs, memory, or I/O.
100786	//
100787	// If the target capacity divided by this value is not a whole number, Amazon
100788	// EC2 rounds the number of instances to the next whole number. If this value
100789	// is not specified, the default is 1.
100790	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
100791}
100792
100793// String returns the string representation
100794func (s SpotFleetLaunchSpecification) String() string {
100795	return awsutil.Prettify(s)
100796}
100797
100798// GoString returns the string representation
100799func (s SpotFleetLaunchSpecification) GoString() string {
100800	return s.String()
100801}
100802
100803// SetAddressingType sets the AddressingType field's value.
100804func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
100805	s.AddressingType = &v
100806	return s
100807}
100808
100809// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
100810func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
100811	s.BlockDeviceMappings = v
100812	return s
100813}
100814
100815// SetEbsOptimized sets the EbsOptimized field's value.
100816func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
100817	s.EbsOptimized = &v
100818	return s
100819}
100820
100821// SetIamInstanceProfile sets the IamInstanceProfile field's value.
100822func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
100823	s.IamInstanceProfile = v
100824	return s
100825}
100826
100827// SetImageId sets the ImageId field's value.
100828func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
100829	s.ImageId = &v
100830	return s
100831}
100832
100833// SetInstanceType sets the InstanceType field's value.
100834func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
100835	s.InstanceType = &v
100836	return s
100837}
100838
100839// SetKernelId sets the KernelId field's value.
100840func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
100841	s.KernelId = &v
100842	return s
100843}
100844
100845// SetKeyName sets the KeyName field's value.
100846func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
100847	s.KeyName = &v
100848	return s
100849}
100850
100851// SetMonitoring sets the Monitoring field's value.
100852func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
100853	s.Monitoring = v
100854	return s
100855}
100856
100857// SetNetworkInterfaces sets the NetworkInterfaces field's value.
100858func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
100859	s.NetworkInterfaces = v
100860	return s
100861}
100862
100863// SetPlacement sets the Placement field's value.
100864func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
100865	s.Placement = v
100866	return s
100867}
100868
100869// SetRamdiskId sets the RamdiskId field's value.
100870func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
100871	s.RamdiskId = &v
100872	return s
100873}
100874
100875// SetSecurityGroups sets the SecurityGroups field's value.
100876func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
100877	s.SecurityGroups = v
100878	return s
100879}
100880
100881// SetSpotPrice sets the SpotPrice field's value.
100882func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
100883	s.SpotPrice = &v
100884	return s
100885}
100886
100887// SetSubnetId sets the SubnetId field's value.
100888func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
100889	s.SubnetId = &v
100890	return s
100891}
100892
100893// SetTagSpecifications sets the TagSpecifications field's value.
100894func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
100895	s.TagSpecifications = v
100896	return s
100897}
100898
100899// SetUserData sets the UserData field's value.
100900func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
100901	s.UserData = &v
100902	return s
100903}
100904
100905// SetWeightedCapacity sets the WeightedCapacity field's value.
100906func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
100907	s.WeightedCapacity = &v
100908	return s
100909}
100910
100911// Describes whether monitoring is enabled.
100912type SpotFleetMonitoring struct {
100913	_ struct{} `type:"structure"`
100914
100915	// Enables monitoring for the instance.
100916	//
100917	// Default: false
100918	Enabled *bool `locationName:"enabled" type:"boolean"`
100919}
100920
100921// String returns the string representation
100922func (s SpotFleetMonitoring) String() string {
100923	return awsutil.Prettify(s)
100924}
100925
100926// GoString returns the string representation
100927func (s SpotFleetMonitoring) GoString() string {
100928	return s.String()
100929}
100930
100931// SetEnabled sets the Enabled field's value.
100932func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
100933	s.Enabled = &v
100934	return s
100935}
100936
100937// Describes a Spot Fleet request.
100938type SpotFleetRequestConfig struct {
100939	_ struct{} `type:"structure"`
100940
100941	// The progress of the Spot Fleet request. If there is an error, the status
100942	// is error. After all requests are placed, the status is pending_fulfillment.
100943	// If the size of the fleet is equal to or greater than its target capacity,
100944	// the status is fulfilled. If the size of the fleet is decreased, the status
100945	// is pending_termination while Spot Instances are terminating.
100946	ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
100947
100948	// The creation date and time of the request.
100949	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
100950
100951	// The configuration of the Spot Fleet request.
100952	SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure"`
100953
100954	// The ID of the Spot Fleet request.
100955	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
100956
100957	// The state of the Spot Fleet request.
100958	SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" enum:"BatchState"`
100959
100960	// The tags for a Spot Fleet resource.
100961	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
100962}
100963
100964// String returns the string representation
100965func (s SpotFleetRequestConfig) String() string {
100966	return awsutil.Prettify(s)
100967}
100968
100969// GoString returns the string representation
100970func (s SpotFleetRequestConfig) GoString() string {
100971	return s.String()
100972}
100973
100974// SetActivityStatus sets the ActivityStatus field's value.
100975func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
100976	s.ActivityStatus = &v
100977	return s
100978}
100979
100980// SetCreateTime sets the CreateTime field's value.
100981func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
100982	s.CreateTime = &v
100983	return s
100984}
100985
100986// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
100987func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
100988	s.SpotFleetRequestConfig = v
100989	return s
100990}
100991
100992// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
100993func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
100994	s.SpotFleetRequestId = &v
100995	return s
100996}
100997
100998// SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
100999func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
101000	s.SpotFleetRequestState = &v
101001	return s
101002}
101003
101004// SetTags sets the Tags field's value.
101005func (s *SpotFleetRequestConfig) SetTags(v []*Tag) *SpotFleetRequestConfig {
101006	s.Tags = v
101007	return s
101008}
101009
101010// Describes the configuration of a Spot Fleet request.
101011type SpotFleetRequestConfigData struct {
101012	_ struct{} `type:"structure"`
101013
101014	// Indicates how to allocate the target Spot Instance capacity across the Spot
101015	// Instance pools specified by the Spot Fleet request.
101016	//
101017	// If the allocation strategy is lowestPrice, Spot Fleet launches instances
101018	// from the Spot Instance pools with the lowest price. This is the default allocation
101019	// strategy.
101020	//
101021	// If the allocation strategy is diversified, Spot Fleet launches instances
101022	// from all the Spot Instance pools that you specify.
101023	//
101024	// If the allocation strategy is capacityOptimized, Spot Fleet launches instances
101025	// from Spot Instance pools with optimal capacity for the number of instances
101026	// that are launching.
101027	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
101028
101029	// A unique, case-sensitive identifier that you provide to ensure the idempotency
101030	// of your listings. This helps to avoid duplicate listings. For more information,
101031	// see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
101032	ClientToken *string `locationName:"clientToken" type:"string"`
101033
101034	// Indicates whether running Spot Instances should be terminated if you decrease
101035	// the target capacity of the Spot Fleet request below the current size of the
101036	// Spot Fleet.
101037	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
101038
101039	// The number of units fulfilled by this request compared to the set target
101040	// capacity. You cannot set this value.
101041	FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
101042
101043	// The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
101044	// role that grants the Spot Fleet the permission to request, launch, terminate,
101045	// and tag instances on your behalf. For more information, see Spot Fleet Prerequisites
101046	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites)
101047	// in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate
101048	// Spot Instances on your behalf when you cancel its Spot Fleet request using
101049	// CancelSpotFleetRequests or when the Spot Fleet request expires, if you set
101050	// TerminateInstancesWithExpiration.
101051	//
101052	// IamFleetRole is a required field
101053	IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
101054
101055	// The behavior when a Spot Instance is interrupted. The default is terminate.
101056	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
101057
101058	// The number of Spot pools across which to allocate your target Spot capacity.
101059	// Valid only when Spot AllocationStrategy is set to lowest-price. Spot Fleet
101060	// selects the cheapest Spot pools and evenly allocates your target Spot capacity
101061	// across the number of Spot pools that you specify.
101062	InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
101063
101064	// The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications,
101065	// you can't specify LaunchTemplateConfigs. If you include On-Demand capacity
101066	// in your request, you must use LaunchTemplateConfigs.
101067	LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"`
101068
101069	// The launch template and overrides. If you specify LaunchTemplateConfigs,
101070	// you can't specify LaunchSpecifications. If you include On-Demand capacity
101071	// in your request, you must use LaunchTemplateConfigs.
101072	LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
101073
101074	// One or more Classic Load Balancers and target groups to attach to the Spot
101075	// Fleet request. Spot Fleet registers the running Spot Instances with the specified
101076	// Classic Load Balancers and target groups.
101077	//
101078	// With Network Load Balancers, Spot Fleet cannot register instances that have
101079	// the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1,
101080	// HS1, M1, M2, M3, and T1.
101081	LoadBalancersConfig *LoadBalancersConfig `locationName:"loadBalancersConfig" type:"structure"`
101082
101083	// The order of the launch template overrides to use in fulfilling On-Demand
101084	// capacity. If you specify lowestPrice, Spot Fleet uses price to determine
101085	// the order, launching the lowest price first. If you specify prioritized,
101086	// Spot Fleet uses the priority that you assign to each Spot Fleet launch template
101087	// override, launching the highest priority first. If you do not specify a value,
101088	// Spot Fleet defaults to lowestPrice.
101089	OnDemandAllocationStrategy *string `locationName:"onDemandAllocationStrategy" type:"string" enum:"OnDemandAllocationStrategy"`
101090
101091	// The number of On-Demand units fulfilled by this request compared to the set
101092	// target On-Demand capacity.
101093	OnDemandFulfilledCapacity *float64 `locationName:"onDemandFulfilledCapacity" type:"double"`
101094
101095	// The maximum amount per hour for On-Demand Instances that you're willing to
101096	// pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice
101097	// parameter, or both parameters to ensure that your fleet cost does not exceed
101098	// your budget. If you set a maximum price per hour for the On-Demand Instances
101099	// and Spot Instances in your request, Spot Fleet will launch instances until
101100	// it reaches the maximum amount you're willing to pay. When the maximum amount
101101	// you're willing to pay is reached, the fleet stops launching instances even
101102	// if it hasn’t met the target capacity.
101103	OnDemandMaxTotalPrice *string `locationName:"onDemandMaxTotalPrice" type:"string"`
101104
101105	// The number of On-Demand units to request. You can choose to set the target
101106	// capacity in terms of instances or a performance characteristic that is important
101107	// to your application workload, such as vCPUs, memory, or I/O. If the request
101108	// type is maintain, you can specify a target capacity of 0 and add capacity
101109	// later.
101110	OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
101111
101112	// Indicates whether Spot Fleet should replace unhealthy instances.
101113	ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
101114
101115	// The maximum amount per hour for Spot Instances that you're willing to pay.
101116	// You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter,
101117	// or both parameters to ensure that your fleet cost does not exceed your budget.
101118	// If you set a maximum price per hour for the On-Demand Instances and Spot
101119	// Instances in your request, Spot Fleet will launch instances until it reaches
101120	// the maximum amount you're willing to pay. When the maximum amount you're
101121	// willing to pay is reached, the fleet stops launching instances even if it
101122	// hasn’t met the target capacity.
101123	SpotMaxTotalPrice *string `locationName:"spotMaxTotalPrice" type:"string"`
101124
101125	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
101126	// The default is the On-Demand price.
101127	SpotPrice *string `locationName:"spotPrice" type:"string"`
101128
101129	// The key-value pair for tagging the Spot Fleet request on creation. The value
101130	// for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request
101131	// fails. To tag instances at launch, specify the tags in the launch template
101132	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template).
101133	// For information about tagging after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
101134	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
101135
101136	// The number of units to request for the Spot Fleet. You can choose to set
101137	// the target capacity in terms of instances or a performance characteristic
101138	// that is important to your application workload, such as vCPUs, memory, or
101139	// I/O. If the request type is maintain, you can specify a target capacity of
101140	// 0 and add capacity later.
101141	//
101142	// TargetCapacity is a required field
101143	TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
101144
101145	// Indicates whether running Spot Instances are terminated when the Spot Fleet
101146	// request expires.
101147	TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
101148
101149	// The type of request. Indicates whether the Spot Fleet only requests the target
101150	// capacity or also attempts to maintain it. When this value is request, the
101151	// Spot Fleet only places the required requests. It does not attempt to replenish
101152	// Spot Instances if capacity is diminished, nor does it submit requests in
101153	// alternative Spot pools if capacity is not available. When this value is maintain,
101154	// the Spot Fleet maintains the target capacity. The Spot Fleet places the required
101155	// requests to meet capacity and automatically replenishes any interrupted instances.
101156	// Default: maintain. instant is listed but is not used by Spot Fleet.
101157	Type *string `locationName:"type" type:"string" enum:"FleetType"`
101158
101159	// The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
101160	// By default, Amazon EC2 starts fulfilling the request immediately.
101161	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
101162
101163	// The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
101164	// After the end date and time, no new Spot Instance requests are placed or
101165	// able to fulfill the request. If no value is specified, the Spot Fleet request
101166	// remains until you cancel it.
101167	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
101168}
101169
101170// String returns the string representation
101171func (s SpotFleetRequestConfigData) String() string {
101172	return awsutil.Prettify(s)
101173}
101174
101175// GoString returns the string representation
101176func (s SpotFleetRequestConfigData) GoString() string {
101177	return s.String()
101178}
101179
101180// Validate inspects the fields of the type to determine if they are valid.
101181func (s *SpotFleetRequestConfigData) Validate() error {
101182	invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
101183	if s.IamFleetRole == nil {
101184		invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
101185	}
101186	if s.TargetCapacity == nil {
101187		invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
101188	}
101189	if s.LaunchTemplateConfigs != nil {
101190		for i, v := range s.LaunchTemplateConfigs {
101191			if v == nil {
101192				continue
101193			}
101194			if err := v.Validate(); err != nil {
101195				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
101196			}
101197		}
101198	}
101199	if s.LoadBalancersConfig != nil {
101200		if err := s.LoadBalancersConfig.Validate(); err != nil {
101201			invalidParams.AddNested("LoadBalancersConfig", err.(request.ErrInvalidParams))
101202		}
101203	}
101204
101205	if invalidParams.Len() > 0 {
101206		return invalidParams
101207	}
101208	return nil
101209}
101210
101211// SetAllocationStrategy sets the AllocationStrategy field's value.
101212func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
101213	s.AllocationStrategy = &v
101214	return s
101215}
101216
101217// SetClientToken sets the ClientToken field's value.
101218func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
101219	s.ClientToken = &v
101220	return s
101221}
101222
101223// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
101224func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
101225	s.ExcessCapacityTerminationPolicy = &v
101226	return s
101227}
101228
101229// SetFulfilledCapacity sets the FulfilledCapacity field's value.
101230func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
101231	s.FulfilledCapacity = &v
101232	return s
101233}
101234
101235// SetIamFleetRole sets the IamFleetRole field's value.
101236func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
101237	s.IamFleetRole = &v
101238	return s
101239}
101240
101241// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
101242func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData {
101243	s.InstanceInterruptionBehavior = &v
101244	return s
101245}
101246
101247// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
101248func (s *SpotFleetRequestConfigData) SetInstancePoolsToUseCount(v int64) *SpotFleetRequestConfigData {
101249	s.InstancePoolsToUseCount = &v
101250	return s
101251}
101252
101253// SetLaunchSpecifications sets the LaunchSpecifications field's value.
101254func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
101255	s.LaunchSpecifications = v
101256	return s
101257}
101258
101259// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
101260func (s *SpotFleetRequestConfigData) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *SpotFleetRequestConfigData {
101261	s.LaunchTemplateConfigs = v
101262	return s
101263}
101264
101265// SetLoadBalancersConfig sets the LoadBalancersConfig field's value.
101266func (s *SpotFleetRequestConfigData) SetLoadBalancersConfig(v *LoadBalancersConfig) *SpotFleetRequestConfigData {
101267	s.LoadBalancersConfig = v
101268	return s
101269}
101270
101271// SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value.
101272func (s *SpotFleetRequestConfigData) SetOnDemandAllocationStrategy(v string) *SpotFleetRequestConfigData {
101273	s.OnDemandAllocationStrategy = &v
101274	return s
101275}
101276
101277// SetOnDemandFulfilledCapacity sets the OnDemandFulfilledCapacity field's value.
101278func (s *SpotFleetRequestConfigData) SetOnDemandFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
101279	s.OnDemandFulfilledCapacity = &v
101280	return s
101281}
101282
101283// SetOnDemandMaxTotalPrice sets the OnDemandMaxTotalPrice field's value.
101284func (s *SpotFleetRequestConfigData) SetOnDemandMaxTotalPrice(v string) *SpotFleetRequestConfigData {
101285	s.OnDemandMaxTotalPrice = &v
101286	return s
101287}
101288
101289// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
101290func (s *SpotFleetRequestConfigData) SetOnDemandTargetCapacity(v int64) *SpotFleetRequestConfigData {
101291	s.OnDemandTargetCapacity = &v
101292	return s
101293}
101294
101295// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
101296func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
101297	s.ReplaceUnhealthyInstances = &v
101298	return s
101299}
101300
101301// SetSpotMaxTotalPrice sets the SpotMaxTotalPrice field's value.
101302func (s *SpotFleetRequestConfigData) SetSpotMaxTotalPrice(v string) *SpotFleetRequestConfigData {
101303	s.SpotMaxTotalPrice = &v
101304	return s
101305}
101306
101307// SetSpotPrice sets the SpotPrice field's value.
101308func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
101309	s.SpotPrice = &v
101310	return s
101311}
101312
101313// SetTagSpecifications sets the TagSpecifications field's value.
101314func (s *SpotFleetRequestConfigData) SetTagSpecifications(v []*TagSpecification) *SpotFleetRequestConfigData {
101315	s.TagSpecifications = v
101316	return s
101317}
101318
101319// SetTargetCapacity sets the TargetCapacity field's value.
101320func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
101321	s.TargetCapacity = &v
101322	return s
101323}
101324
101325// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
101326func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
101327	s.TerminateInstancesWithExpiration = &v
101328	return s
101329}
101330
101331// SetType sets the Type field's value.
101332func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
101333	s.Type = &v
101334	return s
101335}
101336
101337// SetValidFrom sets the ValidFrom field's value.
101338func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
101339	s.ValidFrom = &v
101340	return s
101341}
101342
101343// SetValidUntil sets the ValidUntil field's value.
101344func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
101345	s.ValidUntil = &v
101346	return s
101347}
101348
101349// The tags for a Spot Fleet resource.
101350type SpotFleetTagSpecification struct {
101351	_ struct{} `type:"structure"`
101352
101353	// The type of resource. Currently, the only resource types that are supported
101354	// are spot-fleet-request and instance.
101355	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
101356
101357	// The tags.
101358	Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
101359}
101360
101361// String returns the string representation
101362func (s SpotFleetTagSpecification) String() string {
101363	return awsutil.Prettify(s)
101364}
101365
101366// GoString returns the string representation
101367func (s SpotFleetTagSpecification) GoString() string {
101368	return s.String()
101369}
101370
101371// SetResourceType sets the ResourceType field's value.
101372func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
101373	s.ResourceType = &v
101374	return s
101375}
101376
101377// SetTags sets the Tags field's value.
101378func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
101379	s.Tags = v
101380	return s
101381}
101382
101383// Describes a Spot Instance request.
101384type SpotInstanceRequest struct {
101385	_ struct{} `type:"structure"`
101386
101387	// If you specified a duration and your Spot Instance request was fulfilled,
101388	// this is the fixed hourly price in effect for the Spot Instance while it runs.
101389	ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
101390
101391	// The Availability Zone group. If you specify the same Availability Zone group
101392	// for all Spot Instance requests, all Spot Instances are launched in the same
101393	// Availability Zone.
101394	AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
101395
101396	// The duration for the Spot Instance, in minutes.
101397	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
101398
101399	// The date and time when the Spot Instance request was created, in UTC format
101400	// (for example, YYYY-MM-DDTHH:MM:SSZ).
101401	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
101402
101403	// The fault codes for the Spot Instance request, if any.
101404	Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
101405
101406	// The instance ID, if an instance has been launched to fulfill the Spot Instance
101407	// request.
101408	InstanceId *string `locationName:"instanceId" type:"string"`
101409
101410	// The behavior when a Spot Instance is interrupted.
101411	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
101412
101413	// The instance launch group. Launch groups are Spot Instances that launch together
101414	// and terminate together.
101415	LaunchGroup *string `locationName:"launchGroup" type:"string"`
101416
101417	// Additional information for launching instances.
101418	LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
101419
101420	// The Availability Zone in which the request is launched.
101421	LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
101422
101423	// The product description associated with the Spot Instance.
101424	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
101425
101426	// The ID of the Spot Instance request.
101427	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
101428
101429	// The maximum price per hour that you are willing to pay for a Spot Instance.
101430	SpotPrice *string `locationName:"spotPrice" type:"string"`
101431
101432	// The state of the Spot Instance request. Spot status information helps track
101433	// your Spot Instance requests. For more information, see Spot Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
101434	// in the Amazon EC2 User Guide for Linux Instances.
101435	State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
101436
101437	// The status code and status message describing the Spot Instance request.
101438	Status *SpotInstanceStatus `locationName:"status" type:"structure"`
101439
101440	// Any tags assigned to the resource.
101441	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
101442
101443	// The Spot Instance request type.
101444	Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
101445
101446	// The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
101447	// The request becomes active at this date and time.
101448	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
101449
101450	// The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
101451	// If this is a one-time request, it remains active until all instances launch,
101452	// the request is canceled, or this date is reached. If the request is persistent,
101453	// it remains active until it is canceled or this date is reached. The default
101454	// end date is 7 days from the current date.
101455	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
101456}
101457
101458// String returns the string representation
101459func (s SpotInstanceRequest) String() string {
101460	return awsutil.Prettify(s)
101461}
101462
101463// GoString returns the string representation
101464func (s SpotInstanceRequest) GoString() string {
101465	return s.String()
101466}
101467
101468// SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
101469func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
101470	s.ActualBlockHourlyPrice = &v
101471	return s
101472}
101473
101474// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
101475func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
101476	s.AvailabilityZoneGroup = &v
101477	return s
101478}
101479
101480// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
101481func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
101482	s.BlockDurationMinutes = &v
101483	return s
101484}
101485
101486// SetCreateTime sets the CreateTime field's value.
101487func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
101488	s.CreateTime = &v
101489	return s
101490}
101491
101492// SetFault sets the Fault field's value.
101493func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
101494	s.Fault = v
101495	return s
101496}
101497
101498// SetInstanceId sets the InstanceId field's value.
101499func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
101500	s.InstanceId = &v
101501	return s
101502}
101503
101504// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
101505func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest {
101506	s.InstanceInterruptionBehavior = &v
101507	return s
101508}
101509
101510// SetLaunchGroup sets the LaunchGroup field's value.
101511func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
101512	s.LaunchGroup = &v
101513	return s
101514}
101515
101516// SetLaunchSpecification sets the LaunchSpecification field's value.
101517func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
101518	s.LaunchSpecification = v
101519	return s
101520}
101521
101522// SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
101523func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
101524	s.LaunchedAvailabilityZone = &v
101525	return s
101526}
101527
101528// SetProductDescription sets the ProductDescription field's value.
101529func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
101530	s.ProductDescription = &v
101531	return s
101532}
101533
101534// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
101535func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
101536	s.SpotInstanceRequestId = &v
101537	return s
101538}
101539
101540// SetSpotPrice sets the SpotPrice field's value.
101541func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
101542	s.SpotPrice = &v
101543	return s
101544}
101545
101546// SetState sets the State field's value.
101547func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
101548	s.State = &v
101549	return s
101550}
101551
101552// SetStatus sets the Status field's value.
101553func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
101554	s.Status = v
101555	return s
101556}
101557
101558// SetTags sets the Tags field's value.
101559func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
101560	s.Tags = v
101561	return s
101562}
101563
101564// SetType sets the Type field's value.
101565func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
101566	s.Type = &v
101567	return s
101568}
101569
101570// SetValidFrom sets the ValidFrom field's value.
101571func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
101572	s.ValidFrom = &v
101573	return s
101574}
101575
101576// SetValidUntil sets the ValidUntil field's value.
101577func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
101578	s.ValidUntil = &v
101579	return s
101580}
101581
101582// Describes a Spot Instance state change.
101583type SpotInstanceStateFault struct {
101584	_ struct{} `type:"structure"`
101585
101586	// The reason code for the Spot Instance state change.
101587	Code *string `locationName:"code" type:"string"`
101588
101589	// The message for the Spot Instance state change.
101590	Message *string `locationName:"message" type:"string"`
101591}
101592
101593// String returns the string representation
101594func (s SpotInstanceStateFault) String() string {
101595	return awsutil.Prettify(s)
101596}
101597
101598// GoString returns the string representation
101599func (s SpotInstanceStateFault) GoString() string {
101600	return s.String()
101601}
101602
101603// SetCode sets the Code field's value.
101604func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
101605	s.Code = &v
101606	return s
101607}
101608
101609// SetMessage sets the Message field's value.
101610func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
101611	s.Message = &v
101612	return s
101613}
101614
101615// Describes the status of a Spot Instance request.
101616type SpotInstanceStatus struct {
101617	_ struct{} `type:"structure"`
101618
101619	// 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)
101620	// in the Amazon EC2 User Guide for Linux Instances.
101621	Code *string `locationName:"code" type:"string"`
101622
101623	// The description for the status code.
101624	Message *string `locationName:"message" type:"string"`
101625
101626	// The date and time of the most recent status update, in UTC format (for example,
101627	// YYYY-MM-DDTHH:MM:SSZ).
101628	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
101629}
101630
101631// String returns the string representation
101632func (s SpotInstanceStatus) String() string {
101633	return awsutil.Prettify(s)
101634}
101635
101636// GoString returns the string representation
101637func (s SpotInstanceStatus) GoString() string {
101638	return s.String()
101639}
101640
101641// SetCode sets the Code field's value.
101642func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
101643	s.Code = &v
101644	return s
101645}
101646
101647// SetMessage sets the Message field's value.
101648func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
101649	s.Message = &v
101650	return s
101651}
101652
101653// SetUpdateTime sets the UpdateTime field's value.
101654func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
101655	s.UpdateTime = &v
101656	return s
101657}
101658
101659// The options for Spot Instances.
101660type SpotMarketOptions struct {
101661	_ struct{} `type:"structure"`
101662
101663	// The required duration for the Spot Instances (also known as Spot blocks),
101664	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
101665	// or 360).
101666	BlockDurationMinutes *int64 `type:"integer"`
101667
101668	// The behavior when a Spot Instance is interrupted. The default is terminate.
101669	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
101670
101671	// The maximum hourly price you're willing to pay for the Spot Instances. The
101672	// default is the On-Demand price.
101673	MaxPrice *string `type:"string"`
101674
101675	// The Spot Instance request type. For RunInstances, persistent Spot Instance
101676	// requests are only supported when InstanceInterruptionBehavior is set to either
101677	// hibernate or stop.
101678	SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
101679
101680	// The end date of the request. For a one-time request, the request remains
101681	// active until all instances launch, the request is canceled, or this date
101682	// is reached. If the request is persistent, it remains active until it is canceled
101683	// or this date and time is reached. The default end date is 7 days from the
101684	// current date.
101685	ValidUntil *time.Time `type:"timestamp"`
101686}
101687
101688// String returns the string representation
101689func (s SpotMarketOptions) String() string {
101690	return awsutil.Prettify(s)
101691}
101692
101693// GoString returns the string representation
101694func (s SpotMarketOptions) GoString() string {
101695	return s.String()
101696}
101697
101698// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
101699func (s *SpotMarketOptions) SetBlockDurationMinutes(v int64) *SpotMarketOptions {
101700	s.BlockDurationMinutes = &v
101701	return s
101702}
101703
101704// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
101705func (s *SpotMarketOptions) SetInstanceInterruptionBehavior(v string) *SpotMarketOptions {
101706	s.InstanceInterruptionBehavior = &v
101707	return s
101708}
101709
101710// SetMaxPrice sets the MaxPrice field's value.
101711func (s *SpotMarketOptions) SetMaxPrice(v string) *SpotMarketOptions {
101712	s.MaxPrice = &v
101713	return s
101714}
101715
101716// SetSpotInstanceType sets the SpotInstanceType field's value.
101717func (s *SpotMarketOptions) SetSpotInstanceType(v string) *SpotMarketOptions {
101718	s.SpotInstanceType = &v
101719	return s
101720}
101721
101722// SetValidUntil sets the ValidUntil field's value.
101723func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions {
101724	s.ValidUntil = &v
101725	return s
101726}
101727
101728// Describes the configuration of Spot Instances in an EC2 Fleet.
101729type SpotOptions struct {
101730	_ struct{} `type:"structure"`
101731
101732	// Indicates how to allocate the target Spot Instance capacity across the Spot
101733	// Instance pools specified by the EC2 Fleet.
101734	//
101735	// If the allocation strategy is lowest-price, EC2 Fleet launches instances
101736	// from the Spot Instance pools with the lowest price. This is the default allocation
101737	// strategy.
101738	//
101739	// If the allocation strategy is diversified, EC2 Fleet launches instances from
101740	// all of the Spot Instance pools that you specify.
101741	//
101742	// If the allocation strategy is capacity-optimized, EC2 Fleet launches instances
101743	// from Spot Instance pools with optimal capacity for the number of instances
101744	// that are launching.
101745	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"`
101746
101747	// The behavior when a Spot Instance is interrupted. The default is terminate.
101748	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"`
101749
101750	// The number of Spot pools across which to allocate your target Spot capacity.
101751	// Valid only when AllocationStrategy is set to lowest-price. EC2 Fleet selects
101752	// the cheapest Spot pools and evenly allocates your target Spot capacity across
101753	// the number of Spot pools that you specify.
101754	InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
101755
101756	// The maximum amount per hour for Spot Instances that you're willing to pay.
101757	MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
101758
101759	// The minimum target capacity for Spot Instances in the fleet. If the minimum
101760	// target capacity is not reached, the fleet launches no instances.
101761	MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
101762
101763	// Indicates that the fleet launches all Spot Instances into a single Availability
101764	// Zone. Supported only for fleets of type instant.
101765	SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
101766
101767	// Indicates that the fleet uses a single instance type to launch all Spot Instances
101768	// in the fleet. Supported only for fleets of type instant.
101769	SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
101770}
101771
101772// String returns the string representation
101773func (s SpotOptions) String() string {
101774	return awsutil.Prettify(s)
101775}
101776
101777// GoString returns the string representation
101778func (s SpotOptions) GoString() string {
101779	return s.String()
101780}
101781
101782// SetAllocationStrategy sets the AllocationStrategy field's value.
101783func (s *SpotOptions) SetAllocationStrategy(v string) *SpotOptions {
101784	s.AllocationStrategy = &v
101785	return s
101786}
101787
101788// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
101789func (s *SpotOptions) SetInstanceInterruptionBehavior(v string) *SpotOptions {
101790	s.InstanceInterruptionBehavior = &v
101791	return s
101792}
101793
101794// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
101795func (s *SpotOptions) SetInstancePoolsToUseCount(v int64) *SpotOptions {
101796	s.InstancePoolsToUseCount = &v
101797	return s
101798}
101799
101800// SetMaxTotalPrice sets the MaxTotalPrice field's value.
101801func (s *SpotOptions) SetMaxTotalPrice(v string) *SpotOptions {
101802	s.MaxTotalPrice = &v
101803	return s
101804}
101805
101806// SetMinTargetCapacity sets the MinTargetCapacity field's value.
101807func (s *SpotOptions) SetMinTargetCapacity(v int64) *SpotOptions {
101808	s.MinTargetCapacity = &v
101809	return s
101810}
101811
101812// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
101813func (s *SpotOptions) SetSingleAvailabilityZone(v bool) *SpotOptions {
101814	s.SingleAvailabilityZone = &v
101815	return s
101816}
101817
101818// SetSingleInstanceType sets the SingleInstanceType field's value.
101819func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions {
101820	s.SingleInstanceType = &v
101821	return s
101822}
101823
101824// Describes the configuration of Spot Instances in an EC2 Fleet request.
101825type SpotOptionsRequest struct {
101826	_ struct{} `type:"structure"`
101827
101828	// Indicates how to allocate the target Spot Instance capacity across the Spot
101829	// Instance pools specified by the EC2 Fleet.
101830	//
101831	// If the allocation strategy is lowest-price, EC2 Fleet launches instances
101832	// from the Spot Instance pools with the lowest price. This is the default allocation
101833	// strategy.
101834	//
101835	// If the allocation strategy is diversified, EC2 Fleet launches instances from
101836	// all of the Spot Instance pools that you specify.
101837	//
101838	// If the allocation strategy is capacity-optimized, EC2 Fleet launches instances
101839	// from Spot Instance pools with optimal capacity for the number of instances
101840	// that are launching.
101841	AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"`
101842
101843	// The behavior when a Spot Instance is interrupted. The default is terminate.
101844	InstanceInterruptionBehavior *string `type:"string" enum:"SpotInstanceInterruptionBehavior"`
101845
101846	// The number of Spot pools across which to allocate your target Spot capacity.
101847	// Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet
101848	// selects the cheapest Spot pools and evenly allocates your target Spot capacity
101849	// across the number of Spot pools that you specify.
101850	InstancePoolsToUseCount *int64 `type:"integer"`
101851
101852	// The maximum amount per hour for Spot Instances that you're willing to pay.
101853	MaxTotalPrice *string `type:"string"`
101854
101855	// The minimum target capacity for Spot Instances in the fleet. If the minimum
101856	// target capacity is not reached, the fleet launches no instances.
101857	MinTargetCapacity *int64 `type:"integer"`
101858
101859	// Indicates that the fleet launches all Spot Instances into a single Availability
101860	// Zone. Supported only for fleets of type instant.
101861	SingleAvailabilityZone *bool `type:"boolean"`
101862
101863	// Indicates that the fleet uses a single instance type to launch all Spot Instances
101864	// in the fleet. Supported only for fleets of type instant.
101865	SingleInstanceType *bool `type:"boolean"`
101866}
101867
101868// String returns the string representation
101869func (s SpotOptionsRequest) String() string {
101870	return awsutil.Prettify(s)
101871}
101872
101873// GoString returns the string representation
101874func (s SpotOptionsRequest) GoString() string {
101875	return s.String()
101876}
101877
101878// SetAllocationStrategy sets the AllocationStrategy field's value.
101879func (s *SpotOptionsRequest) SetAllocationStrategy(v string) *SpotOptionsRequest {
101880	s.AllocationStrategy = &v
101881	return s
101882}
101883
101884// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
101885func (s *SpotOptionsRequest) SetInstanceInterruptionBehavior(v string) *SpotOptionsRequest {
101886	s.InstanceInterruptionBehavior = &v
101887	return s
101888}
101889
101890// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
101891func (s *SpotOptionsRequest) SetInstancePoolsToUseCount(v int64) *SpotOptionsRequest {
101892	s.InstancePoolsToUseCount = &v
101893	return s
101894}
101895
101896// SetMaxTotalPrice sets the MaxTotalPrice field's value.
101897func (s *SpotOptionsRequest) SetMaxTotalPrice(v string) *SpotOptionsRequest {
101898	s.MaxTotalPrice = &v
101899	return s
101900}
101901
101902// SetMinTargetCapacity sets the MinTargetCapacity field's value.
101903func (s *SpotOptionsRequest) SetMinTargetCapacity(v int64) *SpotOptionsRequest {
101904	s.MinTargetCapacity = &v
101905	return s
101906}
101907
101908// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
101909func (s *SpotOptionsRequest) SetSingleAvailabilityZone(v bool) *SpotOptionsRequest {
101910	s.SingleAvailabilityZone = &v
101911	return s
101912}
101913
101914// SetSingleInstanceType sets the SingleInstanceType field's value.
101915func (s *SpotOptionsRequest) SetSingleInstanceType(v bool) *SpotOptionsRequest {
101916	s.SingleInstanceType = &v
101917	return s
101918}
101919
101920// Describes Spot Instance placement.
101921type SpotPlacement struct {
101922	_ struct{} `type:"structure"`
101923
101924	// The Availability Zone.
101925	//
101926	// [Spot Fleet only] To specify multiple Availability Zones, separate them using
101927	// commas; for example, "us-west-2a, us-west-2b".
101928	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
101929
101930	// The name of the placement group.
101931	GroupName *string `locationName:"groupName" type:"string"`
101932
101933	// The tenancy of the instance (if the instance is running in a VPC). An instance
101934	// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
101935	// is not supported for Spot Instances.
101936	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
101937}
101938
101939// String returns the string representation
101940func (s SpotPlacement) String() string {
101941	return awsutil.Prettify(s)
101942}
101943
101944// GoString returns the string representation
101945func (s SpotPlacement) GoString() string {
101946	return s.String()
101947}
101948
101949// SetAvailabilityZone sets the AvailabilityZone field's value.
101950func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
101951	s.AvailabilityZone = &v
101952	return s
101953}
101954
101955// SetGroupName sets the GroupName field's value.
101956func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
101957	s.GroupName = &v
101958	return s
101959}
101960
101961// SetTenancy sets the Tenancy field's value.
101962func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
101963	s.Tenancy = &v
101964	return s
101965}
101966
101967// Describes the maximum price per hour that you are willing to pay for a Spot
101968// Instance.
101969type SpotPrice struct {
101970	_ struct{} `type:"structure"`
101971
101972	// The Availability Zone.
101973	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
101974
101975	// The instance type.
101976	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
101977
101978	// A general description of the AMI.
101979	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
101980
101981	// The maximum price per hour that you are willing to pay for a Spot Instance.
101982	SpotPrice *string `locationName:"spotPrice" type:"string"`
101983
101984	// The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
101985	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
101986}
101987
101988// String returns the string representation
101989func (s SpotPrice) String() string {
101990	return awsutil.Prettify(s)
101991}
101992
101993// GoString returns the string representation
101994func (s SpotPrice) GoString() string {
101995	return s.String()
101996}
101997
101998// SetAvailabilityZone sets the AvailabilityZone field's value.
101999func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
102000	s.AvailabilityZone = &v
102001	return s
102002}
102003
102004// SetInstanceType sets the InstanceType field's value.
102005func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
102006	s.InstanceType = &v
102007	return s
102008}
102009
102010// SetProductDescription sets the ProductDescription field's value.
102011func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
102012	s.ProductDescription = &v
102013	return s
102014}
102015
102016// SetSpotPrice sets the SpotPrice field's value.
102017func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
102018	s.SpotPrice = &v
102019	return s
102020}
102021
102022// SetTimestamp sets the Timestamp field's value.
102023func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
102024	s.Timestamp = &v
102025	return s
102026}
102027
102028// Describes a stale rule in a security group.
102029type StaleIpPermission struct {
102030	_ struct{} `type:"structure"`
102031
102032	// The start of the port range for the TCP and UDP protocols, or an ICMP type
102033	// number. A value of -1 indicates all ICMP types.
102034	FromPort *int64 `locationName:"fromPort" type:"integer"`
102035
102036	// The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
102037	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
102038	IpProtocol *string `locationName:"ipProtocol" type:"string"`
102039
102040	// The IP ranges. Not applicable for stale security group rules.
102041	IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
102042
102043	// The prefix list IDs for an AWS service. Not applicable for stale security
102044	// group rules.
102045	PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
102046
102047	// The end of the port range for the TCP and UDP protocols, or an ICMP type
102048	// number. A value of -1 indicates all ICMP types.
102049	ToPort *int64 `locationName:"toPort" type:"integer"`
102050
102051	// The security group pairs. Returns the ID of the referenced security group
102052	// and VPC, and the ID and status of the VPC peering connection.
102053	UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
102054}
102055
102056// String returns the string representation
102057func (s StaleIpPermission) String() string {
102058	return awsutil.Prettify(s)
102059}
102060
102061// GoString returns the string representation
102062func (s StaleIpPermission) GoString() string {
102063	return s.String()
102064}
102065
102066// SetFromPort sets the FromPort field's value.
102067func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
102068	s.FromPort = &v
102069	return s
102070}
102071
102072// SetIpProtocol sets the IpProtocol field's value.
102073func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
102074	s.IpProtocol = &v
102075	return s
102076}
102077
102078// SetIpRanges sets the IpRanges field's value.
102079func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
102080	s.IpRanges = v
102081	return s
102082}
102083
102084// SetPrefixListIds sets the PrefixListIds field's value.
102085func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
102086	s.PrefixListIds = v
102087	return s
102088}
102089
102090// SetToPort sets the ToPort field's value.
102091func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
102092	s.ToPort = &v
102093	return s
102094}
102095
102096// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
102097func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
102098	s.UserIdGroupPairs = v
102099	return s
102100}
102101
102102// Describes a stale security group (a security group that contains stale rules).
102103type StaleSecurityGroup struct {
102104	_ struct{} `type:"structure"`
102105
102106	// The description of the security group.
102107	Description *string `locationName:"description" type:"string"`
102108
102109	// The ID of the security group.
102110	GroupId *string `locationName:"groupId" type:"string"`
102111
102112	// The name of the security group.
102113	GroupName *string `locationName:"groupName" type:"string"`
102114
102115	// Information about the stale inbound rules in the security group.
102116	StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
102117
102118	// Information about the stale outbound rules in the security group.
102119	StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
102120
102121	// The ID of the VPC for the security group.
102122	VpcId *string `locationName:"vpcId" type:"string"`
102123}
102124
102125// String returns the string representation
102126func (s StaleSecurityGroup) String() string {
102127	return awsutil.Prettify(s)
102128}
102129
102130// GoString returns the string representation
102131func (s StaleSecurityGroup) GoString() string {
102132	return s.String()
102133}
102134
102135// SetDescription sets the Description field's value.
102136func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
102137	s.Description = &v
102138	return s
102139}
102140
102141// SetGroupId sets the GroupId field's value.
102142func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
102143	s.GroupId = &v
102144	return s
102145}
102146
102147// SetGroupName sets the GroupName field's value.
102148func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
102149	s.GroupName = &v
102150	return s
102151}
102152
102153// SetStaleIpPermissions sets the StaleIpPermissions field's value.
102154func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
102155	s.StaleIpPermissions = v
102156	return s
102157}
102158
102159// SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
102160func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
102161	s.StaleIpPermissionsEgress = v
102162	return s
102163}
102164
102165// SetVpcId sets the VpcId field's value.
102166func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
102167	s.VpcId = &v
102168	return s
102169}
102170
102171type StartInstancesInput struct {
102172	_ struct{} `type:"structure"`
102173
102174	// Reserved.
102175	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
102176
102177	// Checks whether you have the required permissions for the action, without
102178	// actually making the request, and provides an error response. If you have
102179	// the required permissions, the error response is DryRunOperation. Otherwise,
102180	// it is UnauthorizedOperation.
102181	DryRun *bool `locationName:"dryRun" type:"boolean"`
102182
102183	// The IDs of the instances.
102184	//
102185	// InstanceIds is a required field
102186	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
102187}
102188
102189// String returns the string representation
102190func (s StartInstancesInput) String() string {
102191	return awsutil.Prettify(s)
102192}
102193
102194// GoString returns the string representation
102195func (s StartInstancesInput) GoString() string {
102196	return s.String()
102197}
102198
102199// Validate inspects the fields of the type to determine if they are valid.
102200func (s *StartInstancesInput) Validate() error {
102201	invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
102202	if s.InstanceIds == nil {
102203		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
102204	}
102205
102206	if invalidParams.Len() > 0 {
102207		return invalidParams
102208	}
102209	return nil
102210}
102211
102212// SetAdditionalInfo sets the AdditionalInfo field's value.
102213func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
102214	s.AdditionalInfo = &v
102215	return s
102216}
102217
102218// SetDryRun sets the DryRun field's value.
102219func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
102220	s.DryRun = &v
102221	return s
102222}
102223
102224// SetInstanceIds sets the InstanceIds field's value.
102225func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
102226	s.InstanceIds = v
102227	return s
102228}
102229
102230type StartInstancesOutput struct {
102231	_ struct{} `type:"structure"`
102232
102233	// Information about the started instances.
102234	StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
102235}
102236
102237// String returns the string representation
102238func (s StartInstancesOutput) String() string {
102239	return awsutil.Prettify(s)
102240}
102241
102242// GoString returns the string representation
102243func (s StartInstancesOutput) GoString() string {
102244	return s.String()
102245}
102246
102247// SetStartingInstances sets the StartingInstances field's value.
102248func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
102249	s.StartingInstances = v
102250	return s
102251}
102252
102253type StartVpcEndpointServicePrivateDnsVerificationInput struct {
102254	_ struct{} `type:"structure"`
102255
102256	// Checks whether you have the required permissions for the action, without
102257	// actually making the request, and provides an error response. If you have
102258	// the required permissions, the error response is DryRunOperation. Otherwise,
102259	// it is UnauthorizedOperation.
102260	DryRun *bool `type:"boolean"`
102261
102262	// The ID of the endpoint service.
102263	//
102264	// ServiceId is a required field
102265	ServiceId *string `type:"string" required:"true"`
102266}
102267
102268// String returns the string representation
102269func (s StartVpcEndpointServicePrivateDnsVerificationInput) String() string {
102270	return awsutil.Prettify(s)
102271}
102272
102273// GoString returns the string representation
102274func (s StartVpcEndpointServicePrivateDnsVerificationInput) GoString() string {
102275	return s.String()
102276}
102277
102278// Validate inspects the fields of the type to determine if they are valid.
102279func (s *StartVpcEndpointServicePrivateDnsVerificationInput) Validate() error {
102280	invalidParams := request.ErrInvalidParams{Context: "StartVpcEndpointServicePrivateDnsVerificationInput"}
102281	if s.ServiceId == nil {
102282		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
102283	}
102284
102285	if invalidParams.Len() > 0 {
102286		return invalidParams
102287	}
102288	return nil
102289}
102290
102291// SetDryRun sets the DryRun field's value.
102292func (s *StartVpcEndpointServicePrivateDnsVerificationInput) SetDryRun(v bool) *StartVpcEndpointServicePrivateDnsVerificationInput {
102293	s.DryRun = &v
102294	return s
102295}
102296
102297// SetServiceId sets the ServiceId field's value.
102298func (s *StartVpcEndpointServicePrivateDnsVerificationInput) SetServiceId(v string) *StartVpcEndpointServicePrivateDnsVerificationInput {
102299	s.ServiceId = &v
102300	return s
102301}
102302
102303type StartVpcEndpointServicePrivateDnsVerificationOutput struct {
102304	_ struct{} `type:"structure"`
102305
102306	// Returns true if the request succeeds; otherwise, it returns an error.
102307	ReturnValue *bool `locationName:"return" type:"boolean"`
102308}
102309
102310// String returns the string representation
102311func (s StartVpcEndpointServicePrivateDnsVerificationOutput) String() string {
102312	return awsutil.Prettify(s)
102313}
102314
102315// GoString returns the string representation
102316func (s StartVpcEndpointServicePrivateDnsVerificationOutput) GoString() string {
102317	return s.String()
102318}
102319
102320// SetReturnValue sets the ReturnValue field's value.
102321func (s *StartVpcEndpointServicePrivateDnsVerificationOutput) SetReturnValue(v bool) *StartVpcEndpointServicePrivateDnsVerificationOutput {
102322	s.ReturnValue = &v
102323	return s
102324}
102325
102326// Describes a state change.
102327type StateReason struct {
102328	_ struct{} `type:"structure"`
102329
102330	// The reason code for the state change.
102331	Code *string `locationName:"code" type:"string"`
102332
102333	// The message for the state change.
102334	//
102335	//    * Server.InsufficientInstanceCapacity: There was insufficient capacity
102336	//    available to satisfy the launch request.
102337	//
102338	//    * Server.InternalError: An internal error caused the instance to terminate
102339	//    during launch.
102340	//
102341	//    * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
102342	//
102343	//    * Server.SpotInstanceShutdown: The instance was stopped because the number
102344	//    of Spot requests with a maximum price equal to or higher than the Spot
102345	//    price exceeded available capacity or because of an increase in the Spot
102346	//    price.
102347	//
102348	//    * Server.SpotInstanceTermination: The instance was terminated because
102349	//    the number of Spot requests with a maximum price equal to or higher than
102350	//    the Spot price exceeded available capacity or because of an increase in
102351	//    the Spot price.
102352	//
102353	//    * Client.InstanceInitiatedShutdown: The instance was shut down using the
102354	//    shutdown -h command from the instance.
102355	//
102356	//    * Client.InstanceTerminated: The instance was terminated or rebooted during
102357	//    AMI creation.
102358	//
102359	//    * Client.InternalError: A client error caused the instance to terminate
102360	//    during launch.
102361	//
102362	//    * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
102363	//
102364	//    * Client.UserInitiatedHibernate: Hibernation was initiated on the instance.
102365	//
102366	//    * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
102367	//    EC2 API.
102368	//
102369	//    * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
102370	//    total storage was exceeded. Decrease usage or request an increase in your
102371	//    account limits.
102372	Message *string `locationName:"message" type:"string"`
102373}
102374
102375// String returns the string representation
102376func (s StateReason) String() string {
102377	return awsutil.Prettify(s)
102378}
102379
102380// GoString returns the string representation
102381func (s StateReason) GoString() string {
102382	return s.String()
102383}
102384
102385// SetCode sets the Code field's value.
102386func (s *StateReason) SetCode(v string) *StateReason {
102387	s.Code = &v
102388	return s
102389}
102390
102391// SetMessage sets the Message field's value.
102392func (s *StateReason) SetMessage(v string) *StateReason {
102393	s.Message = &v
102394	return s
102395}
102396
102397type StopInstancesInput struct {
102398	_ struct{} `type:"structure"`
102399
102400	// Checks whether you have the required permissions for the action, without
102401	// actually making the request, and provides an error response. If you have
102402	// the required permissions, the error response is DryRunOperation. Otherwise,
102403	// it is UnauthorizedOperation.
102404	DryRun *bool `locationName:"dryRun" type:"boolean"`
102405
102406	// Forces the instances to stop. The instances do not have an opportunity to
102407	// flush file system caches or file system metadata. If you use this option,
102408	// you must perform file system check and repair procedures. This option is
102409	// not recommended for Windows instances.
102410	//
102411	// Default: false
102412	Force *bool `locationName:"force" type:"boolean"`
102413
102414	// Hibernates the instance if the instance was enabled for hibernation at launch.
102415	// If the instance cannot hibernate successfully, a normal shutdown occurs.
102416	// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
102417	// in the Amazon Elastic Compute Cloud User Guide.
102418	//
102419	// Default: false
102420	Hibernate *bool `type:"boolean"`
102421
102422	// The IDs of the instances.
102423	//
102424	// InstanceIds is a required field
102425	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
102426}
102427
102428// String returns the string representation
102429func (s StopInstancesInput) String() string {
102430	return awsutil.Prettify(s)
102431}
102432
102433// GoString returns the string representation
102434func (s StopInstancesInput) GoString() string {
102435	return s.String()
102436}
102437
102438// Validate inspects the fields of the type to determine if they are valid.
102439func (s *StopInstancesInput) Validate() error {
102440	invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
102441	if s.InstanceIds == nil {
102442		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
102443	}
102444
102445	if invalidParams.Len() > 0 {
102446		return invalidParams
102447	}
102448	return nil
102449}
102450
102451// SetDryRun sets the DryRun field's value.
102452func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
102453	s.DryRun = &v
102454	return s
102455}
102456
102457// SetForce sets the Force field's value.
102458func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
102459	s.Force = &v
102460	return s
102461}
102462
102463// SetHibernate sets the Hibernate field's value.
102464func (s *StopInstancesInput) SetHibernate(v bool) *StopInstancesInput {
102465	s.Hibernate = &v
102466	return s
102467}
102468
102469// SetInstanceIds sets the InstanceIds field's value.
102470func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
102471	s.InstanceIds = v
102472	return s
102473}
102474
102475type StopInstancesOutput struct {
102476	_ struct{} `type:"structure"`
102477
102478	// Information about the stopped instances.
102479	StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
102480}
102481
102482// String returns the string representation
102483func (s StopInstancesOutput) String() string {
102484	return awsutil.Prettify(s)
102485}
102486
102487// GoString returns the string representation
102488func (s StopInstancesOutput) GoString() string {
102489	return s.String()
102490}
102491
102492// SetStoppingInstances sets the StoppingInstances field's value.
102493func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
102494	s.StoppingInstances = v
102495	return s
102496}
102497
102498// Describes the storage location for an instance store-backed AMI.
102499type Storage struct {
102500	_ struct{} `type:"structure"`
102501
102502	// An Amazon S3 storage location.
102503	S3 *S3Storage `type:"structure"`
102504}
102505
102506// String returns the string representation
102507func (s Storage) String() string {
102508	return awsutil.Prettify(s)
102509}
102510
102511// GoString returns the string representation
102512func (s Storage) GoString() string {
102513	return s.String()
102514}
102515
102516// SetS3 sets the S3 field's value.
102517func (s *Storage) SetS3(v *S3Storage) *Storage {
102518	s.S3 = v
102519	return s
102520}
102521
102522// Describes a storage location in Amazon S3.
102523type StorageLocation struct {
102524	_ struct{} `type:"structure"`
102525
102526	// The name of the S3 bucket.
102527	Bucket *string `type:"string"`
102528
102529	// The key.
102530	Key *string `type:"string"`
102531}
102532
102533// String returns the string representation
102534func (s StorageLocation) String() string {
102535	return awsutil.Prettify(s)
102536}
102537
102538// GoString returns the string representation
102539func (s StorageLocation) GoString() string {
102540	return s.String()
102541}
102542
102543// SetBucket sets the Bucket field's value.
102544func (s *StorageLocation) SetBucket(v string) *StorageLocation {
102545	s.Bucket = &v
102546	return s
102547}
102548
102549// SetKey sets the Key field's value.
102550func (s *StorageLocation) SetKey(v string) *StorageLocation {
102551	s.Key = &v
102552	return s
102553}
102554
102555// Describes a subnet.
102556type Subnet struct {
102557	_ struct{} `type:"structure"`
102558
102559	// Indicates whether a network interface created in this subnet (including a
102560	// network interface created by RunInstances) receives an IPv6 address.
102561	AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
102562
102563	// The Availability Zone of the subnet.
102564	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
102565
102566	// The AZ ID of the subnet.
102567	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
102568
102569	// The number of unused private IPv4 addresses in the subnet. The IPv4 addresses
102570	// for any stopped instances are considered unavailable.
102571	AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
102572
102573	// The IPv4 CIDR block assigned to the subnet.
102574	CidrBlock *string `locationName:"cidrBlock" type:"string"`
102575
102576	// Indicates whether this is the default subnet for the Availability Zone.
102577	DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
102578
102579	// Information about the IPv6 CIDR blocks associated with the subnet.
102580	Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
102581
102582	// Indicates whether instances launched in this subnet receive a public IPv4
102583	// address.
102584	MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
102585
102586	// The Amazon Resource Name (ARN) of the Outpost.
102587	OutpostArn *string `locationName:"outpostArn" type:"string"`
102588
102589	// The ID of the AWS account that owns the subnet.
102590	OwnerId *string `locationName:"ownerId" type:"string"`
102591
102592	// The current state of the subnet.
102593	State *string `locationName:"state" type:"string" enum:"SubnetState"`
102594
102595	// The Amazon Resource Name (ARN) of the subnet.
102596	SubnetArn *string `locationName:"subnetArn" type:"string"`
102597
102598	// The ID of the subnet.
102599	SubnetId *string `locationName:"subnetId" type:"string"`
102600
102601	// Any tags assigned to the subnet.
102602	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
102603
102604	// The ID of the VPC the subnet is in.
102605	VpcId *string `locationName:"vpcId" type:"string"`
102606}
102607
102608// String returns the string representation
102609func (s Subnet) String() string {
102610	return awsutil.Prettify(s)
102611}
102612
102613// GoString returns the string representation
102614func (s Subnet) GoString() string {
102615	return s.String()
102616}
102617
102618// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
102619func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
102620	s.AssignIpv6AddressOnCreation = &v
102621	return s
102622}
102623
102624// SetAvailabilityZone sets the AvailabilityZone field's value.
102625func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
102626	s.AvailabilityZone = &v
102627	return s
102628}
102629
102630// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
102631func (s *Subnet) SetAvailabilityZoneId(v string) *Subnet {
102632	s.AvailabilityZoneId = &v
102633	return s
102634}
102635
102636// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
102637func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
102638	s.AvailableIpAddressCount = &v
102639	return s
102640}
102641
102642// SetCidrBlock sets the CidrBlock field's value.
102643func (s *Subnet) SetCidrBlock(v string) *Subnet {
102644	s.CidrBlock = &v
102645	return s
102646}
102647
102648// SetDefaultForAz sets the DefaultForAz field's value.
102649func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
102650	s.DefaultForAz = &v
102651	return s
102652}
102653
102654// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
102655func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
102656	s.Ipv6CidrBlockAssociationSet = v
102657	return s
102658}
102659
102660// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
102661func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
102662	s.MapPublicIpOnLaunch = &v
102663	return s
102664}
102665
102666// SetOutpostArn sets the OutpostArn field's value.
102667func (s *Subnet) SetOutpostArn(v string) *Subnet {
102668	s.OutpostArn = &v
102669	return s
102670}
102671
102672// SetOwnerId sets the OwnerId field's value.
102673func (s *Subnet) SetOwnerId(v string) *Subnet {
102674	s.OwnerId = &v
102675	return s
102676}
102677
102678// SetState sets the State field's value.
102679func (s *Subnet) SetState(v string) *Subnet {
102680	s.State = &v
102681	return s
102682}
102683
102684// SetSubnetArn sets the SubnetArn field's value.
102685func (s *Subnet) SetSubnetArn(v string) *Subnet {
102686	s.SubnetArn = &v
102687	return s
102688}
102689
102690// SetSubnetId sets the SubnetId field's value.
102691func (s *Subnet) SetSubnetId(v string) *Subnet {
102692	s.SubnetId = &v
102693	return s
102694}
102695
102696// SetTags sets the Tags field's value.
102697func (s *Subnet) SetTags(v []*Tag) *Subnet {
102698	s.Tags = v
102699	return s
102700}
102701
102702// SetVpcId sets the VpcId field's value.
102703func (s *Subnet) SetVpcId(v string) *Subnet {
102704	s.VpcId = &v
102705	return s
102706}
102707
102708// Describes the subnet association with the transit gateway multicast domain.
102709type SubnetAssociation struct {
102710	_ struct{} `type:"structure"`
102711
102712	// The state of the subnet association.
102713	State *string `locationName:"state" type:"string" enum:"TransitGatewayMulitcastDomainAssociationState"`
102714
102715	// The ID of the subnet.
102716	SubnetId *string `locationName:"subnetId" type:"string"`
102717}
102718
102719// String returns the string representation
102720func (s SubnetAssociation) String() string {
102721	return awsutil.Prettify(s)
102722}
102723
102724// GoString returns the string representation
102725func (s SubnetAssociation) GoString() string {
102726	return s.String()
102727}
102728
102729// SetState sets the State field's value.
102730func (s *SubnetAssociation) SetState(v string) *SubnetAssociation {
102731	s.State = &v
102732	return s
102733}
102734
102735// SetSubnetId sets the SubnetId field's value.
102736func (s *SubnetAssociation) SetSubnetId(v string) *SubnetAssociation {
102737	s.SubnetId = &v
102738	return s
102739}
102740
102741// Describes the state of a CIDR block.
102742type SubnetCidrBlockState struct {
102743	_ struct{} `type:"structure"`
102744
102745	// The state of a CIDR block.
102746	State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
102747
102748	// A message about the status of the CIDR block, if applicable.
102749	StatusMessage *string `locationName:"statusMessage" type:"string"`
102750}
102751
102752// String returns the string representation
102753func (s SubnetCidrBlockState) String() string {
102754	return awsutil.Prettify(s)
102755}
102756
102757// GoString returns the string representation
102758func (s SubnetCidrBlockState) GoString() string {
102759	return s.String()
102760}
102761
102762// SetState sets the State field's value.
102763func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
102764	s.State = &v
102765	return s
102766}
102767
102768// SetStatusMessage sets the StatusMessage field's value.
102769func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
102770	s.StatusMessage = &v
102771	return s
102772}
102773
102774// Describes an IPv6 CIDR block associated with a subnet.
102775type SubnetIpv6CidrBlockAssociation struct {
102776	_ struct{} `type:"structure"`
102777
102778	// The association ID for the CIDR block.
102779	AssociationId *string `locationName:"associationId" type:"string"`
102780
102781	// The IPv6 CIDR block.
102782	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
102783
102784	// Information about the state of the CIDR block.
102785	Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
102786}
102787
102788// String returns the string representation
102789func (s SubnetIpv6CidrBlockAssociation) String() string {
102790	return awsutil.Prettify(s)
102791}
102792
102793// GoString returns the string representation
102794func (s SubnetIpv6CidrBlockAssociation) GoString() string {
102795	return s.String()
102796}
102797
102798// SetAssociationId sets the AssociationId field's value.
102799func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
102800	s.AssociationId = &v
102801	return s
102802}
102803
102804// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
102805func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
102806	s.Ipv6CidrBlock = &v
102807	return s
102808}
102809
102810// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
102811func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
102812	s.Ipv6CidrBlockState = v
102813	return s
102814}
102815
102816// Describes the burstable performance instance whose credit option for CPU
102817// usage was successfully modified.
102818type SuccessfulInstanceCreditSpecificationItem struct {
102819	_ struct{} `type:"structure"`
102820
102821	// The ID of the instance.
102822	InstanceId *string `locationName:"instanceId" type:"string"`
102823}
102824
102825// String returns the string representation
102826func (s SuccessfulInstanceCreditSpecificationItem) String() string {
102827	return awsutil.Prettify(s)
102828}
102829
102830// GoString returns the string representation
102831func (s SuccessfulInstanceCreditSpecificationItem) GoString() string {
102832	return s.String()
102833}
102834
102835// SetInstanceId sets the InstanceId field's value.
102836func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *SuccessfulInstanceCreditSpecificationItem {
102837	s.InstanceId = &v
102838	return s
102839}
102840
102841// Describes a Reserved Instance whose queued purchase was successfully deleted.
102842type SuccessfulQueuedPurchaseDeletion struct {
102843	_ struct{} `type:"structure"`
102844
102845	// The ID of the Reserved Instance.
102846	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
102847}
102848
102849// String returns the string representation
102850func (s SuccessfulQueuedPurchaseDeletion) String() string {
102851	return awsutil.Prettify(s)
102852}
102853
102854// GoString returns the string representation
102855func (s SuccessfulQueuedPurchaseDeletion) GoString() string {
102856	return s.String()
102857}
102858
102859// SetReservedInstancesId sets the ReservedInstancesId field's value.
102860func (s *SuccessfulQueuedPurchaseDeletion) SetReservedInstancesId(v string) *SuccessfulQueuedPurchaseDeletion {
102861	s.ReservedInstancesId = &v
102862	return s
102863}
102864
102865// Describes a tag.
102866type Tag struct {
102867	_ struct{} `type:"structure"`
102868
102869	// The key of the tag.
102870	//
102871	// Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
102872	// characters. May not begin with aws:.
102873	Key *string `locationName:"key" type:"string"`
102874
102875	// The value of the tag.
102876	//
102877	// Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
102878	// characters.
102879	Value *string `locationName:"value" type:"string"`
102880}
102881
102882// String returns the string representation
102883func (s Tag) String() string {
102884	return awsutil.Prettify(s)
102885}
102886
102887// GoString returns the string representation
102888func (s Tag) GoString() string {
102889	return s.String()
102890}
102891
102892// SetKey sets the Key field's value.
102893func (s *Tag) SetKey(v string) *Tag {
102894	s.Key = &v
102895	return s
102896}
102897
102898// SetValue sets the Value field's value.
102899func (s *Tag) SetValue(v string) *Tag {
102900	s.Value = &v
102901	return s
102902}
102903
102904// Describes a tag.
102905type TagDescription struct {
102906	_ struct{} `type:"structure"`
102907
102908	// The tag key.
102909	Key *string `locationName:"key" type:"string"`
102910
102911	// The ID of the resource.
102912	ResourceId *string `locationName:"resourceId" type:"string"`
102913
102914	// The resource type.
102915	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
102916
102917	// The tag value.
102918	Value *string `locationName:"value" type:"string"`
102919}
102920
102921// String returns the string representation
102922func (s TagDescription) String() string {
102923	return awsutil.Prettify(s)
102924}
102925
102926// GoString returns the string representation
102927func (s TagDescription) GoString() string {
102928	return s.String()
102929}
102930
102931// SetKey sets the Key field's value.
102932func (s *TagDescription) SetKey(v string) *TagDescription {
102933	s.Key = &v
102934	return s
102935}
102936
102937// SetResourceId sets the ResourceId field's value.
102938func (s *TagDescription) SetResourceId(v string) *TagDescription {
102939	s.ResourceId = &v
102940	return s
102941}
102942
102943// SetResourceType sets the ResourceType field's value.
102944func (s *TagDescription) SetResourceType(v string) *TagDescription {
102945	s.ResourceType = &v
102946	return s
102947}
102948
102949// SetValue sets the Value field's value.
102950func (s *TagDescription) SetValue(v string) *TagDescription {
102951	s.Value = &v
102952	return s
102953}
102954
102955// The tags to apply to a resource when the resource is being created.
102956type TagSpecification struct {
102957	_ struct{} `type:"structure"`
102958
102959	// The type of resource to tag. Currently, the resource types that support tagging
102960	// on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host
102961	// | fleet | fpga-image | instance | key-pair | launch-template | spot-fleet-request
102962	// | placement-group | snapshot | traffic-mirror-filter | traffic-mirror-session
102963	// | traffic-mirror-target | transit-gateway | transit-gateway-attachment |
102964	// transit-gateway-route-table | vpc-endpoint (for interface VPC endpoints)|
102965	// vpc-endpoint-service (for gateway VPC endpoints) | volume | vpc-flow-log.
102966	//
102967	// To tag a resource after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
102968	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
102969
102970	// The tags to apply to the resource.
102971	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
102972}
102973
102974// String returns the string representation
102975func (s TagSpecification) String() string {
102976	return awsutil.Prettify(s)
102977}
102978
102979// GoString returns the string representation
102980func (s TagSpecification) GoString() string {
102981	return s.String()
102982}
102983
102984// SetResourceType sets the ResourceType field's value.
102985func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
102986	s.ResourceType = &v
102987	return s
102988}
102989
102990// SetTags sets the Tags field's value.
102991func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
102992	s.Tags = v
102993	return s
102994}
102995
102996// The number of units to request. You can choose to set the target capacity
102997// in terms of instances or a performance characteristic that is important to
102998// your application workload, such as vCPUs, memory, or I/O. If the request
102999// type is maintain, you can specify a target capacity of 0 and add capacity
103000// later.
103001//
103002// You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance
103003// MaxTotalPrice, or both to ensure that your fleet cost does not exceed your
103004// budget. If you set a maximum price per hour for the On-Demand Instances and
103005// Spot Instances in your request, EC2 Fleet will launch instances until it
103006// reaches the maximum amount that you're willing to pay. When the maximum amount
103007// you're willing to pay is reached, the fleet stops launching instances even
103008// if it hasn’t met the target capacity. The MaxTotalPrice parameters are
103009// located in and
103010type TargetCapacitySpecification struct {
103011	_ struct{} `type:"structure"`
103012
103013	// The default TotalTargetCapacity, which is either Spot or On-Demand.
103014	DefaultTargetCapacityType *string `locationName:"defaultTargetCapacityType" type:"string" enum:"DefaultTargetCapacityType"`
103015
103016	// The number of On-Demand units to request. If you specify a target capacity
103017	// for Spot units, you cannot specify a target capacity for On-Demand units.
103018	OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
103019
103020	// The maximum number of Spot units to launch. If you specify a target capacity
103021	// for On-Demand units, you cannot specify a target capacity for Spot units.
103022	SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"`
103023
103024	// The number of units to request, filled using DefaultTargetCapacityType.
103025	TotalTargetCapacity *int64 `locationName:"totalTargetCapacity" type:"integer"`
103026}
103027
103028// String returns the string representation
103029func (s TargetCapacitySpecification) String() string {
103030	return awsutil.Prettify(s)
103031}
103032
103033// GoString returns the string representation
103034func (s TargetCapacitySpecification) GoString() string {
103035	return s.String()
103036}
103037
103038// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
103039func (s *TargetCapacitySpecification) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecification {
103040	s.DefaultTargetCapacityType = &v
103041	return s
103042}
103043
103044// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
103045func (s *TargetCapacitySpecification) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecification {
103046	s.OnDemandTargetCapacity = &v
103047	return s
103048}
103049
103050// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
103051func (s *TargetCapacitySpecification) SetSpotTargetCapacity(v int64) *TargetCapacitySpecification {
103052	s.SpotTargetCapacity = &v
103053	return s
103054}
103055
103056// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
103057func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCapacitySpecification {
103058	s.TotalTargetCapacity = &v
103059	return s
103060}
103061
103062// The number of units to request. You can choose to set the target capacity
103063// as the number of instances. Or you can set the target capacity to a performance
103064// characteristic that is important to your application workload, such as vCPUs,
103065// memory, or I/O. If the request type is maintain, you can specify a target
103066// capacity of 0 and add capacity later.
103067//
103068// You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance
103069// MaxTotalPrice parameter, or both parameters to ensure that your fleet cost
103070// does not exceed your budget. If you set a maximum price per hour for the
103071// On-Demand Instances and Spot Instances in your request, EC2 Fleet will launch
103072// instances until it reaches the maximum amount that you're willing to pay.
103073// When the maximum amount you're willing to pay is reached, the fleet stops
103074// launching instances even if it hasn’t met the target capacity. The MaxTotalPrice
103075// parameters are located in and .
103076type TargetCapacitySpecificationRequest struct {
103077	_ struct{} `type:"structure"`
103078
103079	// The default TotalTargetCapacity, which is either Spot or On-Demand.
103080	DefaultTargetCapacityType *string `type:"string" enum:"DefaultTargetCapacityType"`
103081
103082	// The number of On-Demand units to request.
103083	OnDemandTargetCapacity *int64 `type:"integer"`
103084
103085	// The number of Spot units to request.
103086	SpotTargetCapacity *int64 `type:"integer"`
103087
103088	// The number of units to request, filled using DefaultTargetCapacityType.
103089	//
103090	// TotalTargetCapacity is a required field
103091	TotalTargetCapacity *int64 `type:"integer" required:"true"`
103092}
103093
103094// String returns the string representation
103095func (s TargetCapacitySpecificationRequest) String() string {
103096	return awsutil.Prettify(s)
103097}
103098
103099// GoString returns the string representation
103100func (s TargetCapacitySpecificationRequest) GoString() string {
103101	return s.String()
103102}
103103
103104// Validate inspects the fields of the type to determine if they are valid.
103105func (s *TargetCapacitySpecificationRequest) Validate() error {
103106	invalidParams := request.ErrInvalidParams{Context: "TargetCapacitySpecificationRequest"}
103107	if s.TotalTargetCapacity == nil {
103108		invalidParams.Add(request.NewErrParamRequired("TotalTargetCapacity"))
103109	}
103110
103111	if invalidParams.Len() > 0 {
103112		return invalidParams
103113	}
103114	return nil
103115}
103116
103117// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
103118func (s *TargetCapacitySpecificationRequest) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecificationRequest {
103119	s.DefaultTargetCapacityType = &v
103120	return s
103121}
103122
103123// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
103124func (s *TargetCapacitySpecificationRequest) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
103125	s.OnDemandTargetCapacity = &v
103126	return s
103127}
103128
103129// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
103130func (s *TargetCapacitySpecificationRequest) SetSpotTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
103131	s.SpotTargetCapacity = &v
103132	return s
103133}
103134
103135// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
103136func (s *TargetCapacitySpecificationRequest) SetTotalTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
103137	s.TotalTargetCapacity = &v
103138	return s
103139}
103140
103141// Information about the Convertible Reserved Instance offering.
103142type TargetConfiguration struct {
103143	_ struct{} `type:"structure"`
103144
103145	// The number of instances the Convertible Reserved Instance offering can be
103146	// applied to. This parameter is reserved and cannot be specified in a request
103147	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
103148
103149	// The ID of the Convertible Reserved Instance offering.
103150	OfferingId *string `locationName:"offeringId" type:"string"`
103151}
103152
103153// String returns the string representation
103154func (s TargetConfiguration) String() string {
103155	return awsutil.Prettify(s)
103156}
103157
103158// GoString returns the string representation
103159func (s TargetConfiguration) GoString() string {
103160	return s.String()
103161}
103162
103163// SetInstanceCount sets the InstanceCount field's value.
103164func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
103165	s.InstanceCount = &v
103166	return s
103167}
103168
103169// SetOfferingId sets the OfferingId field's value.
103170func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
103171	s.OfferingId = &v
103172	return s
103173}
103174
103175// Details about the target configuration.
103176type TargetConfigurationRequest struct {
103177	_ struct{} `type:"structure"`
103178
103179	// The number of instances the Covertible Reserved Instance offering can be
103180	// applied to. This parameter is reserved and cannot be specified in a request
103181	InstanceCount *int64 `type:"integer"`
103182
103183	// The Convertible Reserved Instance offering ID.
103184	//
103185	// OfferingId is a required field
103186	OfferingId *string `type:"string" required:"true"`
103187}
103188
103189// String returns the string representation
103190func (s TargetConfigurationRequest) String() string {
103191	return awsutil.Prettify(s)
103192}
103193
103194// GoString returns the string representation
103195func (s TargetConfigurationRequest) GoString() string {
103196	return s.String()
103197}
103198
103199// Validate inspects the fields of the type to determine if they are valid.
103200func (s *TargetConfigurationRequest) Validate() error {
103201	invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
103202	if s.OfferingId == nil {
103203		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
103204	}
103205
103206	if invalidParams.Len() > 0 {
103207		return invalidParams
103208	}
103209	return nil
103210}
103211
103212// SetInstanceCount sets the InstanceCount field's value.
103213func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
103214	s.InstanceCount = &v
103215	return s
103216}
103217
103218// SetOfferingId sets the OfferingId field's value.
103219func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
103220	s.OfferingId = &v
103221	return s
103222}
103223
103224// Describes a load balancer target group.
103225type TargetGroup struct {
103226	_ struct{} `type:"structure"`
103227
103228	// The Amazon Resource Name (ARN) of the target group.
103229	Arn *string `locationName:"arn" type:"string"`
103230}
103231
103232// String returns the string representation
103233func (s TargetGroup) String() string {
103234	return awsutil.Prettify(s)
103235}
103236
103237// GoString returns the string representation
103238func (s TargetGroup) GoString() string {
103239	return s.String()
103240}
103241
103242// SetArn sets the Arn field's value.
103243func (s *TargetGroup) SetArn(v string) *TargetGroup {
103244	s.Arn = &v
103245	return s
103246}
103247
103248// Describes the target groups to attach to a Spot Fleet. Spot Fleet registers
103249// the running Spot Instances with these target groups.
103250type TargetGroupsConfig struct {
103251	_ struct{} `type:"structure"`
103252
103253	// One or more target groups.
103254	TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list"`
103255}
103256
103257// String returns the string representation
103258func (s TargetGroupsConfig) String() string {
103259	return awsutil.Prettify(s)
103260}
103261
103262// GoString returns the string representation
103263func (s TargetGroupsConfig) GoString() string {
103264	return s.String()
103265}
103266
103267// Validate inspects the fields of the type to determine if they are valid.
103268func (s *TargetGroupsConfig) Validate() error {
103269	invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"}
103270	if s.TargetGroups != nil && len(s.TargetGroups) < 1 {
103271		invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1))
103272	}
103273
103274	if invalidParams.Len() > 0 {
103275		return invalidParams
103276	}
103277	return nil
103278}
103279
103280// SetTargetGroups sets the TargetGroups field's value.
103281func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConfig {
103282	s.TargetGroups = v
103283	return s
103284}
103285
103286// Describes a target network associated with a Client VPN endpoint.
103287type TargetNetwork struct {
103288	_ struct{} `type:"structure"`
103289
103290	// The ID of the association.
103291	AssociationId *string `locationName:"associationId" type:"string"`
103292
103293	// The ID of the Client VPN endpoint with which the target network is associated.
103294	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
103295
103296	// The IDs of the security groups applied to the target network association.
103297	SecurityGroups []*string `locationName:"securityGroups" locationNameList:"item" type:"list"`
103298
103299	// The current state of the target network association.
103300	Status *AssociationStatus `locationName:"status" type:"structure"`
103301
103302	// The ID of the subnet specified as the target network.
103303	TargetNetworkId *string `locationName:"targetNetworkId" type:"string"`
103304
103305	// The ID of the VPC in which the target network (subnet) is located.
103306	VpcId *string `locationName:"vpcId" type:"string"`
103307}
103308
103309// String returns the string representation
103310func (s TargetNetwork) String() string {
103311	return awsutil.Prettify(s)
103312}
103313
103314// GoString returns the string representation
103315func (s TargetNetwork) GoString() string {
103316	return s.String()
103317}
103318
103319// SetAssociationId sets the AssociationId field's value.
103320func (s *TargetNetwork) SetAssociationId(v string) *TargetNetwork {
103321	s.AssociationId = &v
103322	return s
103323}
103324
103325// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
103326func (s *TargetNetwork) SetClientVpnEndpointId(v string) *TargetNetwork {
103327	s.ClientVpnEndpointId = &v
103328	return s
103329}
103330
103331// SetSecurityGroups sets the SecurityGroups field's value.
103332func (s *TargetNetwork) SetSecurityGroups(v []*string) *TargetNetwork {
103333	s.SecurityGroups = v
103334	return s
103335}
103336
103337// SetStatus sets the Status field's value.
103338func (s *TargetNetwork) SetStatus(v *AssociationStatus) *TargetNetwork {
103339	s.Status = v
103340	return s
103341}
103342
103343// SetTargetNetworkId sets the TargetNetworkId field's value.
103344func (s *TargetNetwork) SetTargetNetworkId(v string) *TargetNetwork {
103345	s.TargetNetworkId = &v
103346	return s
103347}
103348
103349// SetVpcId sets the VpcId field's value.
103350func (s *TargetNetwork) SetVpcId(v string) *TargetNetwork {
103351	s.VpcId = &v
103352	return s
103353}
103354
103355// The total value of the new Convertible Reserved Instances.
103356type TargetReservationValue struct {
103357	_ struct{} `type:"structure"`
103358
103359	// The total value of the Convertible Reserved Instances that make up the exchange.
103360	// This is the sum of the list value, remaining upfront price, and additional
103361	// upfront cost of the exchange.
103362	ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
103363
103364	// The configuration of the Convertible Reserved Instances that make up the
103365	// exchange.
103366	TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
103367}
103368
103369// String returns the string representation
103370func (s TargetReservationValue) String() string {
103371	return awsutil.Prettify(s)
103372}
103373
103374// GoString returns the string representation
103375func (s TargetReservationValue) GoString() string {
103376	return s.String()
103377}
103378
103379// SetReservationValue sets the ReservationValue field's value.
103380func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
103381	s.ReservationValue = v
103382	return s
103383}
103384
103385// SetTargetConfiguration sets the TargetConfiguration field's value.
103386func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
103387	s.TargetConfiguration = v
103388	return s
103389}
103390
103391type TerminateClientVpnConnectionsInput struct {
103392	_ struct{} `type:"structure"`
103393
103394	// The ID of the Client VPN endpoint to which the client is connected.
103395	//
103396	// ClientVpnEndpointId is a required field
103397	ClientVpnEndpointId *string `type:"string" required:"true"`
103398
103399	// The ID of the client connection to be terminated.
103400	ConnectionId *string `type:"string"`
103401
103402	// Checks whether you have the required permissions for the action, without
103403	// actually making the request, and provides an error response. If you have
103404	// the required permissions, the error response is DryRunOperation. Otherwise,
103405	// it is UnauthorizedOperation.
103406	DryRun *bool `type:"boolean"`
103407
103408	// The name of the user who initiated the connection. Use this option to terminate
103409	// all active connections for the specified user. This option can only be used
103410	// if the user has established up to five connections.
103411	Username *string `type:"string"`
103412}
103413
103414// String returns the string representation
103415func (s TerminateClientVpnConnectionsInput) String() string {
103416	return awsutil.Prettify(s)
103417}
103418
103419// GoString returns the string representation
103420func (s TerminateClientVpnConnectionsInput) GoString() string {
103421	return s.String()
103422}
103423
103424// Validate inspects the fields of the type to determine if they are valid.
103425func (s *TerminateClientVpnConnectionsInput) Validate() error {
103426	invalidParams := request.ErrInvalidParams{Context: "TerminateClientVpnConnectionsInput"}
103427	if s.ClientVpnEndpointId == nil {
103428		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
103429	}
103430
103431	if invalidParams.Len() > 0 {
103432		return invalidParams
103433	}
103434	return nil
103435}
103436
103437// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
103438func (s *TerminateClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsInput {
103439	s.ClientVpnEndpointId = &v
103440	return s
103441}
103442
103443// SetConnectionId sets the ConnectionId field's value.
103444func (s *TerminateClientVpnConnectionsInput) SetConnectionId(v string) *TerminateClientVpnConnectionsInput {
103445	s.ConnectionId = &v
103446	return s
103447}
103448
103449// SetDryRun sets the DryRun field's value.
103450func (s *TerminateClientVpnConnectionsInput) SetDryRun(v bool) *TerminateClientVpnConnectionsInput {
103451	s.DryRun = &v
103452	return s
103453}
103454
103455// SetUsername sets the Username field's value.
103456func (s *TerminateClientVpnConnectionsInput) SetUsername(v string) *TerminateClientVpnConnectionsInput {
103457	s.Username = &v
103458	return s
103459}
103460
103461type TerminateClientVpnConnectionsOutput struct {
103462	_ struct{} `type:"structure"`
103463
103464	// The ID of the Client VPN endpoint.
103465	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
103466
103467	// The current state of the client connections.
103468	ConnectionStatuses []*TerminateConnectionStatus `locationName:"connectionStatuses" locationNameList:"item" type:"list"`
103469
103470	// The user who established the terminated client connections.
103471	Username *string `locationName:"username" type:"string"`
103472}
103473
103474// String returns the string representation
103475func (s TerminateClientVpnConnectionsOutput) String() string {
103476	return awsutil.Prettify(s)
103477}
103478
103479// GoString returns the string representation
103480func (s TerminateClientVpnConnectionsOutput) GoString() string {
103481	return s.String()
103482}
103483
103484// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
103485func (s *TerminateClientVpnConnectionsOutput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsOutput {
103486	s.ClientVpnEndpointId = &v
103487	return s
103488}
103489
103490// SetConnectionStatuses sets the ConnectionStatuses field's value.
103491func (s *TerminateClientVpnConnectionsOutput) SetConnectionStatuses(v []*TerminateConnectionStatus) *TerminateClientVpnConnectionsOutput {
103492	s.ConnectionStatuses = v
103493	return s
103494}
103495
103496// SetUsername sets the Username field's value.
103497func (s *TerminateClientVpnConnectionsOutput) SetUsername(v string) *TerminateClientVpnConnectionsOutput {
103498	s.Username = &v
103499	return s
103500}
103501
103502// Information about a terminated Client VPN endpoint client connection.
103503type TerminateConnectionStatus struct {
103504	_ struct{} `type:"structure"`
103505
103506	// The ID of the client connection.
103507	ConnectionId *string `locationName:"connectionId" type:"string"`
103508
103509	// A message about the status of the client connection, if applicable.
103510	CurrentStatus *ClientVpnConnectionStatus `locationName:"currentStatus" type:"structure"`
103511
103512	// The state of the client connection.
103513	PreviousStatus *ClientVpnConnectionStatus `locationName:"previousStatus" type:"structure"`
103514}
103515
103516// String returns the string representation
103517func (s TerminateConnectionStatus) String() string {
103518	return awsutil.Prettify(s)
103519}
103520
103521// GoString returns the string representation
103522func (s TerminateConnectionStatus) GoString() string {
103523	return s.String()
103524}
103525
103526// SetConnectionId sets the ConnectionId field's value.
103527func (s *TerminateConnectionStatus) SetConnectionId(v string) *TerminateConnectionStatus {
103528	s.ConnectionId = &v
103529	return s
103530}
103531
103532// SetCurrentStatus sets the CurrentStatus field's value.
103533func (s *TerminateConnectionStatus) SetCurrentStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
103534	s.CurrentStatus = v
103535	return s
103536}
103537
103538// SetPreviousStatus sets the PreviousStatus field's value.
103539func (s *TerminateConnectionStatus) SetPreviousStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
103540	s.PreviousStatus = v
103541	return s
103542}
103543
103544type TerminateInstancesInput struct {
103545	_ struct{} `type:"structure"`
103546
103547	// Checks whether you have the required permissions for the action, without
103548	// actually making the request, and provides an error response. If you have
103549	// the required permissions, the error response is DryRunOperation. Otherwise,
103550	// it is UnauthorizedOperation.
103551	DryRun *bool `locationName:"dryRun" type:"boolean"`
103552
103553	// The IDs of the instances.
103554	//
103555	// Constraints: Up to 1000 instance IDs. We recommend breaking up this request
103556	// into smaller batches.
103557	//
103558	// InstanceIds is a required field
103559	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
103560}
103561
103562// String returns the string representation
103563func (s TerminateInstancesInput) String() string {
103564	return awsutil.Prettify(s)
103565}
103566
103567// GoString returns the string representation
103568func (s TerminateInstancesInput) GoString() string {
103569	return s.String()
103570}
103571
103572// Validate inspects the fields of the type to determine if they are valid.
103573func (s *TerminateInstancesInput) Validate() error {
103574	invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
103575	if s.InstanceIds == nil {
103576		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
103577	}
103578
103579	if invalidParams.Len() > 0 {
103580		return invalidParams
103581	}
103582	return nil
103583}
103584
103585// SetDryRun sets the DryRun field's value.
103586func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
103587	s.DryRun = &v
103588	return s
103589}
103590
103591// SetInstanceIds sets the InstanceIds field's value.
103592func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
103593	s.InstanceIds = v
103594	return s
103595}
103596
103597type TerminateInstancesOutput struct {
103598	_ struct{} `type:"structure"`
103599
103600	// Information about the terminated instances.
103601	TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
103602}
103603
103604// String returns the string representation
103605func (s TerminateInstancesOutput) String() string {
103606	return awsutil.Prettify(s)
103607}
103608
103609// GoString returns the string representation
103610func (s TerminateInstancesOutput) GoString() string {
103611	return s.String()
103612}
103613
103614// SetTerminatingInstances sets the TerminatingInstances field's value.
103615func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
103616	s.TerminatingInstances = v
103617	return s
103618}
103619
103620// Describes the Traffic Mirror filter.
103621type TrafficMirrorFilter struct {
103622	_ struct{} `type:"structure"`
103623
103624	// The description of the Traffic Mirror filter.
103625	Description *string `locationName:"description" type:"string"`
103626
103627	// Information about the egress rules that are associated with the Traffic Mirror
103628	// filter.
103629	EgressFilterRules []*TrafficMirrorFilterRule `locationName:"egressFilterRuleSet" locationNameList:"item" type:"list"`
103630
103631	// Information about the ingress rules that are associated with the Traffic
103632	// Mirror filter.
103633	IngressFilterRules []*TrafficMirrorFilterRule `locationName:"ingressFilterRuleSet" locationNameList:"item" type:"list"`
103634
103635	// The network service traffic that is associated with the Traffic Mirror filter.
103636	NetworkServices []*string `locationName:"networkServiceSet" locationNameList:"item" type:"list"`
103637
103638	// The tags assigned to the Traffic Mirror filter.
103639	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
103640
103641	// The ID of the Traffic Mirror filter.
103642	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
103643}
103644
103645// String returns the string representation
103646func (s TrafficMirrorFilter) String() string {
103647	return awsutil.Prettify(s)
103648}
103649
103650// GoString returns the string representation
103651func (s TrafficMirrorFilter) GoString() string {
103652	return s.String()
103653}
103654
103655// SetDescription sets the Description field's value.
103656func (s *TrafficMirrorFilter) SetDescription(v string) *TrafficMirrorFilter {
103657	s.Description = &v
103658	return s
103659}
103660
103661// SetEgressFilterRules sets the EgressFilterRules field's value.
103662func (s *TrafficMirrorFilter) SetEgressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter {
103663	s.EgressFilterRules = v
103664	return s
103665}
103666
103667// SetIngressFilterRules sets the IngressFilterRules field's value.
103668func (s *TrafficMirrorFilter) SetIngressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter {
103669	s.IngressFilterRules = v
103670	return s
103671}
103672
103673// SetNetworkServices sets the NetworkServices field's value.
103674func (s *TrafficMirrorFilter) SetNetworkServices(v []*string) *TrafficMirrorFilter {
103675	s.NetworkServices = v
103676	return s
103677}
103678
103679// SetTags sets the Tags field's value.
103680func (s *TrafficMirrorFilter) SetTags(v []*Tag) *TrafficMirrorFilter {
103681	s.Tags = v
103682	return s
103683}
103684
103685// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
103686func (s *TrafficMirrorFilter) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilter {
103687	s.TrafficMirrorFilterId = &v
103688	return s
103689}
103690
103691// Describes the Traffic Mirror rule.
103692type TrafficMirrorFilterRule struct {
103693	_ struct{} `type:"structure"`
103694
103695	// The description of the Traffic Mirror rule.
103696	Description *string `locationName:"description" type:"string"`
103697
103698	// The destination CIDR block assigned to the Traffic Mirror rule.
103699	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
103700
103701	// The destination port range assigned to the Traffic Mirror rule.
103702	DestinationPortRange *TrafficMirrorPortRange `locationName:"destinationPortRange" type:"structure"`
103703
103704	// The protocol assigned to the Traffic Mirror rule.
103705	Protocol *int64 `locationName:"protocol" type:"integer"`
103706
103707	// The action assigned to the Traffic Mirror rule.
103708	RuleAction *string `locationName:"ruleAction" type:"string" enum:"TrafficMirrorRuleAction"`
103709
103710	// The rule number of the Traffic Mirror rule.
103711	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
103712
103713	// The source CIDR block assigned to the Traffic Mirror rule.
103714	SourceCidrBlock *string `locationName:"sourceCidrBlock" type:"string"`
103715
103716	// The source port range assigned to the Traffic Mirror rule.
103717	SourcePortRange *TrafficMirrorPortRange `locationName:"sourcePortRange" type:"structure"`
103718
103719	// The traffic direction assigned to the Traffic Mirror rule.
103720	TrafficDirection *string `locationName:"trafficDirection" type:"string" enum:"TrafficDirection"`
103721
103722	// The ID of the Traffic Mirror filter that the rule is associated with.
103723	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
103724
103725	// The ID of the Traffic Mirror rule.
103726	TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"`
103727}
103728
103729// String returns the string representation
103730func (s TrafficMirrorFilterRule) String() string {
103731	return awsutil.Prettify(s)
103732}
103733
103734// GoString returns the string representation
103735func (s TrafficMirrorFilterRule) GoString() string {
103736	return s.String()
103737}
103738
103739// SetDescription sets the Description field's value.
103740func (s *TrafficMirrorFilterRule) SetDescription(v string) *TrafficMirrorFilterRule {
103741	s.Description = &v
103742	return s
103743}
103744
103745// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
103746func (s *TrafficMirrorFilterRule) SetDestinationCidrBlock(v string) *TrafficMirrorFilterRule {
103747	s.DestinationCidrBlock = &v
103748	return s
103749}
103750
103751// SetDestinationPortRange sets the DestinationPortRange field's value.
103752func (s *TrafficMirrorFilterRule) SetDestinationPortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule {
103753	s.DestinationPortRange = v
103754	return s
103755}
103756
103757// SetProtocol sets the Protocol field's value.
103758func (s *TrafficMirrorFilterRule) SetProtocol(v int64) *TrafficMirrorFilterRule {
103759	s.Protocol = &v
103760	return s
103761}
103762
103763// SetRuleAction sets the RuleAction field's value.
103764func (s *TrafficMirrorFilterRule) SetRuleAction(v string) *TrafficMirrorFilterRule {
103765	s.RuleAction = &v
103766	return s
103767}
103768
103769// SetRuleNumber sets the RuleNumber field's value.
103770func (s *TrafficMirrorFilterRule) SetRuleNumber(v int64) *TrafficMirrorFilterRule {
103771	s.RuleNumber = &v
103772	return s
103773}
103774
103775// SetSourceCidrBlock sets the SourceCidrBlock field's value.
103776func (s *TrafficMirrorFilterRule) SetSourceCidrBlock(v string) *TrafficMirrorFilterRule {
103777	s.SourceCidrBlock = &v
103778	return s
103779}
103780
103781// SetSourcePortRange sets the SourcePortRange field's value.
103782func (s *TrafficMirrorFilterRule) SetSourcePortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule {
103783	s.SourcePortRange = v
103784	return s
103785}
103786
103787// SetTrafficDirection sets the TrafficDirection field's value.
103788func (s *TrafficMirrorFilterRule) SetTrafficDirection(v string) *TrafficMirrorFilterRule {
103789	s.TrafficDirection = &v
103790	return s
103791}
103792
103793// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
103794func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilterRule {
103795	s.TrafficMirrorFilterId = &v
103796	return s
103797}
103798
103799// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
103800func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterRuleId(v string) *TrafficMirrorFilterRule {
103801	s.TrafficMirrorFilterRuleId = &v
103802	return s
103803}
103804
103805// Describes the Traffic Mirror port range.
103806type TrafficMirrorPortRange struct {
103807	_ struct{} `type:"structure"`
103808
103809	// The start of the Traffic Mirror port range. This applies to the TCP and UDP
103810	// protocols.
103811	FromPort *int64 `locationName:"fromPort" type:"integer"`
103812
103813	// The end of the Traffic Mirror port range. This applies to the TCP and UDP
103814	// protocols.
103815	ToPort *int64 `locationName:"toPort" type:"integer"`
103816}
103817
103818// String returns the string representation
103819func (s TrafficMirrorPortRange) String() string {
103820	return awsutil.Prettify(s)
103821}
103822
103823// GoString returns the string representation
103824func (s TrafficMirrorPortRange) GoString() string {
103825	return s.String()
103826}
103827
103828// SetFromPort sets the FromPort field's value.
103829func (s *TrafficMirrorPortRange) SetFromPort(v int64) *TrafficMirrorPortRange {
103830	s.FromPort = &v
103831	return s
103832}
103833
103834// SetToPort sets the ToPort field's value.
103835func (s *TrafficMirrorPortRange) SetToPort(v int64) *TrafficMirrorPortRange {
103836	s.ToPort = &v
103837	return s
103838}
103839
103840// Information about the Traffic Mirror filter rule port range.
103841type TrafficMirrorPortRangeRequest struct {
103842	_ struct{} `type:"structure"`
103843
103844	// The first port in the Traffic Mirror port range. This applies to the TCP
103845	// and UDP protocols.
103846	FromPort *int64 `type:"integer"`
103847
103848	// The last port in the Traffic Mirror port range. This applies to the TCP and
103849	// UDP protocols.
103850	ToPort *int64 `type:"integer"`
103851}
103852
103853// String returns the string representation
103854func (s TrafficMirrorPortRangeRequest) String() string {
103855	return awsutil.Prettify(s)
103856}
103857
103858// GoString returns the string representation
103859func (s TrafficMirrorPortRangeRequest) GoString() string {
103860	return s.String()
103861}
103862
103863// SetFromPort sets the FromPort field's value.
103864func (s *TrafficMirrorPortRangeRequest) SetFromPort(v int64) *TrafficMirrorPortRangeRequest {
103865	s.FromPort = &v
103866	return s
103867}
103868
103869// SetToPort sets the ToPort field's value.
103870func (s *TrafficMirrorPortRangeRequest) SetToPort(v int64) *TrafficMirrorPortRangeRequest {
103871	s.ToPort = &v
103872	return s
103873}
103874
103875// Describes a Traffic Mirror session.
103876type TrafficMirrorSession struct {
103877	_ struct{} `type:"structure"`
103878
103879	// The description of the Traffic Mirror session.
103880	Description *string `locationName:"description" type:"string"`
103881
103882	// The ID of the Traffic Mirror session's network interface.
103883	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
103884
103885	// The ID of the account that owns the Traffic Mirror session.
103886	OwnerId *string `locationName:"ownerId" type:"string"`
103887
103888	// The number of bytes in each packet to mirror. These are the bytes after the
103889	// VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror.
103890	// For example, if you set this value to 100, then the first 100 bytes that
103891	// meet the filter criteria are copied to the target. Do not specify this parameter
103892	// when you want to mirror the entire packet
103893	PacketLength *int64 `locationName:"packetLength" type:"integer"`
103894
103895	// The session number determines the order in which sessions are evaluated when
103896	// an interface is used by multiple sessions. The first session with a matching
103897	// filter is the one that mirrors the packets.
103898	//
103899	// Valid values are 1-32766.
103900	SessionNumber *int64 `locationName:"sessionNumber" type:"integer"`
103901
103902	// The tags assigned to the Traffic Mirror session.
103903	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
103904
103905	// The ID of the Traffic Mirror filter.
103906	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
103907
103908	// The ID for the Traffic Mirror session.
103909	TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"`
103910
103911	// The ID of the Traffic Mirror target.
103912	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
103913
103914	// The virtual network ID associated with the Traffic Mirror session.
103915	VirtualNetworkId *int64 `locationName:"virtualNetworkId" type:"integer"`
103916}
103917
103918// String returns the string representation
103919func (s TrafficMirrorSession) String() string {
103920	return awsutil.Prettify(s)
103921}
103922
103923// GoString returns the string representation
103924func (s TrafficMirrorSession) GoString() string {
103925	return s.String()
103926}
103927
103928// SetDescription sets the Description field's value.
103929func (s *TrafficMirrorSession) SetDescription(v string) *TrafficMirrorSession {
103930	s.Description = &v
103931	return s
103932}
103933
103934// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
103935func (s *TrafficMirrorSession) SetNetworkInterfaceId(v string) *TrafficMirrorSession {
103936	s.NetworkInterfaceId = &v
103937	return s
103938}
103939
103940// SetOwnerId sets the OwnerId field's value.
103941func (s *TrafficMirrorSession) SetOwnerId(v string) *TrafficMirrorSession {
103942	s.OwnerId = &v
103943	return s
103944}
103945
103946// SetPacketLength sets the PacketLength field's value.
103947func (s *TrafficMirrorSession) SetPacketLength(v int64) *TrafficMirrorSession {
103948	s.PacketLength = &v
103949	return s
103950}
103951
103952// SetSessionNumber sets the SessionNumber field's value.
103953func (s *TrafficMirrorSession) SetSessionNumber(v int64) *TrafficMirrorSession {
103954	s.SessionNumber = &v
103955	return s
103956}
103957
103958// SetTags sets the Tags field's value.
103959func (s *TrafficMirrorSession) SetTags(v []*Tag) *TrafficMirrorSession {
103960	s.Tags = v
103961	return s
103962}
103963
103964// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
103965func (s *TrafficMirrorSession) SetTrafficMirrorFilterId(v string) *TrafficMirrorSession {
103966	s.TrafficMirrorFilterId = &v
103967	return s
103968}
103969
103970// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
103971func (s *TrafficMirrorSession) SetTrafficMirrorSessionId(v string) *TrafficMirrorSession {
103972	s.TrafficMirrorSessionId = &v
103973	return s
103974}
103975
103976// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
103977func (s *TrafficMirrorSession) SetTrafficMirrorTargetId(v string) *TrafficMirrorSession {
103978	s.TrafficMirrorTargetId = &v
103979	return s
103980}
103981
103982// SetVirtualNetworkId sets the VirtualNetworkId field's value.
103983func (s *TrafficMirrorSession) SetVirtualNetworkId(v int64) *TrafficMirrorSession {
103984	s.VirtualNetworkId = &v
103985	return s
103986}
103987
103988// Describes a Traffic Mirror target.
103989type TrafficMirrorTarget struct {
103990	_ struct{} `type:"structure"`
103991
103992	// Information about the Traffic Mirror target.
103993	Description *string `locationName:"description" type:"string"`
103994
103995	// The network interface ID that is attached to the target.
103996	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
103997
103998	// The Amazon Resource Name (ARN) of the Network Load Balancer.
103999	NetworkLoadBalancerArn *string `locationName:"networkLoadBalancerArn" type:"string"`
104000
104001	// The ID of the account that owns the Traffic Mirror target.
104002	OwnerId *string `locationName:"ownerId" type:"string"`
104003
104004	// The tags assigned to the Traffic Mirror target.
104005	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
104006
104007	// The ID of the Traffic Mirror target.
104008	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
104009
104010	// The type of Traffic Mirror target.
104011	Type *string `locationName:"type" type:"string" enum:"TrafficMirrorTargetType"`
104012}
104013
104014// String returns the string representation
104015func (s TrafficMirrorTarget) String() string {
104016	return awsutil.Prettify(s)
104017}
104018
104019// GoString returns the string representation
104020func (s TrafficMirrorTarget) GoString() string {
104021	return s.String()
104022}
104023
104024// SetDescription sets the Description field's value.
104025func (s *TrafficMirrorTarget) SetDescription(v string) *TrafficMirrorTarget {
104026	s.Description = &v
104027	return s
104028}
104029
104030// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
104031func (s *TrafficMirrorTarget) SetNetworkInterfaceId(v string) *TrafficMirrorTarget {
104032	s.NetworkInterfaceId = &v
104033	return s
104034}
104035
104036// SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value.
104037func (s *TrafficMirrorTarget) SetNetworkLoadBalancerArn(v string) *TrafficMirrorTarget {
104038	s.NetworkLoadBalancerArn = &v
104039	return s
104040}
104041
104042// SetOwnerId sets the OwnerId field's value.
104043func (s *TrafficMirrorTarget) SetOwnerId(v string) *TrafficMirrorTarget {
104044	s.OwnerId = &v
104045	return s
104046}
104047
104048// SetTags sets the Tags field's value.
104049func (s *TrafficMirrorTarget) SetTags(v []*Tag) *TrafficMirrorTarget {
104050	s.Tags = v
104051	return s
104052}
104053
104054// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
104055func (s *TrafficMirrorTarget) SetTrafficMirrorTargetId(v string) *TrafficMirrorTarget {
104056	s.TrafficMirrorTargetId = &v
104057	return s
104058}
104059
104060// SetType sets the Type field's value.
104061func (s *TrafficMirrorTarget) SetType(v string) *TrafficMirrorTarget {
104062	s.Type = &v
104063	return s
104064}
104065
104066// Describes a transit gateway.
104067type TransitGateway struct {
104068	_ struct{} `type:"structure"`
104069
104070	// The creation time.
104071	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
104072
104073	// The description of the transit gateway.
104074	Description *string `locationName:"description" type:"string"`
104075
104076	// The transit gateway options.
104077	Options *TransitGatewayOptions `locationName:"options" type:"structure"`
104078
104079	// The ID of the AWS account ID that owns the transit gateway.
104080	OwnerId *string `locationName:"ownerId" type:"string"`
104081
104082	// The state of the transit gateway.
104083	State *string `locationName:"state" type:"string" enum:"TransitGatewayState"`
104084
104085	// The tags for the transit gateway.
104086	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
104087
104088	// The Amazon Resource Name (ARN) of the transit gateway.
104089	TransitGatewayArn *string `locationName:"transitGatewayArn" type:"string"`
104090
104091	// The ID of the transit gateway.
104092	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
104093}
104094
104095// String returns the string representation
104096func (s TransitGateway) String() string {
104097	return awsutil.Prettify(s)
104098}
104099
104100// GoString returns the string representation
104101func (s TransitGateway) GoString() string {
104102	return s.String()
104103}
104104
104105// SetCreationTime sets the CreationTime field's value.
104106func (s *TransitGateway) SetCreationTime(v time.Time) *TransitGateway {
104107	s.CreationTime = &v
104108	return s
104109}
104110
104111// SetDescription sets the Description field's value.
104112func (s *TransitGateway) SetDescription(v string) *TransitGateway {
104113	s.Description = &v
104114	return s
104115}
104116
104117// SetOptions sets the Options field's value.
104118func (s *TransitGateway) SetOptions(v *TransitGatewayOptions) *TransitGateway {
104119	s.Options = v
104120	return s
104121}
104122
104123// SetOwnerId sets the OwnerId field's value.
104124func (s *TransitGateway) SetOwnerId(v string) *TransitGateway {
104125	s.OwnerId = &v
104126	return s
104127}
104128
104129// SetState sets the State field's value.
104130func (s *TransitGateway) SetState(v string) *TransitGateway {
104131	s.State = &v
104132	return s
104133}
104134
104135// SetTags sets the Tags field's value.
104136func (s *TransitGateway) SetTags(v []*Tag) *TransitGateway {
104137	s.Tags = v
104138	return s
104139}
104140
104141// SetTransitGatewayArn sets the TransitGatewayArn field's value.
104142func (s *TransitGateway) SetTransitGatewayArn(v string) *TransitGateway {
104143	s.TransitGatewayArn = &v
104144	return s
104145}
104146
104147// SetTransitGatewayId sets the TransitGatewayId field's value.
104148func (s *TransitGateway) SetTransitGatewayId(v string) *TransitGateway {
104149	s.TransitGatewayId = &v
104150	return s
104151}
104152
104153// Describes an association between a resource attachment and a transit gateway
104154// route table.
104155type TransitGatewayAssociation struct {
104156	_ struct{} `type:"structure"`
104157
104158	// The ID of the resource.
104159	ResourceId *string `locationName:"resourceId" type:"string"`
104160
104161	// The resource type.
104162	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
104163
104164	// The state of the association.
104165	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
104166
104167	// The ID of the attachment.
104168	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
104169
104170	// The ID of the transit gateway route table.
104171	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
104172}
104173
104174// String returns the string representation
104175func (s TransitGatewayAssociation) String() string {
104176	return awsutil.Prettify(s)
104177}
104178
104179// GoString returns the string representation
104180func (s TransitGatewayAssociation) GoString() string {
104181	return s.String()
104182}
104183
104184// SetResourceId sets the ResourceId field's value.
104185func (s *TransitGatewayAssociation) SetResourceId(v string) *TransitGatewayAssociation {
104186	s.ResourceId = &v
104187	return s
104188}
104189
104190// SetResourceType sets the ResourceType field's value.
104191func (s *TransitGatewayAssociation) SetResourceType(v string) *TransitGatewayAssociation {
104192	s.ResourceType = &v
104193	return s
104194}
104195
104196// SetState sets the State field's value.
104197func (s *TransitGatewayAssociation) SetState(v string) *TransitGatewayAssociation {
104198	s.State = &v
104199	return s
104200}
104201
104202// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
104203func (s *TransitGatewayAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayAssociation {
104204	s.TransitGatewayAttachmentId = &v
104205	return s
104206}
104207
104208// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
104209func (s *TransitGatewayAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAssociation {
104210	s.TransitGatewayRouteTableId = &v
104211	return s
104212}
104213
104214// Describes an attachment between a resource and a transit gateway.
104215type TransitGatewayAttachment struct {
104216	_ struct{} `type:"structure"`
104217
104218	// The association.
104219	Association *TransitGatewayAttachmentAssociation `locationName:"association" type:"structure"`
104220
104221	// The creation time.
104222	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
104223
104224	// The ID of the resource.
104225	ResourceId *string `locationName:"resourceId" type:"string"`
104226
104227	// The ID of the AWS account that owns the resource.
104228	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
104229
104230	// The resource type.
104231	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
104232
104233	// The attachment state.
104234	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
104235
104236	// The tags for the attachment.
104237	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
104238
104239	// The ID of the attachment.
104240	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
104241
104242	// The ID of the transit gateway.
104243	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
104244
104245	// The ID of the AWS account that owns the transit gateway.
104246	TransitGatewayOwnerId *string `locationName:"transitGatewayOwnerId" type:"string"`
104247}
104248
104249// String returns the string representation
104250func (s TransitGatewayAttachment) String() string {
104251	return awsutil.Prettify(s)
104252}
104253
104254// GoString returns the string representation
104255func (s TransitGatewayAttachment) GoString() string {
104256	return s.String()
104257}
104258
104259// SetAssociation sets the Association field's value.
104260func (s *TransitGatewayAttachment) SetAssociation(v *TransitGatewayAttachmentAssociation) *TransitGatewayAttachment {
104261	s.Association = v
104262	return s
104263}
104264
104265// SetCreationTime sets the CreationTime field's value.
104266func (s *TransitGatewayAttachment) SetCreationTime(v time.Time) *TransitGatewayAttachment {
104267	s.CreationTime = &v
104268	return s
104269}
104270
104271// SetResourceId sets the ResourceId field's value.
104272func (s *TransitGatewayAttachment) SetResourceId(v string) *TransitGatewayAttachment {
104273	s.ResourceId = &v
104274	return s
104275}
104276
104277// SetResourceOwnerId sets the ResourceOwnerId field's value.
104278func (s *TransitGatewayAttachment) SetResourceOwnerId(v string) *TransitGatewayAttachment {
104279	s.ResourceOwnerId = &v
104280	return s
104281}
104282
104283// SetResourceType sets the ResourceType field's value.
104284func (s *TransitGatewayAttachment) SetResourceType(v string) *TransitGatewayAttachment {
104285	s.ResourceType = &v
104286	return s
104287}
104288
104289// SetState sets the State field's value.
104290func (s *TransitGatewayAttachment) SetState(v string) *TransitGatewayAttachment {
104291	s.State = &v
104292	return s
104293}
104294
104295// SetTags sets the Tags field's value.
104296func (s *TransitGatewayAttachment) SetTags(v []*Tag) *TransitGatewayAttachment {
104297	s.Tags = v
104298	return s
104299}
104300
104301// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
104302func (s *TransitGatewayAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayAttachment {
104303	s.TransitGatewayAttachmentId = &v
104304	return s
104305}
104306
104307// SetTransitGatewayId sets the TransitGatewayId field's value.
104308func (s *TransitGatewayAttachment) SetTransitGatewayId(v string) *TransitGatewayAttachment {
104309	s.TransitGatewayId = &v
104310	return s
104311}
104312
104313// SetTransitGatewayOwnerId sets the TransitGatewayOwnerId field's value.
104314func (s *TransitGatewayAttachment) SetTransitGatewayOwnerId(v string) *TransitGatewayAttachment {
104315	s.TransitGatewayOwnerId = &v
104316	return s
104317}
104318
104319// Describes an association.
104320type TransitGatewayAttachmentAssociation struct {
104321	_ struct{} `type:"structure"`
104322
104323	// The state of the association.
104324	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
104325
104326	// The ID of the route table for the transit gateway.
104327	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
104328}
104329
104330// String returns the string representation
104331func (s TransitGatewayAttachmentAssociation) String() string {
104332	return awsutil.Prettify(s)
104333}
104334
104335// GoString returns the string representation
104336func (s TransitGatewayAttachmentAssociation) GoString() string {
104337	return s.String()
104338}
104339
104340// SetState sets the State field's value.
104341func (s *TransitGatewayAttachmentAssociation) SetState(v string) *TransitGatewayAttachmentAssociation {
104342	s.State = &v
104343	return s
104344}
104345
104346// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
104347func (s *TransitGatewayAttachmentAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentAssociation {
104348	s.TransitGatewayRouteTableId = &v
104349	return s
104350}
104351
104352// Describes a propagation route table.
104353type TransitGatewayAttachmentPropagation struct {
104354	_ struct{} `type:"structure"`
104355
104356	// The state of the propagation route table.
104357	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
104358
104359	// The ID of the propagation route table.
104360	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
104361}
104362
104363// String returns the string representation
104364func (s TransitGatewayAttachmentPropagation) String() string {
104365	return awsutil.Prettify(s)
104366}
104367
104368// GoString returns the string representation
104369func (s TransitGatewayAttachmentPropagation) GoString() string {
104370	return s.String()
104371}
104372
104373// SetState sets the State field's value.
104374func (s *TransitGatewayAttachmentPropagation) SetState(v string) *TransitGatewayAttachmentPropagation {
104375	s.State = &v
104376	return s
104377}
104378
104379// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
104380func (s *TransitGatewayAttachmentPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentPropagation {
104381	s.TransitGatewayRouteTableId = &v
104382	return s
104383}
104384
104385// Describes the deregistered transit gateway multicast group members.
104386type TransitGatewayMulticastDeregisteredGroupMembers struct {
104387	_ struct{} `type:"structure"`
104388
104389	// The network interface IDs of the deregistered members.
104390	DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
104391
104392	// The IP address assigned to the transit gateway multicast group.
104393	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
104394
104395	// The ID of the transit gateway multicast domain.
104396	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
104397}
104398
104399// String returns the string representation
104400func (s TransitGatewayMulticastDeregisteredGroupMembers) String() string {
104401	return awsutil.Prettify(s)
104402}
104403
104404// GoString returns the string representation
104405func (s TransitGatewayMulticastDeregisteredGroupMembers) GoString() string {
104406	return s.String()
104407}
104408
104409// SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
104410func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupMembers {
104411	s.DeregisteredNetworkInterfaceIds = v
104412	return s
104413}
104414
104415// SetGroupIpAddress sets the GroupIpAddress field's value.
104416func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
104417	s.GroupIpAddress = &v
104418	return s
104419}
104420
104421// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
104422func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
104423	s.TransitGatewayMulticastDomainId = &v
104424	return s
104425}
104426
104427// Describes the deregistered transit gateway multicast group sources.
104428type TransitGatewayMulticastDeregisteredGroupSources struct {
104429	_ struct{} `type:"structure"`
104430
104431	// The network interface IDs of the non-registered members.
104432	DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
104433
104434	// The IP address assigned to the transit gateway multicast group.
104435	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
104436
104437	// The ID of the transit gateway multicast domain.
104438	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
104439}
104440
104441// String returns the string representation
104442func (s TransitGatewayMulticastDeregisteredGroupSources) String() string {
104443	return awsutil.Prettify(s)
104444}
104445
104446// GoString returns the string representation
104447func (s TransitGatewayMulticastDeregisteredGroupSources) GoString() string {
104448	return s.String()
104449}
104450
104451// SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
104452func (s *TransitGatewayMulticastDeregisteredGroupSources) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupSources {
104453	s.DeregisteredNetworkInterfaceIds = v
104454	return s
104455}
104456
104457// SetGroupIpAddress sets the GroupIpAddress field's value.
104458func (s *TransitGatewayMulticastDeregisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupSources {
104459	s.GroupIpAddress = &v
104460	return s
104461}
104462
104463// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
104464func (s *TransitGatewayMulticastDeregisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupSources {
104465	s.TransitGatewayMulticastDomainId = &v
104466	return s
104467}
104468
104469// Describes the transit gateway multicast domain.
104470type TransitGatewayMulticastDomain struct {
104471	_ struct{} `type:"structure"`
104472
104473	// The time the transit gateway multicast domain was created.
104474	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
104475
104476	// The state of the transit gateway multicast domain.
104477	State *string `locationName:"state" type:"string" enum:"TransitGatewayMulticastDomainState"`
104478
104479	// The tags for the transit gateway multicast domain.
104480	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
104481
104482	// The ID of the transit gateway.
104483	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
104484
104485	// The ID of the transit gateway multicast domain.
104486	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
104487}
104488
104489// String returns the string representation
104490func (s TransitGatewayMulticastDomain) String() string {
104491	return awsutil.Prettify(s)
104492}
104493
104494// GoString returns the string representation
104495func (s TransitGatewayMulticastDomain) GoString() string {
104496	return s.String()
104497}
104498
104499// SetCreationTime sets the CreationTime field's value.
104500func (s *TransitGatewayMulticastDomain) SetCreationTime(v time.Time) *TransitGatewayMulticastDomain {
104501	s.CreationTime = &v
104502	return s
104503}
104504
104505// SetState sets the State field's value.
104506func (s *TransitGatewayMulticastDomain) SetState(v string) *TransitGatewayMulticastDomain {
104507	s.State = &v
104508	return s
104509}
104510
104511// SetTags sets the Tags field's value.
104512func (s *TransitGatewayMulticastDomain) SetTags(v []*Tag) *TransitGatewayMulticastDomain {
104513	s.Tags = v
104514	return s
104515}
104516
104517// SetTransitGatewayId sets the TransitGatewayId field's value.
104518func (s *TransitGatewayMulticastDomain) SetTransitGatewayId(v string) *TransitGatewayMulticastDomain {
104519	s.TransitGatewayId = &v
104520	return s
104521}
104522
104523// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
104524func (s *TransitGatewayMulticastDomain) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomain {
104525	s.TransitGatewayMulticastDomainId = &v
104526	return s
104527}
104528
104529// Describes the resources associated with the transit gateway multicast domain.
104530type TransitGatewayMulticastDomainAssociation struct {
104531	_ struct{} `type:"structure"`
104532
104533	// The ID of the resource.
104534	ResourceId *string `locationName:"resourceId" type:"string"`
104535
104536	// The type of resource, for example a VPC attachment.
104537	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
104538
104539	// The subnet associated with the transit gateway multicast domain.
104540	Subnet *SubnetAssociation `locationName:"subnet" type:"structure"`
104541
104542	// The ID of the transit gateway attachment.
104543	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
104544}
104545
104546// String returns the string representation
104547func (s TransitGatewayMulticastDomainAssociation) String() string {
104548	return awsutil.Prettify(s)
104549}
104550
104551// GoString returns the string representation
104552func (s TransitGatewayMulticastDomainAssociation) GoString() string {
104553	return s.String()
104554}
104555
104556// SetResourceId sets the ResourceId field's value.
104557func (s *TransitGatewayMulticastDomainAssociation) SetResourceId(v string) *TransitGatewayMulticastDomainAssociation {
104558	s.ResourceId = &v
104559	return s
104560}
104561
104562// SetResourceType sets the ResourceType field's value.
104563func (s *TransitGatewayMulticastDomainAssociation) SetResourceType(v string) *TransitGatewayMulticastDomainAssociation {
104564	s.ResourceType = &v
104565	return s
104566}
104567
104568// SetSubnet sets the Subnet field's value.
104569func (s *TransitGatewayMulticastDomainAssociation) SetSubnet(v *SubnetAssociation) *TransitGatewayMulticastDomainAssociation {
104570	s.Subnet = v
104571	return s
104572}
104573
104574// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
104575func (s *TransitGatewayMulticastDomainAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociation {
104576	s.TransitGatewayAttachmentId = &v
104577	return s
104578}
104579
104580// Describes the multicast domain associations.
104581type TransitGatewayMulticastDomainAssociations struct {
104582	_ struct{} `type:"structure"`
104583
104584	// The ID of the resource.
104585	ResourceId *string `locationName:"resourceId" type:"string"`
104586
104587	// The type of resource, for example a VPC attachment.
104588	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
104589
104590	// The subnets associated with the multicast domain.
104591	Subnets []*SubnetAssociation `locationName:"subnets" locationNameList:"item" type:"list"`
104592
104593	// The ID of the transit gateway attachment.
104594	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
104595
104596	// The ID of the transit gateway multicast domain.
104597	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
104598}
104599
104600// String returns the string representation
104601func (s TransitGatewayMulticastDomainAssociations) String() string {
104602	return awsutil.Prettify(s)
104603}
104604
104605// GoString returns the string representation
104606func (s TransitGatewayMulticastDomainAssociations) GoString() string {
104607	return s.String()
104608}
104609
104610// SetResourceId sets the ResourceId field's value.
104611func (s *TransitGatewayMulticastDomainAssociations) SetResourceId(v string) *TransitGatewayMulticastDomainAssociations {
104612	s.ResourceId = &v
104613	return s
104614}
104615
104616// SetResourceType sets the ResourceType field's value.
104617func (s *TransitGatewayMulticastDomainAssociations) SetResourceType(v string) *TransitGatewayMulticastDomainAssociations {
104618	s.ResourceType = &v
104619	return s
104620}
104621
104622// SetSubnets sets the Subnets field's value.
104623func (s *TransitGatewayMulticastDomainAssociations) SetSubnets(v []*SubnetAssociation) *TransitGatewayMulticastDomainAssociations {
104624	s.Subnets = v
104625	return s
104626}
104627
104628// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
104629func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociations {
104630	s.TransitGatewayAttachmentId = &v
104631	return s
104632}
104633
104634// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
104635func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomainAssociations {
104636	s.TransitGatewayMulticastDomainId = &v
104637	return s
104638}
104639
104640// Describes the transit gateway multicast group resources.
104641type TransitGatewayMulticastGroup struct {
104642	_ struct{} `type:"structure"`
104643
104644	// The IP address assigned to the transit gateway multicast group.
104645	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
104646
104647	// Indicates that the resource is a transit gateway multicast group member.
104648	GroupMember *bool `locationName:"groupMember" type:"boolean"`
104649
104650	// Indicates that the resource is a transit gateway multicast group member.
104651	GroupSource *bool `locationName:"groupSource" type:"boolean"`
104652
104653	// The member type (for example, static).
104654	MemberType *string `locationName:"memberType" type:"string" enum:"MembershipType"`
104655
104656	// The ID of the transit gateway attachment.
104657	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
104658
104659	// The ID of the resource.
104660	ResourceId *string `locationName:"resourceId" type:"string"`
104661
104662	// The type of resource, for example a VPC attachment.
104663	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
104664
104665	// The source type.
104666	SourceType *string `locationName:"sourceType" type:"string" enum:"MembershipType"`
104667
104668	// The ID of the subnet.
104669	SubnetId *string `locationName:"subnetId" type:"string"`
104670
104671	// The ID of the transit gateway attachment.
104672	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
104673}
104674
104675// String returns the string representation
104676func (s TransitGatewayMulticastGroup) String() string {
104677	return awsutil.Prettify(s)
104678}
104679
104680// GoString returns the string representation
104681func (s TransitGatewayMulticastGroup) GoString() string {
104682	return s.String()
104683}
104684
104685// SetGroupIpAddress sets the GroupIpAddress field's value.
104686func (s *TransitGatewayMulticastGroup) SetGroupIpAddress(v string) *TransitGatewayMulticastGroup {
104687	s.GroupIpAddress = &v
104688	return s
104689}
104690
104691// SetGroupMember sets the GroupMember field's value.
104692func (s *TransitGatewayMulticastGroup) SetGroupMember(v bool) *TransitGatewayMulticastGroup {
104693	s.GroupMember = &v
104694	return s
104695}
104696
104697// SetGroupSource sets the GroupSource field's value.
104698func (s *TransitGatewayMulticastGroup) SetGroupSource(v bool) *TransitGatewayMulticastGroup {
104699	s.GroupSource = &v
104700	return s
104701}
104702
104703// SetMemberType sets the MemberType field's value.
104704func (s *TransitGatewayMulticastGroup) SetMemberType(v string) *TransitGatewayMulticastGroup {
104705	s.MemberType = &v
104706	return s
104707}
104708
104709// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
104710func (s *TransitGatewayMulticastGroup) SetNetworkInterfaceId(v string) *TransitGatewayMulticastGroup {
104711	s.NetworkInterfaceId = &v
104712	return s
104713}
104714
104715// SetResourceId sets the ResourceId field's value.
104716func (s *TransitGatewayMulticastGroup) SetResourceId(v string) *TransitGatewayMulticastGroup {
104717	s.ResourceId = &v
104718	return s
104719}
104720
104721// SetResourceType sets the ResourceType field's value.
104722func (s *TransitGatewayMulticastGroup) SetResourceType(v string) *TransitGatewayMulticastGroup {
104723	s.ResourceType = &v
104724	return s
104725}
104726
104727// SetSourceType sets the SourceType field's value.
104728func (s *TransitGatewayMulticastGroup) SetSourceType(v string) *TransitGatewayMulticastGroup {
104729	s.SourceType = &v
104730	return s
104731}
104732
104733// SetSubnetId sets the SubnetId field's value.
104734func (s *TransitGatewayMulticastGroup) SetSubnetId(v string) *TransitGatewayMulticastGroup {
104735	s.SubnetId = &v
104736	return s
104737}
104738
104739// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
104740func (s *TransitGatewayMulticastGroup) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastGroup {
104741	s.TransitGatewayAttachmentId = &v
104742	return s
104743}
104744
104745// Describes the registered transit gateway multicast group members.
104746type TransitGatewayMulticastRegisteredGroupMembers struct {
104747	_ struct{} `type:"structure"`
104748
104749	// The IP address assigned to the transit gateway multicast group.
104750	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
104751
104752	// The ID of the registered network interfaces.
104753	RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
104754
104755	// The ID of the transit gateway multicast domain.
104756	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
104757}
104758
104759// String returns the string representation
104760func (s TransitGatewayMulticastRegisteredGroupMembers) String() string {
104761	return awsutil.Prettify(s)
104762}
104763
104764// GoString returns the string representation
104765func (s TransitGatewayMulticastRegisteredGroupMembers) GoString() string {
104766	return s.String()
104767}
104768
104769// SetGroupIpAddress sets the GroupIpAddress field's value.
104770func (s *TransitGatewayMulticastRegisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupMembers {
104771	s.GroupIpAddress = &v
104772	return s
104773}
104774
104775// SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
104776func (s *TransitGatewayMulticastRegisteredGroupMembers) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupMembers {
104777	s.RegisteredNetworkInterfaceIds = v
104778	return s
104779}
104780
104781// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
104782func (s *TransitGatewayMulticastRegisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupMembers {
104783	s.TransitGatewayMulticastDomainId = &v
104784	return s
104785}
104786
104787// Describes the members registered with the transit gateway multicast group.
104788type TransitGatewayMulticastRegisteredGroupSources struct {
104789	_ struct{} `type:"structure"`
104790
104791	// The IP address assigned to the transit gateway multicast group.
104792	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
104793
104794	// The IDs of the network interfaces members registered with the transit gateway
104795	// multicast group.
104796	RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
104797
104798	// The ID of the transit gateway multicast domain.
104799	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
104800}
104801
104802// String returns the string representation
104803func (s TransitGatewayMulticastRegisteredGroupSources) String() string {
104804	return awsutil.Prettify(s)
104805}
104806
104807// GoString returns the string representation
104808func (s TransitGatewayMulticastRegisteredGroupSources) GoString() string {
104809	return s.String()
104810}
104811
104812// SetGroupIpAddress sets the GroupIpAddress field's value.
104813func (s *TransitGatewayMulticastRegisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupSources {
104814	s.GroupIpAddress = &v
104815	return s
104816}
104817
104818// SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
104819func (s *TransitGatewayMulticastRegisteredGroupSources) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupSources {
104820	s.RegisteredNetworkInterfaceIds = v
104821	return s
104822}
104823
104824// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
104825func (s *TransitGatewayMulticastRegisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupSources {
104826	s.TransitGatewayMulticastDomainId = &v
104827	return s
104828}
104829
104830// Describes the options for a transit gateway.
104831type TransitGatewayOptions struct {
104832	_ struct{} `type:"structure"`
104833
104834	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
104835	// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
104836	// for 32-bit ASNs.
104837	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
104838
104839	// The ID of the default association route table.
104840	AssociationDefaultRouteTableId *string `locationName:"associationDefaultRouteTableId" type:"string"`
104841
104842	// Indicates whether attachment requests are automatically accepted.
104843	AutoAcceptSharedAttachments *string `locationName:"autoAcceptSharedAttachments" type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
104844
104845	// Indicates whether resource attachments are automatically associated with
104846	// the default association route table.
104847	DefaultRouteTableAssociation *string `locationName:"defaultRouteTableAssociation" type:"string" enum:"DefaultRouteTableAssociationValue"`
104848
104849	// Indicates whether resource attachments automatically propagate routes to
104850	// the default propagation route table.
104851	DefaultRouteTablePropagation *string `locationName:"defaultRouteTablePropagation" type:"string" enum:"DefaultRouteTablePropagationValue"`
104852
104853	// Indicates whether DNS support is enabled.
104854	DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
104855
104856	// Indicates whether multicast is enabled on the transit gateway
104857	MulticastSupport *string `locationName:"multicastSupport" type:"string" enum:"MulticastSupportValue"`
104858
104859	// The ID of the default propagation route table.
104860	PropagationDefaultRouteTableId *string `locationName:"propagationDefaultRouteTableId" type:"string"`
104861
104862	// Indicates whether Equal Cost Multipath Protocol support is enabled.
104863	VpnEcmpSupport *string `locationName:"vpnEcmpSupport" type:"string" enum:"VpnEcmpSupportValue"`
104864}
104865
104866// String returns the string representation
104867func (s TransitGatewayOptions) String() string {
104868	return awsutil.Prettify(s)
104869}
104870
104871// GoString returns the string representation
104872func (s TransitGatewayOptions) GoString() string {
104873	return s.String()
104874}
104875
104876// SetAmazonSideAsn sets the AmazonSideAsn field's value.
104877func (s *TransitGatewayOptions) SetAmazonSideAsn(v int64) *TransitGatewayOptions {
104878	s.AmazonSideAsn = &v
104879	return s
104880}
104881
104882// SetAssociationDefaultRouteTableId sets the AssociationDefaultRouteTableId field's value.
104883func (s *TransitGatewayOptions) SetAssociationDefaultRouteTableId(v string) *TransitGatewayOptions {
104884	s.AssociationDefaultRouteTableId = &v
104885	return s
104886}
104887
104888// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
104889func (s *TransitGatewayOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayOptions {
104890	s.AutoAcceptSharedAttachments = &v
104891	return s
104892}
104893
104894// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
104895func (s *TransitGatewayOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayOptions {
104896	s.DefaultRouteTableAssociation = &v
104897	return s
104898}
104899
104900// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
104901func (s *TransitGatewayOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayOptions {
104902	s.DefaultRouteTablePropagation = &v
104903	return s
104904}
104905
104906// SetDnsSupport sets the DnsSupport field's value.
104907func (s *TransitGatewayOptions) SetDnsSupport(v string) *TransitGatewayOptions {
104908	s.DnsSupport = &v
104909	return s
104910}
104911
104912// SetMulticastSupport sets the MulticastSupport field's value.
104913func (s *TransitGatewayOptions) SetMulticastSupport(v string) *TransitGatewayOptions {
104914	s.MulticastSupport = &v
104915	return s
104916}
104917
104918// SetPropagationDefaultRouteTableId sets the PropagationDefaultRouteTableId field's value.
104919func (s *TransitGatewayOptions) SetPropagationDefaultRouteTableId(v string) *TransitGatewayOptions {
104920	s.PropagationDefaultRouteTableId = &v
104921	return s
104922}
104923
104924// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
104925func (s *TransitGatewayOptions) SetVpnEcmpSupport(v string) *TransitGatewayOptions {
104926	s.VpnEcmpSupport = &v
104927	return s
104928}
104929
104930// Describes the transit gateway peering attachment.
104931type TransitGatewayPeeringAttachment struct {
104932	_ struct{} `type:"structure"`
104933
104934	// Information about the accepter transit gateway.
104935	AccepterTgwInfo *PeeringTgwInfo `locationName:"accepterTgwInfo" type:"structure"`
104936
104937	// The time the transit gateway peering attachment was created.
104938	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
104939
104940	// Information about the requester transit gateway.
104941	RequesterTgwInfo *PeeringTgwInfo `locationName:"requesterTgwInfo" type:"structure"`
104942
104943	// The state of the transit gateway peering attachment.
104944	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
104945
104946	// The status of the transit gateway peering attachment.
104947	Status *PeeringAttachmentStatus `locationName:"status" type:"structure"`
104948
104949	// The tags for the transit gateway peering attachment.
104950	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
104951
104952	// The ID of the transit gateway peering attachment.
104953	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
104954}
104955
104956// String returns the string representation
104957func (s TransitGatewayPeeringAttachment) String() string {
104958	return awsutil.Prettify(s)
104959}
104960
104961// GoString returns the string representation
104962func (s TransitGatewayPeeringAttachment) GoString() string {
104963	return s.String()
104964}
104965
104966// SetAccepterTgwInfo sets the AccepterTgwInfo field's value.
104967func (s *TransitGatewayPeeringAttachment) SetAccepterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
104968	s.AccepterTgwInfo = v
104969	return s
104970}
104971
104972// SetCreationTime sets the CreationTime field's value.
104973func (s *TransitGatewayPeeringAttachment) SetCreationTime(v time.Time) *TransitGatewayPeeringAttachment {
104974	s.CreationTime = &v
104975	return s
104976}
104977
104978// SetRequesterTgwInfo sets the RequesterTgwInfo field's value.
104979func (s *TransitGatewayPeeringAttachment) SetRequesterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
104980	s.RequesterTgwInfo = v
104981	return s
104982}
104983
104984// SetState sets the State field's value.
104985func (s *TransitGatewayPeeringAttachment) SetState(v string) *TransitGatewayPeeringAttachment {
104986	s.State = &v
104987	return s
104988}
104989
104990// SetStatus sets the Status field's value.
104991func (s *TransitGatewayPeeringAttachment) SetStatus(v *PeeringAttachmentStatus) *TransitGatewayPeeringAttachment {
104992	s.Status = v
104993	return s
104994}
104995
104996// SetTags sets the Tags field's value.
104997func (s *TransitGatewayPeeringAttachment) SetTags(v []*Tag) *TransitGatewayPeeringAttachment {
104998	s.Tags = v
104999	return s
105000}
105001
105002// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
105003func (s *TransitGatewayPeeringAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayPeeringAttachment {
105004	s.TransitGatewayAttachmentId = &v
105005	return s
105006}
105007
105008// Describes route propagation.
105009type TransitGatewayPropagation struct {
105010	_ struct{} `type:"structure"`
105011
105012	// The ID of the resource.
105013	ResourceId *string `locationName:"resourceId" type:"string"`
105014
105015	// The resource type.
105016	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
105017
105018	// The state.
105019	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
105020
105021	// The ID of the attachment.
105022	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
105023
105024	// The ID of the transit gateway route table.
105025	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
105026}
105027
105028// String returns the string representation
105029func (s TransitGatewayPropagation) String() string {
105030	return awsutil.Prettify(s)
105031}
105032
105033// GoString returns the string representation
105034func (s TransitGatewayPropagation) GoString() string {
105035	return s.String()
105036}
105037
105038// SetResourceId sets the ResourceId field's value.
105039func (s *TransitGatewayPropagation) SetResourceId(v string) *TransitGatewayPropagation {
105040	s.ResourceId = &v
105041	return s
105042}
105043
105044// SetResourceType sets the ResourceType field's value.
105045func (s *TransitGatewayPropagation) SetResourceType(v string) *TransitGatewayPropagation {
105046	s.ResourceType = &v
105047	return s
105048}
105049
105050// SetState sets the State field's value.
105051func (s *TransitGatewayPropagation) SetState(v string) *TransitGatewayPropagation {
105052	s.State = &v
105053	return s
105054}
105055
105056// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
105057func (s *TransitGatewayPropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayPropagation {
105058	s.TransitGatewayAttachmentId = &v
105059	return s
105060}
105061
105062// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
105063func (s *TransitGatewayPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayPropagation {
105064	s.TransitGatewayRouteTableId = &v
105065	return s
105066}
105067
105068// Describes the options for a transit gateway.
105069type TransitGatewayRequestOptions struct {
105070	_ struct{} `type:"structure"`
105071
105072	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
105073	// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
105074	// for 32-bit ASNs.
105075	AmazonSideAsn *int64 `type:"long"`
105076
105077	// Enable or disable automatic acceptance of attachment requests. The default
105078	// is disable.
105079	AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
105080
105081	// Enable or disable automatic association with the default association route
105082	// table. The default is enable.
105083	DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"`
105084
105085	// Enable or disable automatic propagation of routes to the default propagation
105086	// route table. The default is enable.
105087	DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"`
105088
105089	// Enable or disable DNS support.
105090	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
105091
105092	// Indicates whether multicast is enabled on the transit gateway
105093	MulticastSupport *string `type:"string" enum:"MulticastSupportValue"`
105094
105095	// Enable or disable Equal Cost Multipath Protocol support.
105096	VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
105097}
105098
105099// String returns the string representation
105100func (s TransitGatewayRequestOptions) String() string {
105101	return awsutil.Prettify(s)
105102}
105103
105104// GoString returns the string representation
105105func (s TransitGatewayRequestOptions) GoString() string {
105106	return s.String()
105107}
105108
105109// SetAmazonSideAsn sets the AmazonSideAsn field's value.
105110func (s *TransitGatewayRequestOptions) SetAmazonSideAsn(v int64) *TransitGatewayRequestOptions {
105111	s.AmazonSideAsn = &v
105112	return s
105113}
105114
105115// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
105116func (s *TransitGatewayRequestOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayRequestOptions {
105117	s.AutoAcceptSharedAttachments = &v
105118	return s
105119}
105120
105121// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
105122func (s *TransitGatewayRequestOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayRequestOptions {
105123	s.DefaultRouteTableAssociation = &v
105124	return s
105125}
105126
105127// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
105128func (s *TransitGatewayRequestOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayRequestOptions {
105129	s.DefaultRouteTablePropagation = &v
105130	return s
105131}
105132
105133// SetDnsSupport sets the DnsSupport field's value.
105134func (s *TransitGatewayRequestOptions) SetDnsSupport(v string) *TransitGatewayRequestOptions {
105135	s.DnsSupport = &v
105136	return s
105137}
105138
105139// SetMulticastSupport sets the MulticastSupport field's value.
105140func (s *TransitGatewayRequestOptions) SetMulticastSupport(v string) *TransitGatewayRequestOptions {
105141	s.MulticastSupport = &v
105142	return s
105143}
105144
105145// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
105146func (s *TransitGatewayRequestOptions) SetVpnEcmpSupport(v string) *TransitGatewayRequestOptions {
105147	s.VpnEcmpSupport = &v
105148	return s
105149}
105150
105151// Describes a route for a transit gateway route table.
105152type TransitGatewayRoute struct {
105153	_ struct{} `type:"structure"`
105154
105155	// The CIDR block used for destination matches.
105156	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
105157
105158	// The state of the route.
105159	State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteState"`
105160
105161	// The attachments.
105162	TransitGatewayAttachments []*TransitGatewayRouteAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
105163
105164	// The route type.
105165	Type *string `locationName:"type" type:"string" enum:"TransitGatewayRouteType"`
105166}
105167
105168// String returns the string representation
105169func (s TransitGatewayRoute) String() string {
105170	return awsutil.Prettify(s)
105171}
105172
105173// GoString returns the string representation
105174func (s TransitGatewayRoute) GoString() string {
105175	return s.String()
105176}
105177
105178// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
105179func (s *TransitGatewayRoute) SetDestinationCidrBlock(v string) *TransitGatewayRoute {
105180	s.DestinationCidrBlock = &v
105181	return s
105182}
105183
105184// SetState sets the State field's value.
105185func (s *TransitGatewayRoute) SetState(v string) *TransitGatewayRoute {
105186	s.State = &v
105187	return s
105188}
105189
105190// SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
105191func (s *TransitGatewayRoute) SetTransitGatewayAttachments(v []*TransitGatewayRouteAttachment) *TransitGatewayRoute {
105192	s.TransitGatewayAttachments = v
105193	return s
105194}
105195
105196// SetType sets the Type field's value.
105197func (s *TransitGatewayRoute) SetType(v string) *TransitGatewayRoute {
105198	s.Type = &v
105199	return s
105200}
105201
105202// Describes a route attachment.
105203type TransitGatewayRouteAttachment struct {
105204	_ struct{} `type:"structure"`
105205
105206	// The ID of the resource.
105207	ResourceId *string `locationName:"resourceId" type:"string"`
105208
105209	// The resource type.
105210	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
105211
105212	// The ID of the attachment.
105213	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
105214}
105215
105216// String returns the string representation
105217func (s TransitGatewayRouteAttachment) String() string {
105218	return awsutil.Prettify(s)
105219}
105220
105221// GoString returns the string representation
105222func (s TransitGatewayRouteAttachment) GoString() string {
105223	return s.String()
105224}
105225
105226// SetResourceId sets the ResourceId field's value.
105227func (s *TransitGatewayRouteAttachment) SetResourceId(v string) *TransitGatewayRouteAttachment {
105228	s.ResourceId = &v
105229	return s
105230}
105231
105232// SetResourceType sets the ResourceType field's value.
105233func (s *TransitGatewayRouteAttachment) SetResourceType(v string) *TransitGatewayRouteAttachment {
105234	s.ResourceType = &v
105235	return s
105236}
105237
105238// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
105239func (s *TransitGatewayRouteAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteAttachment {
105240	s.TransitGatewayAttachmentId = &v
105241	return s
105242}
105243
105244// Describes a transit gateway route table.
105245type TransitGatewayRouteTable struct {
105246	_ struct{} `type:"structure"`
105247
105248	// The creation time.
105249	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
105250
105251	// Indicates whether this is the default association route table for the transit
105252	// gateway.
105253	DefaultAssociationRouteTable *bool `locationName:"defaultAssociationRouteTable" type:"boolean"`
105254
105255	// Indicates whether this is the default propagation route table for the transit
105256	// gateway.
105257	DefaultPropagationRouteTable *bool `locationName:"defaultPropagationRouteTable" type:"boolean"`
105258
105259	// The state of the transit gateway route table.
105260	State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteTableState"`
105261
105262	// Any tags assigned to the route table.
105263	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
105264
105265	// The ID of the transit gateway.
105266	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
105267
105268	// The ID of the transit gateway route table.
105269	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
105270}
105271
105272// String returns the string representation
105273func (s TransitGatewayRouteTable) String() string {
105274	return awsutil.Prettify(s)
105275}
105276
105277// GoString returns the string representation
105278func (s TransitGatewayRouteTable) GoString() string {
105279	return s.String()
105280}
105281
105282// SetCreationTime sets the CreationTime field's value.
105283func (s *TransitGatewayRouteTable) SetCreationTime(v time.Time) *TransitGatewayRouteTable {
105284	s.CreationTime = &v
105285	return s
105286}
105287
105288// SetDefaultAssociationRouteTable sets the DefaultAssociationRouteTable field's value.
105289func (s *TransitGatewayRouteTable) SetDefaultAssociationRouteTable(v bool) *TransitGatewayRouteTable {
105290	s.DefaultAssociationRouteTable = &v
105291	return s
105292}
105293
105294// SetDefaultPropagationRouteTable sets the DefaultPropagationRouteTable field's value.
105295func (s *TransitGatewayRouteTable) SetDefaultPropagationRouteTable(v bool) *TransitGatewayRouteTable {
105296	s.DefaultPropagationRouteTable = &v
105297	return s
105298}
105299
105300// SetState sets the State field's value.
105301func (s *TransitGatewayRouteTable) SetState(v string) *TransitGatewayRouteTable {
105302	s.State = &v
105303	return s
105304}
105305
105306// SetTags sets the Tags field's value.
105307func (s *TransitGatewayRouteTable) SetTags(v []*Tag) *TransitGatewayRouteTable {
105308	s.Tags = v
105309	return s
105310}
105311
105312// SetTransitGatewayId sets the TransitGatewayId field's value.
105313func (s *TransitGatewayRouteTable) SetTransitGatewayId(v string) *TransitGatewayRouteTable {
105314	s.TransitGatewayId = &v
105315	return s
105316}
105317
105318// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
105319func (s *TransitGatewayRouteTable) SetTransitGatewayRouteTableId(v string) *TransitGatewayRouteTable {
105320	s.TransitGatewayRouteTableId = &v
105321	return s
105322}
105323
105324// Describes an association between a route table and a resource attachment.
105325type TransitGatewayRouteTableAssociation struct {
105326	_ struct{} `type:"structure"`
105327
105328	// The ID of the resource.
105329	ResourceId *string `locationName:"resourceId" type:"string"`
105330
105331	// The resource type.
105332	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
105333
105334	// The state of the association.
105335	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
105336
105337	// The ID of the attachment.
105338	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
105339}
105340
105341// String returns the string representation
105342func (s TransitGatewayRouteTableAssociation) String() string {
105343	return awsutil.Prettify(s)
105344}
105345
105346// GoString returns the string representation
105347func (s TransitGatewayRouteTableAssociation) GoString() string {
105348	return s.String()
105349}
105350
105351// SetResourceId sets the ResourceId field's value.
105352func (s *TransitGatewayRouteTableAssociation) SetResourceId(v string) *TransitGatewayRouteTableAssociation {
105353	s.ResourceId = &v
105354	return s
105355}
105356
105357// SetResourceType sets the ResourceType field's value.
105358func (s *TransitGatewayRouteTableAssociation) SetResourceType(v string) *TransitGatewayRouteTableAssociation {
105359	s.ResourceType = &v
105360	return s
105361}
105362
105363// SetState sets the State field's value.
105364func (s *TransitGatewayRouteTableAssociation) SetState(v string) *TransitGatewayRouteTableAssociation {
105365	s.State = &v
105366	return s
105367}
105368
105369// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
105370func (s *TransitGatewayRouteTableAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTableAssociation {
105371	s.TransitGatewayAttachmentId = &v
105372	return s
105373}
105374
105375// Describes a route table propagation.
105376type TransitGatewayRouteTablePropagation struct {
105377	_ struct{} `type:"structure"`
105378
105379	// The ID of the resource.
105380	ResourceId *string `locationName:"resourceId" type:"string"`
105381
105382	// The type of resource.
105383	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
105384
105385	// The state of the resource.
105386	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
105387
105388	// The ID of the attachment.
105389	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
105390}
105391
105392// String returns the string representation
105393func (s TransitGatewayRouteTablePropagation) String() string {
105394	return awsutil.Prettify(s)
105395}
105396
105397// GoString returns the string representation
105398func (s TransitGatewayRouteTablePropagation) GoString() string {
105399	return s.String()
105400}
105401
105402// SetResourceId sets the ResourceId field's value.
105403func (s *TransitGatewayRouteTablePropagation) SetResourceId(v string) *TransitGatewayRouteTablePropagation {
105404	s.ResourceId = &v
105405	return s
105406}
105407
105408// SetResourceType sets the ResourceType field's value.
105409func (s *TransitGatewayRouteTablePropagation) SetResourceType(v string) *TransitGatewayRouteTablePropagation {
105410	s.ResourceType = &v
105411	return s
105412}
105413
105414// SetState sets the State field's value.
105415func (s *TransitGatewayRouteTablePropagation) SetState(v string) *TransitGatewayRouteTablePropagation {
105416	s.State = &v
105417	return s
105418}
105419
105420// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
105421func (s *TransitGatewayRouteTablePropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTablePropagation {
105422	s.TransitGatewayAttachmentId = &v
105423	return s
105424}
105425
105426// Describes a VPC attachment.
105427type TransitGatewayVpcAttachment struct {
105428	_ struct{} `type:"structure"`
105429
105430	// The creation time.
105431	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
105432
105433	// The VPC attachment options.
105434	Options *TransitGatewayVpcAttachmentOptions `locationName:"options" type:"structure"`
105435
105436	// The state of the VPC attachment.
105437	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
105438
105439	// The IDs of the subnets.
105440	SubnetIds []*string `locationName:"subnetIds" locationNameList:"item" type:"list"`
105441
105442	// The tags for the VPC attachment.
105443	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
105444
105445	// The ID of the attachment.
105446	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
105447
105448	// The ID of the transit gateway.
105449	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
105450
105451	// The ID of the VPC.
105452	VpcId *string `locationName:"vpcId" type:"string"`
105453
105454	// The ID of the AWS account that owns the VPC.
105455	VpcOwnerId *string `locationName:"vpcOwnerId" type:"string"`
105456}
105457
105458// String returns the string representation
105459func (s TransitGatewayVpcAttachment) String() string {
105460	return awsutil.Prettify(s)
105461}
105462
105463// GoString returns the string representation
105464func (s TransitGatewayVpcAttachment) GoString() string {
105465	return s.String()
105466}
105467
105468// SetCreationTime sets the CreationTime field's value.
105469func (s *TransitGatewayVpcAttachment) SetCreationTime(v time.Time) *TransitGatewayVpcAttachment {
105470	s.CreationTime = &v
105471	return s
105472}
105473
105474// SetOptions sets the Options field's value.
105475func (s *TransitGatewayVpcAttachment) SetOptions(v *TransitGatewayVpcAttachmentOptions) *TransitGatewayVpcAttachment {
105476	s.Options = v
105477	return s
105478}
105479
105480// SetState sets the State field's value.
105481func (s *TransitGatewayVpcAttachment) SetState(v string) *TransitGatewayVpcAttachment {
105482	s.State = &v
105483	return s
105484}
105485
105486// SetSubnetIds sets the SubnetIds field's value.
105487func (s *TransitGatewayVpcAttachment) SetSubnetIds(v []*string) *TransitGatewayVpcAttachment {
105488	s.SubnetIds = v
105489	return s
105490}
105491
105492// SetTags sets the Tags field's value.
105493func (s *TransitGatewayVpcAttachment) SetTags(v []*Tag) *TransitGatewayVpcAttachment {
105494	s.Tags = v
105495	return s
105496}
105497
105498// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
105499func (s *TransitGatewayVpcAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayVpcAttachment {
105500	s.TransitGatewayAttachmentId = &v
105501	return s
105502}
105503
105504// SetTransitGatewayId sets the TransitGatewayId field's value.
105505func (s *TransitGatewayVpcAttachment) SetTransitGatewayId(v string) *TransitGatewayVpcAttachment {
105506	s.TransitGatewayId = &v
105507	return s
105508}
105509
105510// SetVpcId sets the VpcId field's value.
105511func (s *TransitGatewayVpcAttachment) SetVpcId(v string) *TransitGatewayVpcAttachment {
105512	s.VpcId = &v
105513	return s
105514}
105515
105516// SetVpcOwnerId sets the VpcOwnerId field's value.
105517func (s *TransitGatewayVpcAttachment) SetVpcOwnerId(v string) *TransitGatewayVpcAttachment {
105518	s.VpcOwnerId = &v
105519	return s
105520}
105521
105522// Describes the VPC attachment options.
105523type TransitGatewayVpcAttachmentOptions struct {
105524	_ struct{} `type:"structure"`
105525
105526	// Indicates whether DNS support is enabled.
105527	DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
105528
105529	// Indicates whether IPv6 support is disabled.
105530	Ipv6Support *string `locationName:"ipv6Support" type:"string" enum:"Ipv6SupportValue"`
105531}
105532
105533// String returns the string representation
105534func (s TransitGatewayVpcAttachmentOptions) String() string {
105535	return awsutil.Prettify(s)
105536}
105537
105538// GoString returns the string representation
105539func (s TransitGatewayVpcAttachmentOptions) GoString() string {
105540	return s.String()
105541}
105542
105543// SetDnsSupport sets the DnsSupport field's value.
105544func (s *TransitGatewayVpcAttachmentOptions) SetDnsSupport(v string) *TransitGatewayVpcAttachmentOptions {
105545	s.DnsSupport = &v
105546	return s
105547}
105548
105549// SetIpv6Support sets the Ipv6Support field's value.
105550func (s *TransitGatewayVpcAttachmentOptions) SetIpv6Support(v string) *TransitGatewayVpcAttachmentOptions {
105551	s.Ipv6Support = &v
105552	return s
105553}
105554
105555// The VPN tunnel options.
105556type TunnelOption struct {
105557	_ struct{} `type:"structure"`
105558
105559	// The number of seconds after which a DPD timeout occurs.
105560	DpdTimeoutSeconds *int64 `locationName:"dpdTimeoutSeconds" type:"integer"`
105561
105562	// The IKE versions that are permitted for the VPN tunnel.
105563	IkeVersions []*IKEVersionsListValue `locationName:"ikeVersionSet" locationNameList:"item" type:"list"`
105564
105565	// The external IP address of the VPN tunnel.
105566	OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
105567
105568	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1
105569	// IKE negotiations.
105570	Phase1DHGroupNumbers []*Phase1DHGroupNumbersListValue `locationName:"phase1DHGroupNumberSet" locationNameList:"item" type:"list"`
105571
105572	// The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.
105573	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsListValue `locationName:"phase1EncryptionAlgorithmSet" locationNameList:"item" type:"list"`
105574
105575	// The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.
105576	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsListValue `locationName:"phase1IntegrityAlgorithmSet" locationNameList:"item" type:"list"`
105577
105578	// The lifetime for phase 1 of the IKE negotiation, in seconds.
105579	Phase1LifetimeSeconds *int64 `locationName:"phase1LifetimeSeconds" type:"integer"`
105580
105581	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2
105582	// IKE negotiations.
105583	Phase2DHGroupNumbers []*Phase2DHGroupNumbersListValue `locationName:"phase2DHGroupNumberSet" locationNameList:"item" type:"list"`
105584
105585	// The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.
105586	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsListValue `locationName:"phase2EncryptionAlgorithmSet" locationNameList:"item" type:"list"`
105587
105588	// The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.
105589	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsListValue `locationName:"phase2IntegrityAlgorithmSet" locationNameList:"item" type:"list"`
105590
105591	// The lifetime for phase 2 of the IKE negotiation, in seconds.
105592	Phase2LifetimeSeconds *int64 `locationName:"phase2LifetimeSeconds" type:"integer"`
105593
105594	// The pre-shared key (PSK) to establish initial authentication between the
105595	// virtual private gateway and the customer gateway.
105596	PreSharedKey *string `locationName:"preSharedKey" type:"string"`
105597
105598	// The percentage of the rekey window determined by RekeyMarginTimeSeconds during
105599	// which the rekey time is randomly selected.
105600	RekeyFuzzPercentage *int64 `locationName:"rekeyFuzzPercentage" type:"integer"`
105601
105602	// The margin time, in seconds, before the phase 2 lifetime expires, during
105603	// which the AWS side of the VPN connection performs an IKE rekey.
105604	RekeyMarginTimeSeconds *int64 `locationName:"rekeyMarginTimeSeconds" type:"integer"`
105605
105606	// The number of packets in an IKE replay window.
105607	ReplayWindowSize *int64 `locationName:"replayWindowSize" type:"integer"`
105608
105609	// The range of inside IP addresses for the tunnel.
105610	TunnelInsideCidr *string `locationName:"tunnelInsideCidr" type:"string"`
105611}
105612
105613// String returns the string representation
105614func (s TunnelOption) String() string {
105615	return awsutil.Prettify(s)
105616}
105617
105618// GoString returns the string representation
105619func (s TunnelOption) GoString() string {
105620	return s.String()
105621}
105622
105623// SetDpdTimeoutSeconds sets the DpdTimeoutSeconds field's value.
105624func (s *TunnelOption) SetDpdTimeoutSeconds(v int64) *TunnelOption {
105625	s.DpdTimeoutSeconds = &v
105626	return s
105627}
105628
105629// SetIkeVersions sets the IkeVersions field's value.
105630func (s *TunnelOption) SetIkeVersions(v []*IKEVersionsListValue) *TunnelOption {
105631	s.IkeVersions = v
105632	return s
105633}
105634
105635// SetOutsideIpAddress sets the OutsideIpAddress field's value.
105636func (s *TunnelOption) SetOutsideIpAddress(v string) *TunnelOption {
105637	s.OutsideIpAddress = &v
105638	return s
105639}
105640
105641// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
105642func (s *TunnelOption) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersListValue) *TunnelOption {
105643	s.Phase1DHGroupNumbers = v
105644	return s
105645}
105646
105647// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
105648func (s *TunnelOption) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsListValue) *TunnelOption {
105649	s.Phase1EncryptionAlgorithms = v
105650	return s
105651}
105652
105653// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
105654func (s *TunnelOption) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsListValue) *TunnelOption {
105655	s.Phase1IntegrityAlgorithms = v
105656	return s
105657}
105658
105659// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
105660func (s *TunnelOption) SetPhase1LifetimeSeconds(v int64) *TunnelOption {
105661	s.Phase1LifetimeSeconds = &v
105662	return s
105663}
105664
105665// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
105666func (s *TunnelOption) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersListValue) *TunnelOption {
105667	s.Phase2DHGroupNumbers = v
105668	return s
105669}
105670
105671// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
105672func (s *TunnelOption) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsListValue) *TunnelOption {
105673	s.Phase2EncryptionAlgorithms = v
105674	return s
105675}
105676
105677// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
105678func (s *TunnelOption) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsListValue) *TunnelOption {
105679	s.Phase2IntegrityAlgorithms = v
105680	return s
105681}
105682
105683// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
105684func (s *TunnelOption) SetPhase2LifetimeSeconds(v int64) *TunnelOption {
105685	s.Phase2LifetimeSeconds = &v
105686	return s
105687}
105688
105689// SetPreSharedKey sets the PreSharedKey field's value.
105690func (s *TunnelOption) SetPreSharedKey(v string) *TunnelOption {
105691	s.PreSharedKey = &v
105692	return s
105693}
105694
105695// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
105696func (s *TunnelOption) SetRekeyFuzzPercentage(v int64) *TunnelOption {
105697	s.RekeyFuzzPercentage = &v
105698	return s
105699}
105700
105701// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
105702func (s *TunnelOption) SetRekeyMarginTimeSeconds(v int64) *TunnelOption {
105703	s.RekeyMarginTimeSeconds = &v
105704	return s
105705}
105706
105707// SetReplayWindowSize sets the ReplayWindowSize field's value.
105708func (s *TunnelOption) SetReplayWindowSize(v int64) *TunnelOption {
105709	s.ReplayWindowSize = &v
105710	return s
105711}
105712
105713// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
105714func (s *TunnelOption) SetTunnelInsideCidr(v string) *TunnelOption {
105715	s.TunnelInsideCidr = &v
105716	return s
105717}
105718
105719type UnassignIpv6AddressesInput struct {
105720	_ struct{} `type:"structure"`
105721
105722	// The IPv6 addresses to unassign from the network interface.
105723	//
105724	// Ipv6Addresses is a required field
105725	Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
105726
105727	// The ID of the network interface.
105728	//
105729	// NetworkInterfaceId is a required field
105730	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
105731}
105732
105733// String returns the string representation
105734func (s UnassignIpv6AddressesInput) String() string {
105735	return awsutil.Prettify(s)
105736}
105737
105738// GoString returns the string representation
105739func (s UnassignIpv6AddressesInput) GoString() string {
105740	return s.String()
105741}
105742
105743// Validate inspects the fields of the type to determine if they are valid.
105744func (s *UnassignIpv6AddressesInput) Validate() error {
105745	invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
105746	if s.Ipv6Addresses == nil {
105747		invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
105748	}
105749	if s.NetworkInterfaceId == nil {
105750		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
105751	}
105752
105753	if invalidParams.Len() > 0 {
105754		return invalidParams
105755	}
105756	return nil
105757}
105758
105759// SetIpv6Addresses sets the Ipv6Addresses field's value.
105760func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
105761	s.Ipv6Addresses = v
105762	return s
105763}
105764
105765// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
105766func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
105767	s.NetworkInterfaceId = &v
105768	return s
105769}
105770
105771type UnassignIpv6AddressesOutput struct {
105772	_ struct{} `type:"structure"`
105773
105774	// The ID of the network interface.
105775	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
105776
105777	// The IPv6 addresses that have been unassigned from the network interface.
105778	UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
105779}
105780
105781// String returns the string representation
105782func (s UnassignIpv6AddressesOutput) String() string {
105783	return awsutil.Prettify(s)
105784}
105785
105786// GoString returns the string representation
105787func (s UnassignIpv6AddressesOutput) GoString() string {
105788	return s.String()
105789}
105790
105791// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
105792func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
105793	s.NetworkInterfaceId = &v
105794	return s
105795}
105796
105797// SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
105798func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
105799	s.UnassignedIpv6Addresses = v
105800	return s
105801}
105802
105803// Contains the parameters for UnassignPrivateIpAddresses.
105804type UnassignPrivateIpAddressesInput struct {
105805	_ struct{} `type:"structure"`
105806
105807	// The ID of the network interface.
105808	//
105809	// NetworkInterfaceId is a required field
105810	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
105811
105812	// The secondary private IP addresses to unassign from the network interface.
105813	// You can specify this option multiple times to unassign more than one IP address.
105814	//
105815	// PrivateIpAddresses is a required field
105816	PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
105817}
105818
105819// String returns the string representation
105820func (s UnassignPrivateIpAddressesInput) String() string {
105821	return awsutil.Prettify(s)
105822}
105823
105824// GoString returns the string representation
105825func (s UnassignPrivateIpAddressesInput) GoString() string {
105826	return s.String()
105827}
105828
105829// Validate inspects the fields of the type to determine if they are valid.
105830func (s *UnassignPrivateIpAddressesInput) Validate() error {
105831	invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
105832	if s.NetworkInterfaceId == nil {
105833		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
105834	}
105835	if s.PrivateIpAddresses == nil {
105836		invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
105837	}
105838
105839	if invalidParams.Len() > 0 {
105840		return invalidParams
105841	}
105842	return nil
105843}
105844
105845// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
105846func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
105847	s.NetworkInterfaceId = &v
105848	return s
105849}
105850
105851// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
105852func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
105853	s.PrivateIpAddresses = v
105854	return s
105855}
105856
105857type UnassignPrivateIpAddressesOutput struct {
105858	_ struct{} `type:"structure"`
105859}
105860
105861// String returns the string representation
105862func (s UnassignPrivateIpAddressesOutput) String() string {
105863	return awsutil.Prettify(s)
105864}
105865
105866// GoString returns the string representation
105867func (s UnassignPrivateIpAddressesOutput) GoString() string {
105868	return s.String()
105869}
105870
105871type UnmonitorInstancesInput struct {
105872	_ struct{} `type:"structure"`
105873
105874	// Checks whether you have the required permissions for the action, without
105875	// actually making the request, and provides an error response. If you have
105876	// the required permissions, the error response is DryRunOperation. Otherwise,
105877	// it is UnauthorizedOperation.
105878	DryRun *bool `locationName:"dryRun" type:"boolean"`
105879
105880	// The IDs of the instances.
105881	//
105882	// InstanceIds is a required field
105883	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
105884}
105885
105886// String returns the string representation
105887func (s UnmonitorInstancesInput) String() string {
105888	return awsutil.Prettify(s)
105889}
105890
105891// GoString returns the string representation
105892func (s UnmonitorInstancesInput) GoString() string {
105893	return s.String()
105894}
105895
105896// Validate inspects the fields of the type to determine if they are valid.
105897func (s *UnmonitorInstancesInput) Validate() error {
105898	invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
105899	if s.InstanceIds == nil {
105900		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
105901	}
105902
105903	if invalidParams.Len() > 0 {
105904		return invalidParams
105905	}
105906	return nil
105907}
105908
105909// SetDryRun sets the DryRun field's value.
105910func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
105911	s.DryRun = &v
105912	return s
105913}
105914
105915// SetInstanceIds sets the InstanceIds field's value.
105916func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
105917	s.InstanceIds = v
105918	return s
105919}
105920
105921type UnmonitorInstancesOutput struct {
105922	_ struct{} `type:"structure"`
105923
105924	// The monitoring information.
105925	InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
105926}
105927
105928// String returns the string representation
105929func (s UnmonitorInstancesOutput) String() string {
105930	return awsutil.Prettify(s)
105931}
105932
105933// GoString returns the string representation
105934func (s UnmonitorInstancesOutput) GoString() string {
105935	return s.String()
105936}
105937
105938// SetInstanceMonitorings sets the InstanceMonitorings field's value.
105939func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
105940	s.InstanceMonitorings = v
105941	return s
105942}
105943
105944// Describes the burstable performance instance whose credit option for CPU
105945// usage was not modified.
105946type UnsuccessfulInstanceCreditSpecificationItem struct {
105947	_ struct{} `type:"structure"`
105948
105949	// The applicable error for the burstable performance instance whose credit
105950	// option for CPU usage was not modified.
105951	Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
105952
105953	// The ID of the instance.
105954	InstanceId *string `locationName:"instanceId" type:"string"`
105955}
105956
105957// String returns the string representation
105958func (s UnsuccessfulInstanceCreditSpecificationItem) String() string {
105959	return awsutil.Prettify(s)
105960}
105961
105962// GoString returns the string representation
105963func (s UnsuccessfulInstanceCreditSpecificationItem) GoString() string {
105964	return s.String()
105965}
105966
105967// SetError sets the Error field's value.
105968func (s *UnsuccessfulInstanceCreditSpecificationItem) SetError(v *UnsuccessfulInstanceCreditSpecificationItemError) *UnsuccessfulInstanceCreditSpecificationItem {
105969	s.Error = v
105970	return s
105971}
105972
105973// SetInstanceId sets the InstanceId field's value.
105974func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *UnsuccessfulInstanceCreditSpecificationItem {
105975	s.InstanceId = &v
105976	return s
105977}
105978
105979// Information about the error for the burstable performance instance whose
105980// credit option for CPU usage was not modified.
105981type UnsuccessfulInstanceCreditSpecificationItemError struct {
105982	_ struct{} `type:"structure"`
105983
105984	// The error code.
105985	Code *string `locationName:"code" type:"string" enum:"UnsuccessfulInstanceCreditSpecificationErrorCode"`
105986
105987	// The applicable error message.
105988	Message *string `locationName:"message" type:"string"`
105989}
105990
105991// String returns the string representation
105992func (s UnsuccessfulInstanceCreditSpecificationItemError) String() string {
105993	return awsutil.Prettify(s)
105994}
105995
105996// GoString returns the string representation
105997func (s UnsuccessfulInstanceCreditSpecificationItemError) GoString() string {
105998	return s.String()
105999}
106000
106001// SetCode sets the Code field's value.
106002func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetCode(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
106003	s.Code = &v
106004	return s
106005}
106006
106007// SetMessage sets the Message field's value.
106008func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetMessage(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
106009	s.Message = &v
106010	return s
106011}
106012
106013// Information about items that were not successfully processed in a batch call.
106014type UnsuccessfulItem struct {
106015	_ struct{} `type:"structure"`
106016
106017	// Information about the error.
106018	Error *UnsuccessfulItemError `locationName:"error" type:"structure"`
106019
106020	// The ID of the resource.
106021	ResourceId *string `locationName:"resourceId" type:"string"`
106022}
106023
106024// String returns the string representation
106025func (s UnsuccessfulItem) String() string {
106026	return awsutil.Prettify(s)
106027}
106028
106029// GoString returns the string representation
106030func (s UnsuccessfulItem) GoString() string {
106031	return s.String()
106032}
106033
106034// SetError sets the Error field's value.
106035func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
106036	s.Error = v
106037	return s
106038}
106039
106040// SetResourceId sets the ResourceId field's value.
106041func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
106042	s.ResourceId = &v
106043	return s
106044}
106045
106046// Information about the error that occurred. For more information about errors,
106047// see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
106048type UnsuccessfulItemError struct {
106049	_ struct{} `type:"structure"`
106050
106051	// The error code.
106052	Code *string `locationName:"code" type:"string"`
106053
106054	// The error message accompanying the error code.
106055	Message *string `locationName:"message" type:"string"`
106056}
106057
106058// String returns the string representation
106059func (s UnsuccessfulItemError) String() string {
106060	return awsutil.Prettify(s)
106061}
106062
106063// GoString returns the string representation
106064func (s UnsuccessfulItemError) GoString() string {
106065	return s.String()
106066}
106067
106068// SetCode sets the Code field's value.
106069func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
106070	s.Code = &v
106071	return s
106072}
106073
106074// SetMessage sets the Message field's value.
106075func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
106076	s.Message = &v
106077	return s
106078}
106079
106080type UpdateSecurityGroupRuleDescriptionsEgressInput struct {
106081	_ struct{} `type:"structure"`
106082
106083	// Checks whether you have the required permissions for the action, without
106084	// actually making the request, and provides an error response. If you have
106085	// the required permissions, the error response is DryRunOperation. Otherwise,
106086	// it is UnauthorizedOperation.
106087	DryRun *bool `type:"boolean"`
106088
106089	// The ID of the security group. You must specify either the security group
106090	// ID or the security group name in the request. For security groups in a nondefault
106091	// VPC, you must specify the security group ID.
106092	GroupId *string `type:"string"`
106093
106094	// [Default VPC] The name of the security group. You must specify either the
106095	// security group ID or the security group name in the request.
106096	GroupName *string `type:"string"`
106097
106098	// The IP permissions for the security group rule.
106099	//
106100	// IpPermissions is a required field
106101	IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
106102}
106103
106104// String returns the string representation
106105func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string {
106106	return awsutil.Prettify(s)
106107}
106108
106109// GoString returns the string representation
106110func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string {
106111	return s.String()
106112}
106113
106114// Validate inspects the fields of the type to determine if they are valid.
106115func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error {
106116	invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"}
106117	if s.IpPermissions == nil {
106118		invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
106119	}
106120
106121	if invalidParams.Len() > 0 {
106122		return invalidParams
106123	}
106124	return nil
106125}
106126
106127// SetDryRun sets the DryRun field's value.
106128func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput {
106129	s.DryRun = &v
106130	return s
106131}
106132
106133// SetGroupId sets the GroupId field's value.
106134func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
106135	s.GroupId = &v
106136	return s
106137}
106138
106139// SetGroupName sets the GroupName field's value.
106140func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
106141	s.GroupName = &v
106142	return s
106143}
106144
106145// SetIpPermissions sets the IpPermissions field's value.
106146func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput {
106147	s.IpPermissions = v
106148	return s
106149}
106150
106151type UpdateSecurityGroupRuleDescriptionsEgressOutput struct {
106152	_ struct{} `type:"structure"`
106153
106154	// Returns true if the request succeeds; otherwise, returns an error.
106155	Return *bool `locationName:"return" type:"boolean"`
106156}
106157
106158// String returns the string representation
106159func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string {
106160	return awsutil.Prettify(s)
106161}
106162
106163// GoString returns the string representation
106164func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string {
106165	return s.String()
106166}
106167
106168// SetReturn sets the Return field's value.
106169func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput {
106170	s.Return = &v
106171	return s
106172}
106173
106174type UpdateSecurityGroupRuleDescriptionsIngressInput struct {
106175	_ struct{} `type:"structure"`
106176
106177	// Checks whether you have the required permissions for the action, without
106178	// actually making the request, and provides an error response. If you have
106179	// the required permissions, the error response is DryRunOperation. Otherwise,
106180	// it is UnauthorizedOperation.
106181	DryRun *bool `type:"boolean"`
106182
106183	// The ID of the security group. You must specify either the security group
106184	// ID or the security group name in the request. For security groups in a nondefault
106185	// VPC, you must specify the security group ID.
106186	GroupId *string `type:"string"`
106187
106188	// [EC2-Classic, default VPC] The name of the security group. You must specify
106189	// either the security group ID or the security group name in the request.
106190	GroupName *string `type:"string"`
106191
106192	// The IP permissions for the security group rule.
106193	//
106194	// IpPermissions is a required field
106195	IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
106196}
106197
106198// String returns the string representation
106199func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string {
106200	return awsutil.Prettify(s)
106201}
106202
106203// GoString returns the string representation
106204func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string {
106205	return s.String()
106206}
106207
106208// Validate inspects the fields of the type to determine if they are valid.
106209func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error {
106210	invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"}
106211	if s.IpPermissions == nil {
106212		invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
106213	}
106214
106215	if invalidParams.Len() > 0 {
106216		return invalidParams
106217	}
106218	return nil
106219}
106220
106221// SetDryRun sets the DryRun field's value.
106222func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput {
106223	s.DryRun = &v
106224	return s
106225}
106226
106227// SetGroupId sets the GroupId field's value.
106228func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
106229	s.GroupId = &v
106230	return s
106231}
106232
106233// SetGroupName sets the GroupName field's value.
106234func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
106235	s.GroupName = &v
106236	return s
106237}
106238
106239// SetIpPermissions sets the IpPermissions field's value.
106240func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput {
106241	s.IpPermissions = v
106242	return s
106243}
106244
106245type UpdateSecurityGroupRuleDescriptionsIngressOutput struct {
106246	_ struct{} `type:"structure"`
106247
106248	// Returns true if the request succeeds; otherwise, returns an error.
106249	Return *bool `locationName:"return" type:"boolean"`
106250}
106251
106252// String returns the string representation
106253func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string {
106254	return awsutil.Prettify(s)
106255}
106256
106257// GoString returns the string representation
106258func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string {
106259	return s.String()
106260}
106261
106262// SetReturn sets the Return field's value.
106263func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput {
106264	s.Return = &v
106265	return s
106266}
106267
106268// Describes the S3 bucket for the disk image.
106269type UserBucket struct {
106270	_ struct{} `type:"structure"`
106271
106272	// The name of the S3 bucket where the disk image is located.
106273	S3Bucket *string `type:"string"`
106274
106275	// The file name of the disk image.
106276	S3Key *string `type:"string"`
106277}
106278
106279// String returns the string representation
106280func (s UserBucket) String() string {
106281	return awsutil.Prettify(s)
106282}
106283
106284// GoString returns the string representation
106285func (s UserBucket) GoString() string {
106286	return s.String()
106287}
106288
106289// SetS3Bucket sets the S3Bucket field's value.
106290func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
106291	s.S3Bucket = &v
106292	return s
106293}
106294
106295// SetS3Key sets the S3Key field's value.
106296func (s *UserBucket) SetS3Key(v string) *UserBucket {
106297	s.S3Key = &v
106298	return s
106299}
106300
106301// Describes the S3 bucket for the disk image.
106302type UserBucketDetails struct {
106303	_ struct{} `type:"structure"`
106304
106305	// The S3 bucket from which the disk image was created.
106306	S3Bucket *string `locationName:"s3Bucket" type:"string"`
106307
106308	// The file name of the disk image.
106309	S3Key *string `locationName:"s3Key" type:"string"`
106310}
106311
106312// String returns the string representation
106313func (s UserBucketDetails) String() string {
106314	return awsutil.Prettify(s)
106315}
106316
106317// GoString returns the string representation
106318func (s UserBucketDetails) GoString() string {
106319	return s.String()
106320}
106321
106322// SetS3Bucket sets the S3Bucket field's value.
106323func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
106324	s.S3Bucket = &v
106325	return s
106326}
106327
106328// SetS3Key sets the S3Key field's value.
106329func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
106330	s.S3Key = &v
106331	return s
106332}
106333
106334// Describes the user data for an instance.
106335type UserData struct {
106336	_ struct{} `type:"structure" sensitive:"true"`
106337
106338	// The user data. If you are using an AWS SDK or command line tool, Base64-encoding
106339	// is performed for you, and you can load the text from a file. Otherwise, you
106340	// must provide Base64-encoded text.
106341	Data *string `locationName:"data" type:"string"`
106342}
106343
106344// String returns the string representation
106345func (s UserData) String() string {
106346	return awsutil.Prettify(s)
106347}
106348
106349// GoString returns the string representation
106350func (s UserData) GoString() string {
106351	return s.String()
106352}
106353
106354// SetData sets the Data field's value.
106355func (s *UserData) SetData(v string) *UserData {
106356	s.Data = &v
106357	return s
106358}
106359
106360// Describes a security group and AWS account ID pair.
106361type UserIdGroupPair struct {
106362	_ struct{} `type:"structure"`
106363
106364	// A description for the security group rule that references this user ID group
106365	// pair.
106366	//
106367	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
106368	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
106369	Description *string `locationName:"description" type:"string"`
106370
106371	// The ID of the security group.
106372	GroupId *string `locationName:"groupId" type:"string"`
106373
106374	// The name of the security group. In a request, use this parameter for a security
106375	// group in EC2-Classic or a default VPC only. For a security group in a nondefault
106376	// VPC, use the security group ID.
106377	//
106378	// For a referenced security group in another VPC, this value is not returned
106379	// if the referenced security group is deleted.
106380	GroupName *string `locationName:"groupName" type:"string"`
106381
106382	// The status of a VPC peering connection, if applicable.
106383	PeeringStatus *string `locationName:"peeringStatus" type:"string"`
106384
106385	// The ID of an AWS account.
106386	//
106387	// For a referenced security group in another VPC, the account ID of the referenced
106388	// security group is returned in the response. If the referenced security group
106389	// is deleted, this value is not returned.
106390	//
106391	// [EC2-Classic] Required when adding or removing rules that reference a security
106392	// group in another AWS account.
106393	UserId *string `locationName:"userId" type:"string"`
106394
106395	// The ID of the VPC for the referenced security group, if applicable.
106396	VpcId *string `locationName:"vpcId" type:"string"`
106397
106398	// The ID of the VPC peering connection, if applicable.
106399	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
106400}
106401
106402// String returns the string representation
106403func (s UserIdGroupPair) String() string {
106404	return awsutil.Prettify(s)
106405}
106406
106407// GoString returns the string representation
106408func (s UserIdGroupPair) GoString() string {
106409	return s.String()
106410}
106411
106412// SetDescription sets the Description field's value.
106413func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair {
106414	s.Description = &v
106415	return s
106416}
106417
106418// SetGroupId sets the GroupId field's value.
106419func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
106420	s.GroupId = &v
106421	return s
106422}
106423
106424// SetGroupName sets the GroupName field's value.
106425func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
106426	s.GroupName = &v
106427	return s
106428}
106429
106430// SetPeeringStatus sets the PeeringStatus field's value.
106431func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
106432	s.PeeringStatus = &v
106433	return s
106434}
106435
106436// SetUserId sets the UserId field's value.
106437func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
106438	s.UserId = &v
106439	return s
106440}
106441
106442// SetVpcId sets the VpcId field's value.
106443func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
106444	s.VpcId = &v
106445	return s
106446}
106447
106448// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
106449func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
106450	s.VpcPeeringConnectionId = &v
106451	return s
106452}
106453
106454// Describes the vCPU configurations for the instance type.
106455type VCpuInfo struct {
106456	_ struct{} `type:"structure"`
106457
106458	// The default number of cores for the instance type.
106459	DefaultCores *int64 `locationName:"defaultCores" type:"integer"`
106460
106461	// The default number of threads per core for the instance type.
106462	DefaultThreadsPerCore *int64 `locationName:"defaultThreadsPerCore" type:"integer"`
106463
106464	// The default number of vCPUs for the instance type.
106465	DefaultVCpus *int64 `locationName:"defaultVCpus" type:"integer"`
106466
106467	// List of the valid number of cores that can be configured for the instance
106468	// type.
106469	ValidCores []*int64 `locationName:"validCores" locationNameList:"item" type:"list"`
106470
106471	// List of the valid number of threads per core that can be configured for the
106472	// instance type.
106473	ValidThreadsPerCore []*int64 `locationName:"validThreadsPerCore" locationNameList:"item" type:"list"`
106474}
106475
106476// String returns the string representation
106477func (s VCpuInfo) String() string {
106478	return awsutil.Prettify(s)
106479}
106480
106481// GoString returns the string representation
106482func (s VCpuInfo) GoString() string {
106483	return s.String()
106484}
106485
106486// SetDefaultCores sets the DefaultCores field's value.
106487func (s *VCpuInfo) SetDefaultCores(v int64) *VCpuInfo {
106488	s.DefaultCores = &v
106489	return s
106490}
106491
106492// SetDefaultThreadsPerCore sets the DefaultThreadsPerCore field's value.
106493func (s *VCpuInfo) SetDefaultThreadsPerCore(v int64) *VCpuInfo {
106494	s.DefaultThreadsPerCore = &v
106495	return s
106496}
106497
106498// SetDefaultVCpus sets the DefaultVCpus field's value.
106499func (s *VCpuInfo) SetDefaultVCpus(v int64) *VCpuInfo {
106500	s.DefaultVCpus = &v
106501	return s
106502}
106503
106504// SetValidCores sets the ValidCores field's value.
106505func (s *VCpuInfo) SetValidCores(v []*int64) *VCpuInfo {
106506	s.ValidCores = v
106507	return s
106508}
106509
106510// SetValidThreadsPerCore sets the ValidThreadsPerCore field's value.
106511func (s *VCpuInfo) SetValidThreadsPerCore(v []*int64) *VCpuInfo {
106512	s.ValidThreadsPerCore = v
106513	return s
106514}
106515
106516// Describes telemetry for a VPN tunnel.
106517type VgwTelemetry struct {
106518	_ struct{} `type:"structure"`
106519
106520	// The number of accepted routes.
106521	AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
106522
106523	// The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.
106524	CertificateArn *string `locationName:"certificateArn" type:"string"`
106525
106526	// The date and time of the last change in status.
106527	LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp"`
106528
106529	// The Internet-routable IP address of the virtual private gateway's outside
106530	// interface.
106531	OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
106532
106533	// The status of the VPN tunnel.
106534	Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
106535
106536	// If an error occurs, a description of the error.
106537	StatusMessage *string `locationName:"statusMessage" type:"string"`
106538}
106539
106540// String returns the string representation
106541func (s VgwTelemetry) String() string {
106542	return awsutil.Prettify(s)
106543}
106544
106545// GoString returns the string representation
106546func (s VgwTelemetry) GoString() string {
106547	return s.String()
106548}
106549
106550// SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
106551func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
106552	s.AcceptedRouteCount = &v
106553	return s
106554}
106555
106556// SetCertificateArn sets the CertificateArn field's value.
106557func (s *VgwTelemetry) SetCertificateArn(v string) *VgwTelemetry {
106558	s.CertificateArn = &v
106559	return s
106560}
106561
106562// SetLastStatusChange sets the LastStatusChange field's value.
106563func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
106564	s.LastStatusChange = &v
106565	return s
106566}
106567
106568// SetOutsideIpAddress sets the OutsideIpAddress field's value.
106569func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
106570	s.OutsideIpAddress = &v
106571	return s
106572}
106573
106574// SetStatus sets the Status field's value.
106575func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
106576	s.Status = &v
106577	return s
106578}
106579
106580// SetStatusMessage sets the StatusMessage field's value.
106581func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
106582	s.StatusMessage = &v
106583	return s
106584}
106585
106586// Describes a volume.
106587type Volume struct {
106588	_ struct{} `type:"structure"`
106589
106590	// Information about the volume attachments.
106591	Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
106592
106593	// The Availability Zone for the volume.
106594	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
106595
106596	// The time stamp when volume creation was initiated.
106597	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
106598
106599	// Indicates whether the volume is encrypted.
106600	Encrypted *bool `locationName:"encrypted" type:"boolean"`
106601
106602	// Indicates whether the volume was created using fast snapshot restore.
106603	FastRestored *bool `locationName:"fastRestored" type:"boolean"`
106604
106605	// The number of I/O operations per second (IOPS) that the volume supports.
106606	// For Provisioned IOPS SSD volumes, this represents the number of IOPS that
106607	// are provisioned for the volume. For General Purpose SSD volumes, this represents
106608	// the baseline performance of the volume and the rate at which the volume accumulates
106609	// I/O credits for bursting. For more information, see Amazon EBS Volume Types
106610	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
106611	// in the Amazon Elastic Compute Cloud User Guide.
106612	//
106613	// Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
106614	// for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed
106615	// only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
106616	// Other instance families guarantee performance up to 32,000 IOPS.
106617	//
106618	// Condition: This parameter is required for requests to create io1 volumes;
106619	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
106620	Iops *int64 `locationName:"iops" type:"integer"`
106621
106622	// The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
106623	// customer master key (CMK) that was used to protect the volume encryption
106624	// key for the volume.
106625	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
106626
106627	// Indicates whether Amazon EBS Multi-Attach is enabled.
106628	MultiAttachEnabled *bool `locationName:"multiAttachEnabled" type:"boolean"`
106629
106630	// The Amazon Resource Name (ARN) of the Outpost.
106631	OutpostArn *string `locationName:"outpostArn" type:"string"`
106632
106633	// The size of the volume, in GiBs.
106634	Size *int64 `locationName:"size" type:"integer"`
106635
106636	// The snapshot from which the volume was created, if applicable.
106637	SnapshotId *string `locationName:"snapshotId" type:"string"`
106638
106639	// The volume state.
106640	State *string `locationName:"status" type:"string" enum:"VolumeState"`
106641
106642	// Any tags assigned to the volume.
106643	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
106644
106645	// The ID of the volume.
106646	VolumeId *string `locationName:"volumeId" type:"string"`
106647
106648	// The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
106649	// IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
106650	// for Magnetic volumes.
106651	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
106652}
106653
106654// String returns the string representation
106655func (s Volume) String() string {
106656	return awsutil.Prettify(s)
106657}
106658
106659// GoString returns the string representation
106660func (s Volume) GoString() string {
106661	return s.String()
106662}
106663
106664// SetAttachments sets the Attachments field's value.
106665func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
106666	s.Attachments = v
106667	return s
106668}
106669
106670// SetAvailabilityZone sets the AvailabilityZone field's value.
106671func (s *Volume) SetAvailabilityZone(v string) *Volume {
106672	s.AvailabilityZone = &v
106673	return s
106674}
106675
106676// SetCreateTime sets the CreateTime field's value.
106677func (s *Volume) SetCreateTime(v time.Time) *Volume {
106678	s.CreateTime = &v
106679	return s
106680}
106681
106682// SetEncrypted sets the Encrypted field's value.
106683func (s *Volume) SetEncrypted(v bool) *Volume {
106684	s.Encrypted = &v
106685	return s
106686}
106687
106688// SetFastRestored sets the FastRestored field's value.
106689func (s *Volume) SetFastRestored(v bool) *Volume {
106690	s.FastRestored = &v
106691	return s
106692}
106693
106694// SetIops sets the Iops field's value.
106695func (s *Volume) SetIops(v int64) *Volume {
106696	s.Iops = &v
106697	return s
106698}
106699
106700// SetKmsKeyId sets the KmsKeyId field's value.
106701func (s *Volume) SetKmsKeyId(v string) *Volume {
106702	s.KmsKeyId = &v
106703	return s
106704}
106705
106706// SetMultiAttachEnabled sets the MultiAttachEnabled field's value.
106707func (s *Volume) SetMultiAttachEnabled(v bool) *Volume {
106708	s.MultiAttachEnabled = &v
106709	return s
106710}
106711
106712// SetOutpostArn sets the OutpostArn field's value.
106713func (s *Volume) SetOutpostArn(v string) *Volume {
106714	s.OutpostArn = &v
106715	return s
106716}
106717
106718// SetSize sets the Size field's value.
106719func (s *Volume) SetSize(v int64) *Volume {
106720	s.Size = &v
106721	return s
106722}
106723
106724// SetSnapshotId sets the SnapshotId field's value.
106725func (s *Volume) SetSnapshotId(v string) *Volume {
106726	s.SnapshotId = &v
106727	return s
106728}
106729
106730// SetState sets the State field's value.
106731func (s *Volume) SetState(v string) *Volume {
106732	s.State = &v
106733	return s
106734}
106735
106736// SetTags sets the Tags field's value.
106737func (s *Volume) SetTags(v []*Tag) *Volume {
106738	s.Tags = v
106739	return s
106740}
106741
106742// SetVolumeId sets the VolumeId field's value.
106743func (s *Volume) SetVolumeId(v string) *Volume {
106744	s.VolumeId = &v
106745	return s
106746}
106747
106748// SetVolumeType sets the VolumeType field's value.
106749func (s *Volume) SetVolumeType(v string) *Volume {
106750	s.VolumeType = &v
106751	return s
106752}
106753
106754// Describes volume attachment details.
106755type VolumeAttachment struct {
106756	_ struct{} `type:"structure"`
106757
106758	// The time stamp when the attachment initiated.
106759	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
106760
106761	// Indicates whether the EBS volume is deleted on instance termination.
106762	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
106763
106764	// The device name.
106765	Device *string `locationName:"device" type:"string"`
106766
106767	// The ID of the instance.
106768	InstanceId *string `locationName:"instanceId" type:"string"`
106769
106770	// The attachment state of the volume.
106771	State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
106772
106773	// The ID of the volume.
106774	VolumeId *string `locationName:"volumeId" type:"string"`
106775}
106776
106777// String returns the string representation
106778func (s VolumeAttachment) String() string {
106779	return awsutil.Prettify(s)
106780}
106781
106782// GoString returns the string representation
106783func (s VolumeAttachment) GoString() string {
106784	return s.String()
106785}
106786
106787// SetAttachTime sets the AttachTime field's value.
106788func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
106789	s.AttachTime = &v
106790	return s
106791}
106792
106793// SetDeleteOnTermination sets the DeleteOnTermination field's value.
106794func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
106795	s.DeleteOnTermination = &v
106796	return s
106797}
106798
106799// SetDevice sets the Device field's value.
106800func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
106801	s.Device = &v
106802	return s
106803}
106804
106805// SetInstanceId sets the InstanceId field's value.
106806func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
106807	s.InstanceId = &v
106808	return s
106809}
106810
106811// SetState sets the State field's value.
106812func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
106813	s.State = &v
106814	return s
106815}
106816
106817// SetVolumeId sets the VolumeId field's value.
106818func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
106819	s.VolumeId = &v
106820	return s
106821}
106822
106823// Describes an EBS volume.
106824type VolumeDetail struct {
106825	_ struct{} `type:"structure"`
106826
106827	// The size of the volume, in GiB.
106828	//
106829	// Size is a required field
106830	Size *int64 `locationName:"size" type:"long" required:"true"`
106831}
106832
106833// String returns the string representation
106834func (s VolumeDetail) String() string {
106835	return awsutil.Prettify(s)
106836}
106837
106838// GoString returns the string representation
106839func (s VolumeDetail) GoString() string {
106840	return s.String()
106841}
106842
106843// Validate inspects the fields of the type to determine if they are valid.
106844func (s *VolumeDetail) Validate() error {
106845	invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
106846	if s.Size == nil {
106847		invalidParams.Add(request.NewErrParamRequired("Size"))
106848	}
106849
106850	if invalidParams.Len() > 0 {
106851		return invalidParams
106852	}
106853	return nil
106854}
106855
106856// SetSize sets the Size field's value.
106857func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
106858	s.Size = &v
106859	return s
106860}
106861
106862// Describes the modification status of an EBS volume.
106863//
106864// If the volume has never been modified, some element values will be null.
106865type VolumeModification struct {
106866	_ struct{} `type:"structure"`
106867
106868	// The modification completion or failure time.
106869	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
106870
106871	// The current modification state. The modification state is null for unmodified
106872	// volumes.
106873	ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
106874
106875	// The original IOPS rate of the volume.
106876	OriginalIops *int64 `locationName:"originalIops" type:"integer"`
106877
106878	// The original size of the volume.
106879	OriginalSize *int64 `locationName:"originalSize" type:"integer"`
106880
106881	// The original EBS volume type of the volume.
106882	OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
106883
106884	// The modification progress, from 0 to 100 percent complete.
106885	Progress *int64 `locationName:"progress" type:"long"`
106886
106887	// The modification start time.
106888	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
106889
106890	// A status message about the modification progress or failure.
106891	StatusMessage *string `locationName:"statusMessage" type:"string"`
106892
106893	// The target IOPS rate of the volume.
106894	TargetIops *int64 `locationName:"targetIops" type:"integer"`
106895
106896	// The target size of the volume, in GiB.
106897	TargetSize *int64 `locationName:"targetSize" type:"integer"`
106898
106899	// The target EBS volume type of the volume.
106900	TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
106901
106902	// The ID of the volume.
106903	VolumeId *string `locationName:"volumeId" type:"string"`
106904}
106905
106906// String returns the string representation
106907func (s VolumeModification) String() string {
106908	return awsutil.Prettify(s)
106909}
106910
106911// GoString returns the string representation
106912func (s VolumeModification) GoString() string {
106913	return s.String()
106914}
106915
106916// SetEndTime sets the EndTime field's value.
106917func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
106918	s.EndTime = &v
106919	return s
106920}
106921
106922// SetModificationState sets the ModificationState field's value.
106923func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
106924	s.ModificationState = &v
106925	return s
106926}
106927
106928// SetOriginalIops sets the OriginalIops field's value.
106929func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
106930	s.OriginalIops = &v
106931	return s
106932}
106933
106934// SetOriginalSize sets the OriginalSize field's value.
106935func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
106936	s.OriginalSize = &v
106937	return s
106938}
106939
106940// SetOriginalVolumeType sets the OriginalVolumeType field's value.
106941func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
106942	s.OriginalVolumeType = &v
106943	return s
106944}
106945
106946// SetProgress sets the Progress field's value.
106947func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
106948	s.Progress = &v
106949	return s
106950}
106951
106952// SetStartTime sets the StartTime field's value.
106953func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
106954	s.StartTime = &v
106955	return s
106956}
106957
106958// SetStatusMessage sets the StatusMessage field's value.
106959func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
106960	s.StatusMessage = &v
106961	return s
106962}
106963
106964// SetTargetIops sets the TargetIops field's value.
106965func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
106966	s.TargetIops = &v
106967	return s
106968}
106969
106970// SetTargetSize sets the TargetSize field's value.
106971func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
106972	s.TargetSize = &v
106973	return s
106974}
106975
106976// SetTargetVolumeType sets the TargetVolumeType field's value.
106977func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
106978	s.TargetVolumeType = &v
106979	return s
106980}
106981
106982// SetVolumeId sets the VolumeId field's value.
106983func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
106984	s.VolumeId = &v
106985	return s
106986}
106987
106988// Describes a volume status operation code.
106989type VolumeStatusAction struct {
106990	_ struct{} `type:"structure"`
106991
106992	// The code identifying the operation, for example, enable-volume-io.
106993	Code *string `locationName:"code" type:"string"`
106994
106995	// A description of the operation.
106996	Description *string `locationName:"description" type:"string"`
106997
106998	// The ID of the event associated with this operation.
106999	EventId *string `locationName:"eventId" type:"string"`
107000
107001	// The event type associated with this operation.
107002	EventType *string `locationName:"eventType" type:"string"`
107003}
107004
107005// String returns the string representation
107006func (s VolumeStatusAction) String() string {
107007	return awsutil.Prettify(s)
107008}
107009
107010// GoString returns the string representation
107011func (s VolumeStatusAction) GoString() string {
107012	return s.String()
107013}
107014
107015// SetCode sets the Code field's value.
107016func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
107017	s.Code = &v
107018	return s
107019}
107020
107021// SetDescription sets the Description field's value.
107022func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
107023	s.Description = &v
107024	return s
107025}
107026
107027// SetEventId sets the EventId field's value.
107028func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
107029	s.EventId = &v
107030	return s
107031}
107032
107033// SetEventType sets the EventType field's value.
107034func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
107035	s.EventType = &v
107036	return s
107037}
107038
107039// Information about the instances to which the volume is attached.
107040type VolumeStatusAttachmentStatus struct {
107041	_ struct{} `type:"structure"`
107042
107043	// The ID of the attached instance.
107044	InstanceId *string `locationName:"instanceId" type:"string"`
107045
107046	// The maximum IOPS supported by the attached instance.
107047	IoPerformance *string `locationName:"ioPerformance" type:"string"`
107048}
107049
107050// String returns the string representation
107051func (s VolumeStatusAttachmentStatus) String() string {
107052	return awsutil.Prettify(s)
107053}
107054
107055// GoString returns the string representation
107056func (s VolumeStatusAttachmentStatus) GoString() string {
107057	return s.String()
107058}
107059
107060// SetInstanceId sets the InstanceId field's value.
107061func (s *VolumeStatusAttachmentStatus) SetInstanceId(v string) *VolumeStatusAttachmentStatus {
107062	s.InstanceId = &v
107063	return s
107064}
107065
107066// SetIoPerformance sets the IoPerformance field's value.
107067func (s *VolumeStatusAttachmentStatus) SetIoPerformance(v string) *VolumeStatusAttachmentStatus {
107068	s.IoPerformance = &v
107069	return s
107070}
107071
107072// Describes a volume status.
107073type VolumeStatusDetails struct {
107074	_ struct{} `type:"structure"`
107075
107076	// The name of the volume status.
107077	Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
107078
107079	// The intended status of the volume status.
107080	Status *string `locationName:"status" type:"string"`
107081}
107082
107083// String returns the string representation
107084func (s VolumeStatusDetails) String() string {
107085	return awsutil.Prettify(s)
107086}
107087
107088// GoString returns the string representation
107089func (s VolumeStatusDetails) GoString() string {
107090	return s.String()
107091}
107092
107093// SetName sets the Name field's value.
107094func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
107095	s.Name = &v
107096	return s
107097}
107098
107099// SetStatus sets the Status field's value.
107100func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
107101	s.Status = &v
107102	return s
107103}
107104
107105// Describes a volume status event.
107106type VolumeStatusEvent struct {
107107	_ struct{} `type:"structure"`
107108
107109	// A description of the event.
107110	Description *string `locationName:"description" type:"string"`
107111
107112	// The ID of this event.
107113	EventId *string `locationName:"eventId" type:"string"`
107114
107115	// The type of this event.
107116	EventType *string `locationName:"eventType" type:"string"`
107117
107118	// The ID of the instance associated with the event.
107119	InstanceId *string `locationName:"instanceId" type:"string"`
107120
107121	// The latest end time of the event.
107122	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
107123
107124	// The earliest start time of the event.
107125	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
107126}
107127
107128// String returns the string representation
107129func (s VolumeStatusEvent) String() string {
107130	return awsutil.Prettify(s)
107131}
107132
107133// GoString returns the string representation
107134func (s VolumeStatusEvent) GoString() string {
107135	return s.String()
107136}
107137
107138// SetDescription sets the Description field's value.
107139func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
107140	s.Description = &v
107141	return s
107142}
107143
107144// SetEventId sets the EventId field's value.
107145func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
107146	s.EventId = &v
107147	return s
107148}
107149
107150// SetEventType sets the EventType field's value.
107151func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
107152	s.EventType = &v
107153	return s
107154}
107155
107156// SetInstanceId sets the InstanceId field's value.
107157func (s *VolumeStatusEvent) SetInstanceId(v string) *VolumeStatusEvent {
107158	s.InstanceId = &v
107159	return s
107160}
107161
107162// SetNotAfter sets the NotAfter field's value.
107163func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
107164	s.NotAfter = &v
107165	return s
107166}
107167
107168// SetNotBefore sets the NotBefore field's value.
107169func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
107170	s.NotBefore = &v
107171	return s
107172}
107173
107174// Describes the status of a volume.
107175type VolumeStatusInfo struct {
107176	_ struct{} `type:"structure"`
107177
107178	// The details of the volume status.
107179	Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
107180
107181	// The status of the volume.
107182	Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
107183}
107184
107185// String returns the string representation
107186func (s VolumeStatusInfo) String() string {
107187	return awsutil.Prettify(s)
107188}
107189
107190// GoString returns the string representation
107191func (s VolumeStatusInfo) GoString() string {
107192	return s.String()
107193}
107194
107195// SetDetails sets the Details field's value.
107196func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
107197	s.Details = v
107198	return s
107199}
107200
107201// SetStatus sets the Status field's value.
107202func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
107203	s.Status = &v
107204	return s
107205}
107206
107207// Describes the volume status.
107208type VolumeStatusItem struct {
107209	_ struct{} `type:"structure"`
107210
107211	// The details of the operation.
107212	Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
107213
107214	// Information about the instances to which the volume is attached.
107215	AttachmentStatuses []*VolumeStatusAttachmentStatus `locationName:"attachmentStatuses" locationNameList:"item" type:"list"`
107216
107217	// The Availability Zone of the volume.
107218	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
107219
107220	// A list of events associated with the volume.
107221	Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
107222
107223	// The Amazon Resource Name (ARN) of the Outpost.
107224	OutpostArn *string `locationName:"outpostArn" type:"string"`
107225
107226	// The volume ID.
107227	VolumeId *string `locationName:"volumeId" type:"string"`
107228
107229	// The volume status.
107230	VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
107231}
107232
107233// String returns the string representation
107234func (s VolumeStatusItem) String() string {
107235	return awsutil.Prettify(s)
107236}
107237
107238// GoString returns the string representation
107239func (s VolumeStatusItem) GoString() string {
107240	return s.String()
107241}
107242
107243// SetActions sets the Actions field's value.
107244func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
107245	s.Actions = v
107246	return s
107247}
107248
107249// SetAttachmentStatuses sets the AttachmentStatuses field's value.
107250func (s *VolumeStatusItem) SetAttachmentStatuses(v []*VolumeStatusAttachmentStatus) *VolumeStatusItem {
107251	s.AttachmentStatuses = v
107252	return s
107253}
107254
107255// SetAvailabilityZone sets the AvailabilityZone field's value.
107256func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
107257	s.AvailabilityZone = &v
107258	return s
107259}
107260
107261// SetEvents sets the Events field's value.
107262func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
107263	s.Events = v
107264	return s
107265}
107266
107267// SetOutpostArn sets the OutpostArn field's value.
107268func (s *VolumeStatusItem) SetOutpostArn(v string) *VolumeStatusItem {
107269	s.OutpostArn = &v
107270	return s
107271}
107272
107273// SetVolumeId sets the VolumeId field's value.
107274func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
107275	s.VolumeId = &v
107276	return s
107277}
107278
107279// SetVolumeStatus sets the VolumeStatus field's value.
107280func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
107281	s.VolumeStatus = v
107282	return s
107283}
107284
107285// Describes a VPC.
107286type Vpc struct {
107287	_ struct{} `type:"structure"`
107288
107289	// The primary IPv4 CIDR block for the VPC.
107290	CidrBlock *string `locationName:"cidrBlock" type:"string"`
107291
107292	// Information about the IPv4 CIDR blocks associated with the VPC.
107293	CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"`
107294
107295	// The ID of the set of DHCP options you've associated with the VPC (or default
107296	// if the default options are associated with the VPC).
107297	DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
107298
107299	// The allowed tenancy of instances launched into the VPC.
107300	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
107301
107302	// Information about the IPv6 CIDR blocks associated with the VPC.
107303	Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
107304
107305	// Indicates whether the VPC is the default VPC.
107306	IsDefault *bool `locationName:"isDefault" type:"boolean"`
107307
107308	// The ID of the AWS account that owns the VPC.
107309	OwnerId *string `locationName:"ownerId" type:"string"`
107310
107311	// The current state of the VPC.
107312	State *string `locationName:"state" type:"string" enum:"VpcState"`
107313
107314	// Any tags assigned to the VPC.
107315	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
107316
107317	// The ID of the VPC.
107318	VpcId *string `locationName:"vpcId" type:"string"`
107319}
107320
107321// String returns the string representation
107322func (s Vpc) String() string {
107323	return awsutil.Prettify(s)
107324}
107325
107326// GoString returns the string representation
107327func (s Vpc) GoString() string {
107328	return s.String()
107329}
107330
107331// SetCidrBlock sets the CidrBlock field's value.
107332func (s *Vpc) SetCidrBlock(v string) *Vpc {
107333	s.CidrBlock = &v
107334	return s
107335}
107336
107337// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
107338func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc {
107339	s.CidrBlockAssociationSet = v
107340	return s
107341}
107342
107343// SetDhcpOptionsId sets the DhcpOptionsId field's value.
107344func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
107345	s.DhcpOptionsId = &v
107346	return s
107347}
107348
107349// SetInstanceTenancy sets the InstanceTenancy field's value.
107350func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
107351	s.InstanceTenancy = &v
107352	return s
107353}
107354
107355// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
107356func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
107357	s.Ipv6CidrBlockAssociationSet = v
107358	return s
107359}
107360
107361// SetIsDefault sets the IsDefault field's value.
107362func (s *Vpc) SetIsDefault(v bool) *Vpc {
107363	s.IsDefault = &v
107364	return s
107365}
107366
107367// SetOwnerId sets the OwnerId field's value.
107368func (s *Vpc) SetOwnerId(v string) *Vpc {
107369	s.OwnerId = &v
107370	return s
107371}
107372
107373// SetState sets the State field's value.
107374func (s *Vpc) SetState(v string) *Vpc {
107375	s.State = &v
107376	return s
107377}
107378
107379// SetTags sets the Tags field's value.
107380func (s *Vpc) SetTags(v []*Tag) *Vpc {
107381	s.Tags = v
107382	return s
107383}
107384
107385// SetVpcId sets the VpcId field's value.
107386func (s *Vpc) SetVpcId(v string) *Vpc {
107387	s.VpcId = &v
107388	return s
107389}
107390
107391// Describes an attachment between a virtual private gateway and a VPC.
107392type VpcAttachment struct {
107393	_ struct{} `type:"structure"`
107394
107395	// The current state of the attachment.
107396	State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
107397
107398	// The ID of the VPC.
107399	VpcId *string `locationName:"vpcId" type:"string"`
107400}
107401
107402// String returns the string representation
107403func (s VpcAttachment) String() string {
107404	return awsutil.Prettify(s)
107405}
107406
107407// GoString returns the string representation
107408func (s VpcAttachment) GoString() string {
107409	return s.String()
107410}
107411
107412// SetState sets the State field's value.
107413func (s *VpcAttachment) SetState(v string) *VpcAttachment {
107414	s.State = &v
107415	return s
107416}
107417
107418// SetVpcId sets the VpcId field's value.
107419func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
107420	s.VpcId = &v
107421	return s
107422}
107423
107424// Describes an IPv4 CIDR block associated with a VPC.
107425type VpcCidrBlockAssociation struct {
107426	_ struct{} `type:"structure"`
107427
107428	// The association ID for the IPv4 CIDR block.
107429	AssociationId *string `locationName:"associationId" type:"string"`
107430
107431	// The IPv4 CIDR block.
107432	CidrBlock *string `locationName:"cidrBlock" type:"string"`
107433
107434	// Information about the state of the CIDR block.
107435	CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"`
107436}
107437
107438// String returns the string representation
107439func (s VpcCidrBlockAssociation) String() string {
107440	return awsutil.Prettify(s)
107441}
107442
107443// GoString returns the string representation
107444func (s VpcCidrBlockAssociation) GoString() string {
107445	return s.String()
107446}
107447
107448// SetAssociationId sets the AssociationId field's value.
107449func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation {
107450	s.AssociationId = &v
107451	return s
107452}
107453
107454// SetCidrBlock sets the CidrBlock field's value.
107455func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation {
107456	s.CidrBlock = &v
107457	return s
107458}
107459
107460// SetCidrBlockState sets the CidrBlockState field's value.
107461func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation {
107462	s.CidrBlockState = v
107463	return s
107464}
107465
107466// Describes the state of a CIDR block.
107467type VpcCidrBlockState struct {
107468	_ struct{} `type:"structure"`
107469
107470	// The state of the CIDR block.
107471	State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
107472
107473	// A message about the status of the CIDR block, if applicable.
107474	StatusMessage *string `locationName:"statusMessage" type:"string"`
107475}
107476
107477// String returns the string representation
107478func (s VpcCidrBlockState) String() string {
107479	return awsutil.Prettify(s)
107480}
107481
107482// GoString returns the string representation
107483func (s VpcCidrBlockState) GoString() string {
107484	return s.String()
107485}
107486
107487// SetState sets the State field's value.
107488func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
107489	s.State = &v
107490	return s
107491}
107492
107493// SetStatusMessage sets the StatusMessage field's value.
107494func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
107495	s.StatusMessage = &v
107496	return s
107497}
107498
107499// Describes whether a VPC is enabled for ClassicLink.
107500type VpcClassicLink struct {
107501	_ struct{} `type:"structure"`
107502
107503	// Indicates whether the VPC is enabled for ClassicLink.
107504	ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
107505
107506	// Any tags assigned to the VPC.
107507	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
107508
107509	// The ID of the VPC.
107510	VpcId *string `locationName:"vpcId" type:"string"`
107511}
107512
107513// String returns the string representation
107514func (s VpcClassicLink) String() string {
107515	return awsutil.Prettify(s)
107516}
107517
107518// GoString returns the string representation
107519func (s VpcClassicLink) GoString() string {
107520	return s.String()
107521}
107522
107523// SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
107524func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
107525	s.ClassicLinkEnabled = &v
107526	return s
107527}
107528
107529// SetTags sets the Tags field's value.
107530func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
107531	s.Tags = v
107532	return s
107533}
107534
107535// SetVpcId sets the VpcId field's value.
107536func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
107537	s.VpcId = &v
107538	return s
107539}
107540
107541// Describes a VPC endpoint.
107542type VpcEndpoint struct {
107543	_ struct{} `type:"structure"`
107544
107545	// The date and time that the VPC endpoint was created.
107546	CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
107547
107548	// (Interface endpoint) The DNS entries for the endpoint.
107549	DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
107550
107551	// (Interface endpoint) Information about the security groups that are associated
107552	// with the network interface.
107553	Groups []*SecurityGroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
107554
107555	// The last error that occurred for VPC endpoint.
107556	LastError *LastError `locationName:"lastError" type:"structure"`
107557
107558	// (Interface endpoint) One or more network interfaces for the endpoint.
107559	NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"`
107560
107561	// The ID of the AWS account that owns the VPC endpoint.
107562	OwnerId *string `locationName:"ownerId" type:"string"`
107563
107564	// The policy document associated with the endpoint, if applicable.
107565	PolicyDocument *string `locationName:"policyDocument" type:"string"`
107566
107567	// (Interface endpoint) Indicates whether the VPC is associated with a private
107568	// hosted zone.
107569	PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"`
107570
107571	// Indicates whether the VPC endpoint is being managed by its service.
107572	RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
107573
107574	// (Gateway endpoint) One or more route tables associated with the endpoint.
107575	RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
107576
107577	// The name of the service to which the endpoint is associated.
107578	ServiceName *string `locationName:"serviceName" type:"string"`
107579
107580	// The state of the VPC endpoint.
107581	State *string `locationName:"state" type:"string" enum:"State"`
107582
107583	// (Interface endpoint) One or more subnets in which the endpoint is located.
107584	SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"`
107585
107586	// Any tags assigned to the VPC endpoint.
107587	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
107588
107589	// The ID of the VPC endpoint.
107590	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
107591
107592	// The type of endpoint.
107593	VpcEndpointType *string `locationName:"vpcEndpointType" type:"string" enum:"VpcEndpointType"`
107594
107595	// The ID of the VPC to which the endpoint is associated.
107596	VpcId *string `locationName:"vpcId" type:"string"`
107597}
107598
107599// String returns the string representation
107600func (s VpcEndpoint) String() string {
107601	return awsutil.Prettify(s)
107602}
107603
107604// GoString returns the string representation
107605func (s VpcEndpoint) GoString() string {
107606	return s.String()
107607}
107608
107609// SetCreationTimestamp sets the CreationTimestamp field's value.
107610func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
107611	s.CreationTimestamp = &v
107612	return s
107613}
107614
107615// SetDnsEntries sets the DnsEntries field's value.
107616func (s *VpcEndpoint) SetDnsEntries(v []*DnsEntry) *VpcEndpoint {
107617	s.DnsEntries = v
107618	return s
107619}
107620
107621// SetGroups sets the Groups field's value.
107622func (s *VpcEndpoint) SetGroups(v []*SecurityGroupIdentifier) *VpcEndpoint {
107623	s.Groups = v
107624	return s
107625}
107626
107627// SetLastError sets the LastError field's value.
107628func (s *VpcEndpoint) SetLastError(v *LastError) *VpcEndpoint {
107629	s.LastError = v
107630	return s
107631}
107632
107633// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
107634func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint {
107635	s.NetworkInterfaceIds = v
107636	return s
107637}
107638
107639// SetOwnerId sets the OwnerId field's value.
107640func (s *VpcEndpoint) SetOwnerId(v string) *VpcEndpoint {
107641	s.OwnerId = &v
107642	return s
107643}
107644
107645// SetPolicyDocument sets the PolicyDocument field's value.
107646func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
107647	s.PolicyDocument = &v
107648	return s
107649}
107650
107651// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
107652func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint {
107653	s.PrivateDnsEnabled = &v
107654	return s
107655}
107656
107657// SetRequesterManaged sets the RequesterManaged field's value.
107658func (s *VpcEndpoint) SetRequesterManaged(v bool) *VpcEndpoint {
107659	s.RequesterManaged = &v
107660	return s
107661}
107662
107663// SetRouteTableIds sets the RouteTableIds field's value.
107664func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
107665	s.RouteTableIds = v
107666	return s
107667}
107668
107669// SetServiceName sets the ServiceName field's value.
107670func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
107671	s.ServiceName = &v
107672	return s
107673}
107674
107675// SetState sets the State field's value.
107676func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
107677	s.State = &v
107678	return s
107679}
107680
107681// SetSubnetIds sets the SubnetIds field's value.
107682func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint {
107683	s.SubnetIds = v
107684	return s
107685}
107686
107687// SetTags sets the Tags field's value.
107688func (s *VpcEndpoint) SetTags(v []*Tag) *VpcEndpoint {
107689	s.Tags = v
107690	return s
107691}
107692
107693// SetVpcEndpointId sets the VpcEndpointId field's value.
107694func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
107695	s.VpcEndpointId = &v
107696	return s
107697}
107698
107699// SetVpcEndpointType sets the VpcEndpointType field's value.
107700func (s *VpcEndpoint) SetVpcEndpointType(v string) *VpcEndpoint {
107701	s.VpcEndpointType = &v
107702	return s
107703}
107704
107705// SetVpcId sets the VpcId field's value.
107706func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
107707	s.VpcId = &v
107708	return s
107709}
107710
107711// Describes a VPC endpoint connection to a service.
107712type VpcEndpointConnection struct {
107713	_ struct{} `type:"structure"`
107714
107715	// The date and time that the VPC endpoint was created.
107716	CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
107717
107718	// The DNS entries for the VPC endpoint.
107719	DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
107720
107721	// The Amazon Resource Names (ARNs) of the network load balancers for the service.
107722	NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
107723
107724	// The ID of the service to which the endpoint is connected.
107725	ServiceId *string `locationName:"serviceId" type:"string"`
107726
107727	// The ID of the VPC endpoint.
107728	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
107729
107730	// The AWS account ID of the owner of the VPC endpoint.
107731	VpcEndpointOwner *string `locationName:"vpcEndpointOwner" type:"string"`
107732
107733	// The state of the VPC endpoint.
107734	VpcEndpointState *string `locationName:"vpcEndpointState" type:"string" enum:"State"`
107735}
107736
107737// String returns the string representation
107738func (s VpcEndpointConnection) String() string {
107739	return awsutil.Prettify(s)
107740}
107741
107742// GoString returns the string representation
107743func (s VpcEndpointConnection) GoString() string {
107744	return s.String()
107745}
107746
107747// SetCreationTimestamp sets the CreationTimestamp field's value.
107748func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointConnection {
107749	s.CreationTimestamp = &v
107750	return s
107751}
107752
107753// SetDnsEntries sets the DnsEntries field's value.
107754func (s *VpcEndpointConnection) SetDnsEntries(v []*DnsEntry) *VpcEndpointConnection {
107755	s.DnsEntries = v
107756	return s
107757}
107758
107759// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
107760func (s *VpcEndpointConnection) SetNetworkLoadBalancerArns(v []*string) *VpcEndpointConnection {
107761	s.NetworkLoadBalancerArns = v
107762	return s
107763}
107764
107765// SetServiceId sets the ServiceId field's value.
107766func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection {
107767	s.ServiceId = &v
107768	return s
107769}
107770
107771// SetVpcEndpointId sets the VpcEndpointId field's value.
107772func (s *VpcEndpointConnection) SetVpcEndpointId(v string) *VpcEndpointConnection {
107773	s.VpcEndpointId = &v
107774	return s
107775}
107776
107777// SetVpcEndpointOwner sets the VpcEndpointOwner field's value.
107778func (s *VpcEndpointConnection) SetVpcEndpointOwner(v string) *VpcEndpointConnection {
107779	s.VpcEndpointOwner = &v
107780	return s
107781}
107782
107783// SetVpcEndpointState sets the VpcEndpointState field's value.
107784func (s *VpcEndpointConnection) SetVpcEndpointState(v string) *VpcEndpointConnection {
107785	s.VpcEndpointState = &v
107786	return s
107787}
107788
107789// Describes an IPv6 CIDR block associated with a VPC.
107790type VpcIpv6CidrBlockAssociation struct {
107791	_ struct{} `type:"structure"`
107792
107793	// The association ID for the IPv6 CIDR block.
107794	AssociationId *string `locationName:"associationId" type:"string"`
107795
107796	// The IPv6 CIDR block.
107797	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
107798
107799	// Information about the state of the CIDR block.
107800	Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
107801
107802	// The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.
107803	Ipv6Pool *string `locationName:"ipv6Pool" type:"string"`
107804
107805	// The name of the location from which we advertise the IPV6 CIDR block.
107806	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
107807}
107808
107809// String returns the string representation
107810func (s VpcIpv6CidrBlockAssociation) String() string {
107811	return awsutil.Prettify(s)
107812}
107813
107814// GoString returns the string representation
107815func (s VpcIpv6CidrBlockAssociation) GoString() string {
107816	return s.String()
107817}
107818
107819// SetAssociationId sets the AssociationId field's value.
107820func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
107821	s.AssociationId = &v
107822	return s
107823}
107824
107825// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
107826func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
107827	s.Ipv6CidrBlock = &v
107828	return s
107829}
107830
107831// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
107832func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
107833	s.Ipv6CidrBlockState = v
107834	return s
107835}
107836
107837// SetIpv6Pool sets the Ipv6Pool field's value.
107838func (s *VpcIpv6CidrBlockAssociation) SetIpv6Pool(v string) *VpcIpv6CidrBlockAssociation {
107839	s.Ipv6Pool = &v
107840	return s
107841}
107842
107843// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
107844func (s *VpcIpv6CidrBlockAssociation) SetNetworkBorderGroup(v string) *VpcIpv6CidrBlockAssociation {
107845	s.NetworkBorderGroup = &v
107846	return s
107847}
107848
107849// Describes a VPC peering connection.
107850type VpcPeeringConnection struct {
107851	_ struct{} `type:"structure"`
107852
107853	// Information about the accepter VPC. CIDR block information is only returned
107854	// when describing an active VPC peering connection.
107855	AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
107856
107857	// The time that an unaccepted VPC peering connection will expire.
107858	ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp"`
107859
107860	// Information about the requester VPC. CIDR block information is only returned
107861	// when describing an active VPC peering connection.
107862	RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
107863
107864	// The status of the VPC peering connection.
107865	Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
107866
107867	// Any tags assigned to the resource.
107868	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
107869
107870	// The ID of the VPC peering connection.
107871	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
107872}
107873
107874// String returns the string representation
107875func (s VpcPeeringConnection) String() string {
107876	return awsutil.Prettify(s)
107877}
107878
107879// GoString returns the string representation
107880func (s VpcPeeringConnection) GoString() string {
107881	return s.String()
107882}
107883
107884// SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
107885func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
107886	s.AccepterVpcInfo = v
107887	return s
107888}
107889
107890// SetExpirationTime sets the ExpirationTime field's value.
107891func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
107892	s.ExpirationTime = &v
107893	return s
107894}
107895
107896// SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
107897func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
107898	s.RequesterVpcInfo = v
107899	return s
107900}
107901
107902// SetStatus sets the Status field's value.
107903func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
107904	s.Status = v
107905	return s
107906}
107907
107908// SetTags sets the Tags field's value.
107909func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
107910	s.Tags = v
107911	return s
107912}
107913
107914// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
107915func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
107916	s.VpcPeeringConnectionId = &v
107917	return s
107918}
107919
107920// Describes the VPC peering connection options.
107921type VpcPeeringConnectionOptionsDescription struct {
107922	_ struct{} `type:"structure"`
107923
107924	// Indicates whether a local VPC can resolve public DNS hostnames to private
107925	// IP addresses when queried from instances in a peer VPC.
107926	AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
107927
107928	// Indicates whether a local ClassicLink connection can communicate with the
107929	// peer VPC over the VPC peering connection.
107930	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
107931
107932	// Indicates whether a local VPC can communicate with a ClassicLink connection
107933	// in the peer VPC over the VPC peering connection.
107934	AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
107935}
107936
107937// String returns the string representation
107938func (s VpcPeeringConnectionOptionsDescription) String() string {
107939	return awsutil.Prettify(s)
107940}
107941
107942// GoString returns the string representation
107943func (s VpcPeeringConnectionOptionsDescription) GoString() string {
107944	return s.String()
107945}
107946
107947// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
107948func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
107949	s.AllowDnsResolutionFromRemoteVpc = &v
107950	return s
107951}
107952
107953// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
107954func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
107955	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
107956	return s
107957}
107958
107959// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
107960func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
107961	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
107962	return s
107963}
107964
107965// Describes the status of a VPC peering connection.
107966type VpcPeeringConnectionStateReason struct {
107967	_ struct{} `type:"structure"`
107968
107969	// The status of the VPC peering connection.
107970	Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
107971
107972	// A message that provides more information about the status, if applicable.
107973	Message *string `locationName:"message" type:"string"`
107974}
107975
107976// String returns the string representation
107977func (s VpcPeeringConnectionStateReason) String() string {
107978	return awsutil.Prettify(s)
107979}
107980
107981// GoString returns the string representation
107982func (s VpcPeeringConnectionStateReason) GoString() string {
107983	return s.String()
107984}
107985
107986// SetCode sets the Code field's value.
107987func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
107988	s.Code = &v
107989	return s
107990}
107991
107992// SetMessage sets the Message field's value.
107993func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
107994	s.Message = &v
107995	return s
107996}
107997
107998// Describes a VPC in a VPC peering connection.
107999type VpcPeeringConnectionVpcInfo struct {
108000	_ struct{} `type:"structure"`
108001
108002	// The IPv4 CIDR block for the VPC.
108003	CidrBlock *string `locationName:"cidrBlock" type:"string"`
108004
108005	// Information about the IPv4 CIDR blocks for the VPC.
108006	CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"`
108007
108008	// The IPv6 CIDR block for the VPC.
108009	Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
108010
108011	// The AWS account ID of the VPC owner.
108012	OwnerId *string `locationName:"ownerId" type:"string"`
108013
108014	// Information about the VPC peering connection options for the accepter or
108015	// requester VPC.
108016	PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
108017
108018	// The Region in which the VPC is located.
108019	Region *string `locationName:"region" type:"string"`
108020
108021	// The ID of the VPC.
108022	VpcId *string `locationName:"vpcId" type:"string"`
108023}
108024
108025// String returns the string representation
108026func (s VpcPeeringConnectionVpcInfo) String() string {
108027	return awsutil.Prettify(s)
108028}
108029
108030// GoString returns the string representation
108031func (s VpcPeeringConnectionVpcInfo) GoString() string {
108032	return s.String()
108033}
108034
108035// SetCidrBlock sets the CidrBlock field's value.
108036func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
108037	s.CidrBlock = &v
108038	return s
108039}
108040
108041// SetCidrBlockSet sets the CidrBlockSet field's value.
108042func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo {
108043	s.CidrBlockSet = v
108044	return s
108045}
108046
108047// SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
108048func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
108049	s.Ipv6CidrBlockSet = v
108050	return s
108051}
108052
108053// SetOwnerId sets the OwnerId field's value.
108054func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
108055	s.OwnerId = &v
108056	return s
108057}
108058
108059// SetPeeringOptions sets the PeeringOptions field's value.
108060func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
108061	s.PeeringOptions = v
108062	return s
108063}
108064
108065// SetRegion sets the Region field's value.
108066func (s *VpcPeeringConnectionVpcInfo) SetRegion(v string) *VpcPeeringConnectionVpcInfo {
108067	s.Region = &v
108068	return s
108069}
108070
108071// SetVpcId sets the VpcId field's value.
108072func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
108073	s.VpcId = &v
108074	return s
108075}
108076
108077// Describes a VPN connection.
108078type VpnConnection struct {
108079	_ struct{} `type:"structure"`
108080
108081	// The category of the VPN connection. A value of VPN indicates an AWS VPN connection.
108082	// A value of VPN-Classic indicates an AWS Classic VPN connection.
108083	Category *string `locationName:"category" type:"string"`
108084
108085	// The configuration information for the VPN connection's customer gateway (in
108086	// the native XML format). This element is always present in the CreateVpnConnection
108087	// response; however, it's present in the DescribeVpnConnections response only
108088	// if the VPN connection is in the pending or available state.
108089	CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
108090
108091	// The ID of the customer gateway at your end of the VPN connection.
108092	CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
108093
108094	// The VPN connection options.
108095	Options *VpnConnectionOptions `locationName:"options" type:"structure"`
108096
108097	// The static routes associated with the VPN connection.
108098	Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
108099
108100	// The current state of the VPN connection.
108101	State *string `locationName:"state" type:"string" enum:"VpnState"`
108102
108103	// Any tags assigned to the VPN connection.
108104	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
108105
108106	// The ID of the transit gateway associated with the VPN connection.
108107	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
108108
108109	// The type of VPN connection.
108110	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
108111
108112	// Information about the VPN tunnel.
108113	VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
108114
108115	// The ID of the VPN connection.
108116	VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
108117
108118	// The ID of the virtual private gateway at the AWS side of the VPN connection.
108119	VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
108120}
108121
108122// String returns the string representation
108123func (s VpnConnection) String() string {
108124	return awsutil.Prettify(s)
108125}
108126
108127// GoString returns the string representation
108128func (s VpnConnection) GoString() string {
108129	return s.String()
108130}
108131
108132// SetCategory sets the Category field's value.
108133func (s *VpnConnection) SetCategory(v string) *VpnConnection {
108134	s.Category = &v
108135	return s
108136}
108137
108138// SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
108139func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
108140	s.CustomerGatewayConfiguration = &v
108141	return s
108142}
108143
108144// SetCustomerGatewayId sets the CustomerGatewayId field's value.
108145func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
108146	s.CustomerGatewayId = &v
108147	return s
108148}
108149
108150// SetOptions sets the Options field's value.
108151func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
108152	s.Options = v
108153	return s
108154}
108155
108156// SetRoutes sets the Routes field's value.
108157func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
108158	s.Routes = v
108159	return s
108160}
108161
108162// SetState sets the State field's value.
108163func (s *VpnConnection) SetState(v string) *VpnConnection {
108164	s.State = &v
108165	return s
108166}
108167
108168// SetTags sets the Tags field's value.
108169func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
108170	s.Tags = v
108171	return s
108172}
108173
108174// SetTransitGatewayId sets the TransitGatewayId field's value.
108175func (s *VpnConnection) SetTransitGatewayId(v string) *VpnConnection {
108176	s.TransitGatewayId = &v
108177	return s
108178}
108179
108180// SetType sets the Type field's value.
108181func (s *VpnConnection) SetType(v string) *VpnConnection {
108182	s.Type = &v
108183	return s
108184}
108185
108186// SetVgwTelemetry sets the VgwTelemetry field's value.
108187func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
108188	s.VgwTelemetry = v
108189	return s
108190}
108191
108192// SetVpnConnectionId sets the VpnConnectionId field's value.
108193func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
108194	s.VpnConnectionId = &v
108195	return s
108196}
108197
108198// SetVpnGatewayId sets the VpnGatewayId field's value.
108199func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
108200	s.VpnGatewayId = &v
108201	return s
108202}
108203
108204// Describes VPN connection options.
108205type VpnConnectionOptions struct {
108206	_ struct{} `type:"structure"`
108207
108208	// Indicates whether acceleration is enabled for the VPN connection.
108209	EnableAcceleration *bool `locationName:"enableAcceleration" type:"boolean"`
108210
108211	// Indicates whether the VPN connection uses static routes only. Static routes
108212	// must be used for devices that don't support BGP.
108213	StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
108214
108215	// Indicates the VPN tunnel options.
108216	TunnelOptions []*TunnelOption `locationName:"tunnelOptionSet" locationNameList:"item" type:"list"`
108217}
108218
108219// String returns the string representation
108220func (s VpnConnectionOptions) String() string {
108221	return awsutil.Prettify(s)
108222}
108223
108224// GoString returns the string representation
108225func (s VpnConnectionOptions) GoString() string {
108226	return s.String()
108227}
108228
108229// SetEnableAcceleration sets the EnableAcceleration field's value.
108230func (s *VpnConnectionOptions) SetEnableAcceleration(v bool) *VpnConnectionOptions {
108231	s.EnableAcceleration = &v
108232	return s
108233}
108234
108235// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
108236func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
108237	s.StaticRoutesOnly = &v
108238	return s
108239}
108240
108241// SetTunnelOptions sets the TunnelOptions field's value.
108242func (s *VpnConnectionOptions) SetTunnelOptions(v []*TunnelOption) *VpnConnectionOptions {
108243	s.TunnelOptions = v
108244	return s
108245}
108246
108247// Describes VPN connection options.
108248type VpnConnectionOptionsSpecification struct {
108249	_ struct{} `type:"structure"`
108250
108251	// Indicate whether to enable acceleration for the VPN connection.
108252	//
108253	// Default: false
108254	EnableAcceleration *bool `type:"boolean"`
108255
108256	// Indicate whether the VPN connection uses static routes only. If you are creating
108257	// a VPN connection for a device that does not support BGP, you must specify
108258	// true. Use CreateVpnConnectionRoute to create a static route.
108259	//
108260	// Default: false
108261	StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
108262
108263	// The tunnel options for the VPN connection.
108264	TunnelOptions []*VpnTunnelOptionsSpecification `type:"list"`
108265}
108266
108267// String returns the string representation
108268func (s VpnConnectionOptionsSpecification) String() string {
108269	return awsutil.Prettify(s)
108270}
108271
108272// GoString returns the string representation
108273func (s VpnConnectionOptionsSpecification) GoString() string {
108274	return s.String()
108275}
108276
108277// SetEnableAcceleration sets the EnableAcceleration field's value.
108278func (s *VpnConnectionOptionsSpecification) SetEnableAcceleration(v bool) *VpnConnectionOptionsSpecification {
108279	s.EnableAcceleration = &v
108280	return s
108281}
108282
108283// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
108284func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
108285	s.StaticRoutesOnly = &v
108286	return s
108287}
108288
108289// SetTunnelOptions sets the TunnelOptions field's value.
108290func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification {
108291	s.TunnelOptions = v
108292	return s
108293}
108294
108295// Describes a virtual private gateway.
108296type VpnGateway struct {
108297	_ struct{} `type:"structure"`
108298
108299	// The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
108300	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
108301
108302	// The Availability Zone where the virtual private gateway was created, if applicable.
108303	// This field may be empty or not returned.
108304	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
108305
108306	// The current state of the virtual private gateway.
108307	State *string `locationName:"state" type:"string" enum:"VpnState"`
108308
108309	// Any tags assigned to the virtual private gateway.
108310	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
108311
108312	// The type of VPN connection the virtual private gateway supports.
108313	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
108314
108315	// Any VPCs attached to the virtual private gateway.
108316	VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
108317
108318	// The ID of the virtual private gateway.
108319	VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
108320}
108321
108322// String returns the string representation
108323func (s VpnGateway) String() string {
108324	return awsutil.Prettify(s)
108325}
108326
108327// GoString returns the string representation
108328func (s VpnGateway) GoString() string {
108329	return s.String()
108330}
108331
108332// SetAmazonSideAsn sets the AmazonSideAsn field's value.
108333func (s *VpnGateway) SetAmazonSideAsn(v int64) *VpnGateway {
108334	s.AmazonSideAsn = &v
108335	return s
108336}
108337
108338// SetAvailabilityZone sets the AvailabilityZone field's value.
108339func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
108340	s.AvailabilityZone = &v
108341	return s
108342}
108343
108344// SetState sets the State field's value.
108345func (s *VpnGateway) SetState(v string) *VpnGateway {
108346	s.State = &v
108347	return s
108348}
108349
108350// SetTags sets the Tags field's value.
108351func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
108352	s.Tags = v
108353	return s
108354}
108355
108356// SetType sets the Type field's value.
108357func (s *VpnGateway) SetType(v string) *VpnGateway {
108358	s.Type = &v
108359	return s
108360}
108361
108362// SetVpcAttachments sets the VpcAttachments field's value.
108363func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
108364	s.VpcAttachments = v
108365	return s
108366}
108367
108368// SetVpnGatewayId sets the VpnGatewayId field's value.
108369func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
108370	s.VpnGatewayId = &v
108371	return s
108372}
108373
108374// Describes a static route for a VPN connection.
108375type VpnStaticRoute struct {
108376	_ struct{} `type:"structure"`
108377
108378	// The CIDR block associated with the local subnet of the customer data center.
108379	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
108380
108381	// Indicates how the routes were provided.
108382	Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
108383
108384	// The current state of the static route.
108385	State *string `locationName:"state" type:"string" enum:"VpnState"`
108386}
108387
108388// String returns the string representation
108389func (s VpnStaticRoute) String() string {
108390	return awsutil.Prettify(s)
108391}
108392
108393// GoString returns the string representation
108394func (s VpnStaticRoute) GoString() string {
108395	return s.String()
108396}
108397
108398// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
108399func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
108400	s.DestinationCidrBlock = &v
108401	return s
108402}
108403
108404// SetSource sets the Source field's value.
108405func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
108406	s.Source = &v
108407	return s
108408}
108409
108410// SetState sets the State field's value.
108411func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
108412	s.State = &v
108413	return s
108414}
108415
108416// The tunnel options for a single VPN tunnel.
108417type VpnTunnelOptionsSpecification struct {
108418	_ struct{} `type:"structure"`
108419
108420	// The number of seconds after which a DPD timeout occurs.
108421	//
108422	// Constraints: A value between 0 and 30.
108423	//
108424	// Default: 30
108425	DPDTimeoutSeconds *int64 `type:"integer"`
108426
108427	// The IKE versions that are permitted for the VPN tunnel.
108428	//
108429	// Valid values: ikev1 | ikev2
108430	IKEVersions []*IKEVersionsRequestListValue `locationName:"IKEVersion" locationNameList:"item" type:"list"`
108431
108432	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
108433	// for phase 1 IKE negotiations.
108434	//
108435	// Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
108436	Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"`
108437
108438	// One or more encryption algorithms that are permitted for the VPN tunnel for
108439	// phase 1 IKE negotiations.
108440	//
108441	// Valid values: AES128 | AES256
108442	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"`
108443
108444	// One or more integrity algorithms that are permitted for the VPN tunnel for
108445	// phase 1 IKE negotiations.
108446	//
108447	// Valid values: SHA1 | SHA2-256
108448	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"`
108449
108450	// The lifetime for phase 1 of the IKE negotiation, in seconds.
108451	//
108452	// Constraints: A value between 900 and 28,800.
108453	//
108454	// Default: 28800
108455	Phase1LifetimeSeconds *int64 `type:"integer"`
108456
108457	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
108458	// for phase 2 IKE negotiations.
108459	//
108460	// Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
108461	Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"`
108462
108463	// One or more encryption algorithms that are permitted for the VPN tunnel for
108464	// phase 2 IKE negotiations.
108465	//
108466	// Valid values: AES128 | AES256
108467	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"`
108468
108469	// One or more integrity algorithms that are permitted for the VPN tunnel for
108470	// phase 2 IKE negotiations.
108471	//
108472	// Valid values: SHA1 | SHA2-256
108473	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"`
108474
108475	// The lifetime for phase 2 of the IKE negotiation, in seconds.
108476	//
108477	// Constraints: A value between 900 and 3,600. The value must be less than the
108478	// value for Phase1LifetimeSeconds.
108479	//
108480	// Default: 3600
108481	Phase2LifetimeSeconds *int64 `type:"integer"`
108482
108483	// The pre-shared key (PSK) to establish initial authentication between the
108484	// virtual private gateway and customer gateway.
108485	//
108486	// Constraints: Allowed characters are alphanumeric characters, periods (.),
108487	// and underscores (_). Must be between 8 and 64 characters in length and cannot
108488	// start with zero (0).
108489	PreSharedKey *string `type:"string"`
108490
108491	// The percentage of the rekey window (determined by RekeyMarginTimeSeconds)
108492	// during which the rekey time is randomly selected.
108493	//
108494	// Constraints: A value between 0 and 100.
108495	//
108496	// Default: 100
108497	RekeyFuzzPercentage *int64 `type:"integer"`
108498
108499	// The margin time, in seconds, before the phase 2 lifetime expires, during
108500	// which the AWS side of the VPN connection performs an IKE rekey. The exact
108501	// time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.
108502	//
108503	// Constraints: A value between 60 and half of Phase2LifetimeSeconds.
108504	//
108505	// Default: 540
108506	RekeyMarginTimeSeconds *int64 `type:"integer"`
108507
108508	// The number of packets in an IKE replay window.
108509	//
108510	// Constraints: A value between 64 and 2048.
108511	//
108512	// Default: 1024
108513	ReplayWindowSize *int64 `type:"integer"`
108514
108515	// The range of inside IP addresses for the tunnel. Any specified CIDR blocks
108516	// must be unique across all VPN connections that use the same virtual private
108517	// gateway.
108518	//
108519	// Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
108520	// CIDR blocks are reserved and cannot be used:
108521	//
108522	//    * 169.254.0.0/30
108523	//
108524	//    * 169.254.1.0/30
108525	//
108526	//    * 169.254.2.0/30
108527	//
108528	//    * 169.254.3.0/30
108529	//
108530	//    * 169.254.4.0/30
108531	//
108532	//    * 169.254.5.0/30
108533	//
108534	//    * 169.254.169.252/30
108535	TunnelInsideCidr *string `type:"string"`
108536}
108537
108538// String returns the string representation
108539func (s VpnTunnelOptionsSpecification) String() string {
108540	return awsutil.Prettify(s)
108541}
108542
108543// GoString returns the string representation
108544func (s VpnTunnelOptionsSpecification) GoString() string {
108545	return s.String()
108546}
108547
108548// SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value.
108549func (s *VpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *VpnTunnelOptionsSpecification {
108550	s.DPDTimeoutSeconds = &v
108551	return s
108552}
108553
108554// SetIKEVersions sets the IKEVersions field's value.
108555func (s *VpnTunnelOptionsSpecification) SetIKEVersions(v []*IKEVersionsRequestListValue) *VpnTunnelOptionsSpecification {
108556	s.IKEVersions = v
108557	return s
108558}
108559
108560// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
108561func (s *VpnTunnelOptionsSpecification) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersRequestListValue) *VpnTunnelOptionsSpecification {
108562	s.Phase1DHGroupNumbers = v
108563	return s
108564}
108565
108566// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
108567func (s *VpnTunnelOptionsSpecification) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
108568	s.Phase1EncryptionAlgorithms = v
108569	return s
108570}
108571
108572// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
108573func (s *VpnTunnelOptionsSpecification) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
108574	s.Phase1IntegrityAlgorithms = v
108575	return s
108576}
108577
108578// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
108579func (s *VpnTunnelOptionsSpecification) SetPhase1LifetimeSeconds(v int64) *VpnTunnelOptionsSpecification {
108580	s.Phase1LifetimeSeconds = &v
108581	return s
108582}
108583
108584// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
108585func (s *VpnTunnelOptionsSpecification) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersRequestListValue) *VpnTunnelOptionsSpecification {
108586	s.Phase2DHGroupNumbers = v
108587	return s
108588}
108589
108590// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
108591func (s *VpnTunnelOptionsSpecification) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
108592	s.Phase2EncryptionAlgorithms = v
108593	return s
108594}
108595
108596// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
108597func (s *VpnTunnelOptionsSpecification) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
108598	s.Phase2IntegrityAlgorithms = v
108599	return s
108600}
108601
108602// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
108603func (s *VpnTunnelOptionsSpecification) SetPhase2LifetimeSeconds(v int64) *VpnTunnelOptionsSpecification {
108604	s.Phase2LifetimeSeconds = &v
108605	return s
108606}
108607
108608// SetPreSharedKey sets the PreSharedKey field's value.
108609func (s *VpnTunnelOptionsSpecification) SetPreSharedKey(v string) *VpnTunnelOptionsSpecification {
108610	s.PreSharedKey = &v
108611	return s
108612}
108613
108614// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
108615func (s *VpnTunnelOptionsSpecification) SetRekeyFuzzPercentage(v int64) *VpnTunnelOptionsSpecification {
108616	s.RekeyFuzzPercentage = &v
108617	return s
108618}
108619
108620// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
108621func (s *VpnTunnelOptionsSpecification) SetRekeyMarginTimeSeconds(v int64) *VpnTunnelOptionsSpecification {
108622	s.RekeyMarginTimeSeconds = &v
108623	return s
108624}
108625
108626// SetReplayWindowSize sets the ReplayWindowSize field's value.
108627func (s *VpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *VpnTunnelOptionsSpecification {
108628	s.ReplayWindowSize = &v
108629	return s
108630}
108631
108632// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
108633func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification {
108634	s.TunnelInsideCidr = &v
108635	return s
108636}
108637
108638type WithdrawByoipCidrInput struct {
108639	_ struct{} `type:"structure"`
108640
108641	// The address range, in CIDR notation.
108642	//
108643	// Cidr is a required field
108644	Cidr *string `type:"string" required:"true"`
108645
108646	// Checks whether you have the required permissions for the action, without
108647	// actually making the request, and provides an error response. If you have
108648	// the required permissions, the error response is DryRunOperation. Otherwise,
108649	// it is UnauthorizedOperation.
108650	DryRun *bool `type:"boolean"`
108651}
108652
108653// String returns the string representation
108654func (s WithdrawByoipCidrInput) String() string {
108655	return awsutil.Prettify(s)
108656}
108657
108658// GoString returns the string representation
108659func (s WithdrawByoipCidrInput) GoString() string {
108660	return s.String()
108661}
108662
108663// Validate inspects the fields of the type to determine if they are valid.
108664func (s *WithdrawByoipCidrInput) Validate() error {
108665	invalidParams := request.ErrInvalidParams{Context: "WithdrawByoipCidrInput"}
108666	if s.Cidr == nil {
108667		invalidParams.Add(request.NewErrParamRequired("Cidr"))
108668	}
108669
108670	if invalidParams.Len() > 0 {
108671		return invalidParams
108672	}
108673	return nil
108674}
108675
108676// SetCidr sets the Cidr field's value.
108677func (s *WithdrawByoipCidrInput) SetCidr(v string) *WithdrawByoipCidrInput {
108678	s.Cidr = &v
108679	return s
108680}
108681
108682// SetDryRun sets the DryRun field's value.
108683func (s *WithdrawByoipCidrInput) SetDryRun(v bool) *WithdrawByoipCidrInput {
108684	s.DryRun = &v
108685	return s
108686}
108687
108688type WithdrawByoipCidrOutput struct {
108689	_ struct{} `type:"structure"`
108690
108691	// Information about the address pool.
108692	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
108693}
108694
108695// String returns the string representation
108696func (s WithdrawByoipCidrOutput) String() string {
108697	return awsutil.Prettify(s)
108698}
108699
108700// GoString returns the string representation
108701func (s WithdrawByoipCidrOutput) GoString() string {
108702	return s.String()
108703}
108704
108705// SetByoipCidr sets the ByoipCidr field's value.
108706func (s *WithdrawByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *WithdrawByoipCidrOutput {
108707	s.ByoipCidr = v
108708	return s
108709}
108710
108711const (
108712	// AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
108713	AccountAttributeNameSupportedPlatforms = "supported-platforms"
108714
108715	// AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
108716	AccountAttributeNameDefaultVpc = "default-vpc"
108717)
108718
108719const (
108720	// ActivityStatusError is a ActivityStatus enum value
108721	ActivityStatusError = "error"
108722
108723	// ActivityStatusPendingFulfillment is a ActivityStatus enum value
108724	ActivityStatusPendingFulfillment = "pending_fulfillment"
108725
108726	// ActivityStatusPendingTermination is a ActivityStatus enum value
108727	ActivityStatusPendingTermination = "pending_termination"
108728
108729	// ActivityStatusFulfilled is a ActivityStatus enum value
108730	ActivityStatusFulfilled = "fulfilled"
108731)
108732
108733const (
108734	// AffinityDefault is a Affinity enum value
108735	AffinityDefault = "default"
108736
108737	// AffinityHost is a Affinity enum value
108738	AffinityHost = "host"
108739)
108740
108741const (
108742	// AllocationStateAvailable is a AllocationState enum value
108743	AllocationStateAvailable = "available"
108744
108745	// AllocationStateUnderAssessment is a AllocationState enum value
108746	AllocationStateUnderAssessment = "under-assessment"
108747
108748	// AllocationStatePermanentFailure is a AllocationState enum value
108749	AllocationStatePermanentFailure = "permanent-failure"
108750
108751	// AllocationStateReleased is a AllocationState enum value
108752	AllocationStateReleased = "released"
108753
108754	// AllocationStateReleasedPermanentFailure is a AllocationState enum value
108755	AllocationStateReleasedPermanentFailure = "released-permanent-failure"
108756
108757	// AllocationStatePending is a AllocationState enum value
108758	AllocationStatePending = "pending"
108759)
108760
108761const (
108762	// AllocationStrategyLowestPrice is a AllocationStrategy enum value
108763	AllocationStrategyLowestPrice = "lowestPrice"
108764
108765	// AllocationStrategyDiversified is a AllocationStrategy enum value
108766	AllocationStrategyDiversified = "diversified"
108767
108768	// AllocationStrategyCapacityOptimized is a AllocationStrategy enum value
108769	AllocationStrategyCapacityOptimized = "capacityOptimized"
108770)
108771
108772const (
108773	// AllowsMultipleInstanceTypesOn is a AllowsMultipleInstanceTypes enum value
108774	AllowsMultipleInstanceTypesOn = "on"
108775
108776	// AllowsMultipleInstanceTypesOff is a AllowsMultipleInstanceTypes enum value
108777	AllowsMultipleInstanceTypesOff = "off"
108778)
108779
108780const (
108781	// ArchitectureTypeI386 is a ArchitectureType enum value
108782	ArchitectureTypeI386 = "i386"
108783
108784	// ArchitectureTypeX8664 is a ArchitectureType enum value
108785	ArchitectureTypeX8664 = "x86_64"
108786
108787	// ArchitectureTypeArm64 is a ArchitectureType enum value
108788	ArchitectureTypeArm64 = "arm64"
108789)
108790
108791const (
108792	// ArchitectureValuesI386 is a ArchitectureValues enum value
108793	ArchitectureValuesI386 = "i386"
108794
108795	// ArchitectureValuesX8664 is a ArchitectureValues enum value
108796	ArchitectureValuesX8664 = "x86_64"
108797
108798	// ArchitectureValuesArm64 is a ArchitectureValues enum value
108799	ArchitectureValuesArm64 = "arm64"
108800)
108801
108802const (
108803	// AssociatedNetworkTypeVpc is a AssociatedNetworkType enum value
108804	AssociatedNetworkTypeVpc = "vpc"
108805)
108806
108807const (
108808	// AssociationStatusCodeAssociating is a AssociationStatusCode enum value
108809	AssociationStatusCodeAssociating = "associating"
108810
108811	// AssociationStatusCodeAssociated is a AssociationStatusCode enum value
108812	AssociationStatusCodeAssociated = "associated"
108813
108814	// AssociationStatusCodeAssociationFailed is a AssociationStatusCode enum value
108815	AssociationStatusCodeAssociationFailed = "association-failed"
108816
108817	// AssociationStatusCodeDisassociating is a AssociationStatusCode enum value
108818	AssociationStatusCodeDisassociating = "disassociating"
108819
108820	// AssociationStatusCodeDisassociated is a AssociationStatusCode enum value
108821	AssociationStatusCodeDisassociated = "disassociated"
108822)
108823
108824const (
108825	// AttachmentStatusAttaching is a AttachmentStatus enum value
108826	AttachmentStatusAttaching = "attaching"
108827
108828	// AttachmentStatusAttached is a AttachmentStatus enum value
108829	AttachmentStatusAttached = "attached"
108830
108831	// AttachmentStatusDetaching is a AttachmentStatus enum value
108832	AttachmentStatusDetaching = "detaching"
108833
108834	// AttachmentStatusDetached is a AttachmentStatus enum value
108835	AttachmentStatusDetached = "detached"
108836)
108837
108838const (
108839	// AutoAcceptSharedAttachmentsValueEnable is a AutoAcceptSharedAttachmentsValue enum value
108840	AutoAcceptSharedAttachmentsValueEnable = "enable"
108841
108842	// AutoAcceptSharedAttachmentsValueDisable is a AutoAcceptSharedAttachmentsValue enum value
108843	AutoAcceptSharedAttachmentsValueDisable = "disable"
108844)
108845
108846const (
108847	// AutoPlacementOn is a AutoPlacement enum value
108848	AutoPlacementOn = "on"
108849
108850	// AutoPlacementOff is a AutoPlacement enum value
108851	AutoPlacementOff = "off"
108852)
108853
108854const (
108855	// AvailabilityZoneOptInStatusOptInNotRequired is a AvailabilityZoneOptInStatus enum value
108856	AvailabilityZoneOptInStatusOptInNotRequired = "opt-in-not-required"
108857
108858	// AvailabilityZoneOptInStatusOptedIn is a AvailabilityZoneOptInStatus enum value
108859	AvailabilityZoneOptInStatusOptedIn = "opted-in"
108860
108861	// AvailabilityZoneOptInStatusNotOptedIn is a AvailabilityZoneOptInStatus enum value
108862	AvailabilityZoneOptInStatusNotOptedIn = "not-opted-in"
108863)
108864
108865const (
108866	// AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
108867	AvailabilityZoneStateAvailable = "available"
108868
108869	// AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
108870	AvailabilityZoneStateInformation = "information"
108871
108872	// AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
108873	AvailabilityZoneStateImpaired = "impaired"
108874
108875	// AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
108876	AvailabilityZoneStateUnavailable = "unavailable"
108877)
108878
108879const (
108880	// BatchStateSubmitted is a BatchState enum value
108881	BatchStateSubmitted = "submitted"
108882
108883	// BatchStateActive is a BatchState enum value
108884	BatchStateActive = "active"
108885
108886	// BatchStateCancelled is a BatchState enum value
108887	BatchStateCancelled = "cancelled"
108888
108889	// BatchStateFailed is a BatchState enum value
108890	BatchStateFailed = "failed"
108891
108892	// BatchStateCancelledRunning is a BatchState enum value
108893	BatchStateCancelledRunning = "cancelled_running"
108894
108895	// BatchStateCancelledTerminating is a BatchState enum value
108896	BatchStateCancelledTerminating = "cancelled_terminating"
108897
108898	// BatchStateModifying is a BatchState enum value
108899	BatchStateModifying = "modifying"
108900)
108901
108902const (
108903	// BundleTaskStatePending is a BundleTaskState enum value
108904	BundleTaskStatePending = "pending"
108905
108906	// BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
108907	BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
108908
108909	// BundleTaskStateBundling is a BundleTaskState enum value
108910	BundleTaskStateBundling = "bundling"
108911
108912	// BundleTaskStateStoring is a BundleTaskState enum value
108913	BundleTaskStateStoring = "storing"
108914
108915	// BundleTaskStateCancelling is a BundleTaskState enum value
108916	BundleTaskStateCancelling = "cancelling"
108917
108918	// BundleTaskStateComplete is a BundleTaskState enum value
108919	BundleTaskStateComplete = "complete"
108920
108921	// BundleTaskStateFailed is a BundleTaskState enum value
108922	BundleTaskStateFailed = "failed"
108923)
108924
108925const (
108926	// ByoipCidrStateAdvertised is a ByoipCidrState enum value
108927	ByoipCidrStateAdvertised = "advertised"
108928
108929	// ByoipCidrStateDeprovisioned is a ByoipCidrState enum value
108930	ByoipCidrStateDeprovisioned = "deprovisioned"
108931
108932	// ByoipCidrStateFailedDeprovision is a ByoipCidrState enum value
108933	ByoipCidrStateFailedDeprovision = "failed-deprovision"
108934
108935	// ByoipCidrStateFailedProvision is a ByoipCidrState enum value
108936	ByoipCidrStateFailedProvision = "failed-provision"
108937
108938	// ByoipCidrStatePendingDeprovision is a ByoipCidrState enum value
108939	ByoipCidrStatePendingDeprovision = "pending-deprovision"
108940
108941	// ByoipCidrStatePendingProvision is a ByoipCidrState enum value
108942	ByoipCidrStatePendingProvision = "pending-provision"
108943
108944	// ByoipCidrStateProvisioned is a ByoipCidrState enum value
108945	ByoipCidrStateProvisioned = "provisioned"
108946
108947	// ByoipCidrStateProvisionedNotPubliclyAdvertisable is a ByoipCidrState enum value
108948	ByoipCidrStateProvisionedNotPubliclyAdvertisable = "provisioned-not-publicly-advertisable"
108949)
108950
108951const (
108952	// CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
108953	CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
108954
108955	// CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
108956	CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
108957
108958	// CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
108959	CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
108960
108961	// CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
108962	CancelBatchErrorCodeUnexpectedError = "unexpectedError"
108963)
108964
108965const (
108966	// CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
108967	CancelSpotInstanceRequestStateActive = "active"
108968
108969	// CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
108970	CancelSpotInstanceRequestStateOpen = "open"
108971
108972	// CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
108973	CancelSpotInstanceRequestStateClosed = "closed"
108974
108975	// CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
108976	CancelSpotInstanceRequestStateCancelled = "cancelled"
108977
108978	// CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
108979	CancelSpotInstanceRequestStateCompleted = "completed"
108980)
108981
108982const (
108983	// CapacityReservationInstancePlatformLinuxUnix is a CapacityReservationInstancePlatform enum value
108984	CapacityReservationInstancePlatformLinuxUnix = "Linux/UNIX"
108985
108986	// CapacityReservationInstancePlatformRedHatEnterpriseLinux is a CapacityReservationInstancePlatform enum value
108987	CapacityReservationInstancePlatformRedHatEnterpriseLinux = "Red Hat Enterprise Linux"
108988
108989	// CapacityReservationInstancePlatformSuselinux is a CapacityReservationInstancePlatform enum value
108990	CapacityReservationInstancePlatformSuselinux = "SUSE Linux"
108991
108992	// CapacityReservationInstancePlatformWindows is a CapacityReservationInstancePlatform enum value
108993	CapacityReservationInstancePlatformWindows = "Windows"
108994
108995	// CapacityReservationInstancePlatformWindowswithSqlserver is a CapacityReservationInstancePlatform enum value
108996	CapacityReservationInstancePlatformWindowswithSqlserver = "Windows with SQL Server"
108997
108998	// CapacityReservationInstancePlatformWindowswithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
108999	CapacityReservationInstancePlatformWindowswithSqlserverEnterprise = "Windows with SQL Server Enterprise"
109000
109001	// CapacityReservationInstancePlatformWindowswithSqlserverStandard is a CapacityReservationInstancePlatform enum value
109002	CapacityReservationInstancePlatformWindowswithSqlserverStandard = "Windows with SQL Server Standard"
109003
109004	// CapacityReservationInstancePlatformWindowswithSqlserverWeb is a CapacityReservationInstancePlatform enum value
109005	CapacityReservationInstancePlatformWindowswithSqlserverWeb = "Windows with SQL Server Web"
109006
109007	// CapacityReservationInstancePlatformLinuxwithSqlserverStandard is a CapacityReservationInstancePlatform enum value
109008	CapacityReservationInstancePlatformLinuxwithSqlserverStandard = "Linux with SQL Server Standard"
109009
109010	// CapacityReservationInstancePlatformLinuxwithSqlserverWeb is a CapacityReservationInstancePlatform enum value
109011	CapacityReservationInstancePlatformLinuxwithSqlserverWeb = "Linux with SQL Server Web"
109012
109013	// CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
109014	CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise"
109015)
109016
109017const (
109018	// CapacityReservationPreferenceOpen is a CapacityReservationPreference enum value
109019	CapacityReservationPreferenceOpen = "open"
109020
109021	// CapacityReservationPreferenceNone is a CapacityReservationPreference enum value
109022	CapacityReservationPreferenceNone = "none"
109023)
109024
109025const (
109026	// CapacityReservationStateActive is a CapacityReservationState enum value
109027	CapacityReservationStateActive = "active"
109028
109029	// CapacityReservationStateExpired is a CapacityReservationState enum value
109030	CapacityReservationStateExpired = "expired"
109031
109032	// CapacityReservationStateCancelled is a CapacityReservationState enum value
109033	CapacityReservationStateCancelled = "cancelled"
109034
109035	// CapacityReservationStatePending is a CapacityReservationState enum value
109036	CapacityReservationStatePending = "pending"
109037
109038	// CapacityReservationStateFailed is a CapacityReservationState enum value
109039	CapacityReservationStateFailed = "failed"
109040)
109041
109042const (
109043	// CapacityReservationTenancyDefault is a CapacityReservationTenancy enum value
109044	CapacityReservationTenancyDefault = "default"
109045
109046	// CapacityReservationTenancyDedicated is a CapacityReservationTenancy enum value
109047	CapacityReservationTenancyDedicated = "dedicated"
109048)
109049
109050const (
109051	// ClientCertificateRevocationListStatusCodePending is a ClientCertificateRevocationListStatusCode enum value
109052	ClientCertificateRevocationListStatusCodePending = "pending"
109053
109054	// ClientCertificateRevocationListStatusCodeActive is a ClientCertificateRevocationListStatusCode enum value
109055	ClientCertificateRevocationListStatusCodeActive = "active"
109056)
109057
109058const (
109059	// ClientVpnAuthenticationTypeCertificateAuthentication is a ClientVpnAuthenticationType enum value
109060	ClientVpnAuthenticationTypeCertificateAuthentication = "certificate-authentication"
109061
109062	// ClientVpnAuthenticationTypeDirectoryServiceAuthentication is a ClientVpnAuthenticationType enum value
109063	ClientVpnAuthenticationTypeDirectoryServiceAuthentication = "directory-service-authentication"
109064)
109065
109066const (
109067	// ClientVpnAuthorizationRuleStatusCodeAuthorizing is a ClientVpnAuthorizationRuleStatusCode enum value
109068	ClientVpnAuthorizationRuleStatusCodeAuthorizing = "authorizing"
109069
109070	// ClientVpnAuthorizationRuleStatusCodeActive is a ClientVpnAuthorizationRuleStatusCode enum value
109071	ClientVpnAuthorizationRuleStatusCodeActive = "active"
109072
109073	// ClientVpnAuthorizationRuleStatusCodeFailed is a ClientVpnAuthorizationRuleStatusCode enum value
109074	ClientVpnAuthorizationRuleStatusCodeFailed = "failed"
109075
109076	// ClientVpnAuthorizationRuleStatusCodeRevoking is a ClientVpnAuthorizationRuleStatusCode enum value
109077	ClientVpnAuthorizationRuleStatusCodeRevoking = "revoking"
109078)
109079
109080const (
109081	// ClientVpnConnectionStatusCodeActive is a ClientVpnConnectionStatusCode enum value
109082	ClientVpnConnectionStatusCodeActive = "active"
109083
109084	// ClientVpnConnectionStatusCodeFailedToTerminate is a ClientVpnConnectionStatusCode enum value
109085	ClientVpnConnectionStatusCodeFailedToTerminate = "failed-to-terminate"
109086
109087	// ClientVpnConnectionStatusCodeTerminating is a ClientVpnConnectionStatusCode enum value
109088	ClientVpnConnectionStatusCodeTerminating = "terminating"
109089
109090	// ClientVpnConnectionStatusCodeTerminated is a ClientVpnConnectionStatusCode enum value
109091	ClientVpnConnectionStatusCodeTerminated = "terminated"
109092)
109093
109094const (
109095	// ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value
109096	ClientVpnEndpointStatusCodePendingAssociate = "pending-associate"
109097
109098	// ClientVpnEndpointStatusCodeAvailable is a ClientVpnEndpointStatusCode enum value
109099	ClientVpnEndpointStatusCodeAvailable = "available"
109100
109101	// ClientVpnEndpointStatusCodeDeleting is a ClientVpnEndpointStatusCode enum value
109102	ClientVpnEndpointStatusCodeDeleting = "deleting"
109103
109104	// ClientVpnEndpointStatusCodeDeleted is a ClientVpnEndpointStatusCode enum value
109105	ClientVpnEndpointStatusCodeDeleted = "deleted"
109106)
109107
109108const (
109109	// ClientVpnRouteStatusCodeCreating is a ClientVpnRouteStatusCode enum value
109110	ClientVpnRouteStatusCodeCreating = "creating"
109111
109112	// ClientVpnRouteStatusCodeActive is a ClientVpnRouteStatusCode enum value
109113	ClientVpnRouteStatusCodeActive = "active"
109114
109115	// ClientVpnRouteStatusCodeFailed is a ClientVpnRouteStatusCode enum value
109116	ClientVpnRouteStatusCodeFailed = "failed"
109117
109118	// ClientVpnRouteStatusCodeDeleting is a ClientVpnRouteStatusCode enum value
109119	ClientVpnRouteStatusCodeDeleting = "deleting"
109120)
109121
109122const (
109123	// ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value
109124	ConnectionNotificationStateEnabled = "Enabled"
109125
109126	// ConnectionNotificationStateDisabled is a ConnectionNotificationState enum value
109127	ConnectionNotificationStateDisabled = "Disabled"
109128)
109129
109130const (
109131	// ConnectionNotificationTypeTopic is a ConnectionNotificationType enum value
109132	ConnectionNotificationTypeTopic = "Topic"
109133)
109134
109135const (
109136	// ContainerFormatOva is a ContainerFormat enum value
109137	ContainerFormatOva = "ova"
109138)
109139
109140const (
109141	// ConversionTaskStateActive is a ConversionTaskState enum value
109142	ConversionTaskStateActive = "active"
109143
109144	// ConversionTaskStateCancelling is a ConversionTaskState enum value
109145	ConversionTaskStateCancelling = "cancelling"
109146
109147	// ConversionTaskStateCancelled is a ConversionTaskState enum value
109148	ConversionTaskStateCancelled = "cancelled"
109149
109150	// ConversionTaskStateCompleted is a ConversionTaskState enum value
109151	ConversionTaskStateCompleted = "completed"
109152)
109153
109154const (
109155	// CopyTagsFromSourceVolume is a CopyTagsFromSource enum value
109156	CopyTagsFromSourceVolume = "volume"
109157)
109158
109159const (
109160	// CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
109161	CurrencyCodeValuesUsd = "USD"
109162)
109163
109164const (
109165	// DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
109166	DatafeedSubscriptionStateActive = "Active"
109167
109168	// DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
109169	DatafeedSubscriptionStateInactive = "Inactive"
109170)
109171
109172const (
109173	// DefaultRouteTableAssociationValueEnable is a DefaultRouteTableAssociationValue enum value
109174	DefaultRouteTableAssociationValueEnable = "enable"
109175
109176	// DefaultRouteTableAssociationValueDisable is a DefaultRouteTableAssociationValue enum value
109177	DefaultRouteTableAssociationValueDisable = "disable"
109178)
109179
109180const (
109181	// DefaultRouteTablePropagationValueEnable is a DefaultRouteTablePropagationValue enum value
109182	DefaultRouteTablePropagationValueEnable = "enable"
109183
109184	// DefaultRouteTablePropagationValueDisable is a DefaultRouteTablePropagationValue enum value
109185	DefaultRouteTablePropagationValueDisable = "disable"
109186)
109187
109188const (
109189	// DefaultTargetCapacityTypeSpot is a DefaultTargetCapacityType enum value
109190	DefaultTargetCapacityTypeSpot = "spot"
109191
109192	// DefaultTargetCapacityTypeOnDemand is a DefaultTargetCapacityType enum value
109193	DefaultTargetCapacityTypeOnDemand = "on-demand"
109194)
109195
109196const (
109197	// DeleteFleetErrorCodeFleetIdDoesNotExist is a DeleteFleetErrorCode enum value
109198	DeleteFleetErrorCodeFleetIdDoesNotExist = "fleetIdDoesNotExist"
109199
109200	// DeleteFleetErrorCodeFleetIdMalformed is a DeleteFleetErrorCode enum value
109201	DeleteFleetErrorCodeFleetIdMalformed = "fleetIdMalformed"
109202
109203	// DeleteFleetErrorCodeFleetNotInDeletableState is a DeleteFleetErrorCode enum value
109204	DeleteFleetErrorCodeFleetNotInDeletableState = "fleetNotInDeletableState"
109205
109206	// DeleteFleetErrorCodeUnexpectedError is a DeleteFleetErrorCode enum value
109207	DeleteFleetErrorCodeUnexpectedError = "unexpectedError"
109208)
109209
109210const (
109211	// DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid is a DeleteQueuedReservedInstancesErrorCode enum value
109212	DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid = "reserved-instances-id-invalid"
109213
109214	// DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState is a DeleteQueuedReservedInstancesErrorCode enum value
109215	DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState = "reserved-instances-not-in-queued-state"
109216
109217	// DeleteQueuedReservedInstancesErrorCodeUnexpectedError is a DeleteQueuedReservedInstancesErrorCode enum value
109218	DeleteQueuedReservedInstancesErrorCodeUnexpectedError = "unexpected-error"
109219)
109220
109221const (
109222	// DeviceTypeEbs is a DeviceType enum value
109223	DeviceTypeEbs = "ebs"
109224
109225	// DeviceTypeInstanceStore is a DeviceType enum value
109226	DeviceTypeInstanceStore = "instance-store"
109227)
109228
109229const (
109230	// DiskImageFormatVmdk is a DiskImageFormat enum value
109231	DiskImageFormatVmdk = "VMDK"
109232
109233	// DiskImageFormatRaw is a DiskImageFormat enum value
109234	DiskImageFormatRaw = "RAW"
109235
109236	// DiskImageFormatVhd is a DiskImageFormat enum value
109237	DiskImageFormatVhd = "VHD"
109238)
109239
109240const (
109241	// DiskTypeHdd is a DiskType enum value
109242	DiskTypeHdd = "hdd"
109243
109244	// DiskTypeSsd is a DiskType enum value
109245	DiskTypeSsd = "ssd"
109246)
109247
109248const (
109249	// DnsNameStatePendingVerification is a DnsNameState enum value
109250	DnsNameStatePendingVerification = "pendingVerification"
109251
109252	// DnsNameStateVerified is a DnsNameState enum value
109253	DnsNameStateVerified = "verified"
109254
109255	// DnsNameStateFailed is a DnsNameState enum value
109256	DnsNameStateFailed = "failed"
109257)
109258
109259const (
109260	// DnsSupportValueEnable is a DnsSupportValue enum value
109261	DnsSupportValueEnable = "enable"
109262
109263	// DnsSupportValueDisable is a DnsSupportValue enum value
109264	DnsSupportValueDisable = "disable"
109265)
109266
109267const (
109268	// DomainTypeVpc is a DomainType enum value
109269	DomainTypeVpc = "vpc"
109270
109271	// DomainTypeStandard is a DomainType enum value
109272	DomainTypeStandard = "standard"
109273)
109274
109275const (
109276	// EbsEncryptionSupportUnsupported is a EbsEncryptionSupport enum value
109277	EbsEncryptionSupportUnsupported = "unsupported"
109278
109279	// EbsEncryptionSupportSupported is a EbsEncryptionSupport enum value
109280	EbsEncryptionSupportSupported = "supported"
109281)
109282
109283const (
109284	// EbsOptimizedSupportUnsupported is a EbsOptimizedSupport enum value
109285	EbsOptimizedSupportUnsupported = "unsupported"
109286
109287	// EbsOptimizedSupportSupported is a EbsOptimizedSupport enum value
109288	EbsOptimizedSupportSupported = "supported"
109289
109290	// EbsOptimizedSupportDefault is a EbsOptimizedSupport enum value
109291	EbsOptimizedSupportDefault = "default"
109292)
109293
109294const (
109295	// ElasticGpuStateAttached is a ElasticGpuState enum value
109296	ElasticGpuStateAttached = "ATTACHED"
109297)
109298
109299const (
109300	// ElasticGpuStatusOk is a ElasticGpuStatus enum value
109301	ElasticGpuStatusOk = "OK"
109302
109303	// ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
109304	ElasticGpuStatusImpaired = "IMPAIRED"
109305)
109306
109307const (
109308	// EnaSupportUnsupported is a EnaSupport enum value
109309	EnaSupportUnsupported = "unsupported"
109310
109311	// EnaSupportSupported is a EnaSupport enum value
109312	EnaSupportSupported = "supported"
109313
109314	// EnaSupportRequired is a EnaSupport enum value
109315	EnaSupportRequired = "required"
109316)
109317
109318const (
109319	// EndDateTypeUnlimited is a EndDateType enum value
109320	EndDateTypeUnlimited = "unlimited"
109321
109322	// EndDateTypeLimited is a EndDateType enum value
109323	EndDateTypeLimited = "limited"
109324)
109325
109326const (
109327	// EventCodeInstanceReboot is a EventCode enum value
109328	EventCodeInstanceReboot = "instance-reboot"
109329
109330	// EventCodeSystemReboot is a EventCode enum value
109331	EventCodeSystemReboot = "system-reboot"
109332
109333	// EventCodeSystemMaintenance is a EventCode enum value
109334	EventCodeSystemMaintenance = "system-maintenance"
109335
109336	// EventCodeInstanceRetirement is a EventCode enum value
109337	EventCodeInstanceRetirement = "instance-retirement"
109338
109339	// EventCodeInstanceStop is a EventCode enum value
109340	EventCodeInstanceStop = "instance-stop"
109341)
109342
109343const (
109344	// EventTypeInstanceChange is a EventType enum value
109345	EventTypeInstanceChange = "instanceChange"
109346
109347	// EventTypeFleetRequestChange is a EventType enum value
109348	EventTypeFleetRequestChange = "fleetRequestChange"
109349
109350	// EventTypeError is a EventType enum value
109351	EventTypeError = "error"
109352
109353	// EventTypeInformation is a EventType enum value
109354	EventTypeInformation = "information"
109355)
109356
109357const (
109358	// ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
109359	ExcessCapacityTerminationPolicyNoTermination = "noTermination"
109360
109361	// ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
109362	ExcessCapacityTerminationPolicyDefault = "default"
109363)
109364
109365const (
109366	// ExportEnvironmentCitrix is a ExportEnvironment enum value
109367	ExportEnvironmentCitrix = "citrix"
109368
109369	// ExportEnvironmentVmware is a ExportEnvironment enum value
109370	ExportEnvironmentVmware = "vmware"
109371
109372	// ExportEnvironmentMicrosoft is a ExportEnvironment enum value
109373	ExportEnvironmentMicrosoft = "microsoft"
109374)
109375
109376const (
109377	// ExportTaskStateActive is a ExportTaskState enum value
109378	ExportTaskStateActive = "active"
109379
109380	// ExportTaskStateCancelling is a ExportTaskState enum value
109381	ExportTaskStateCancelling = "cancelling"
109382
109383	// ExportTaskStateCancelled is a ExportTaskState enum value
109384	ExportTaskStateCancelled = "cancelled"
109385
109386	// ExportTaskStateCompleted is a ExportTaskState enum value
109387	ExportTaskStateCompleted = "completed"
109388)
109389
109390const (
109391	// FastSnapshotRestoreStateCodeEnabling is a FastSnapshotRestoreStateCode enum value
109392	FastSnapshotRestoreStateCodeEnabling = "enabling"
109393
109394	// FastSnapshotRestoreStateCodeOptimizing is a FastSnapshotRestoreStateCode enum value
109395	FastSnapshotRestoreStateCodeOptimizing = "optimizing"
109396
109397	// FastSnapshotRestoreStateCodeEnabled is a FastSnapshotRestoreStateCode enum value
109398	FastSnapshotRestoreStateCodeEnabled = "enabled"
109399
109400	// FastSnapshotRestoreStateCodeDisabling is a FastSnapshotRestoreStateCode enum value
109401	FastSnapshotRestoreStateCodeDisabling = "disabling"
109402
109403	// FastSnapshotRestoreStateCodeDisabled is a FastSnapshotRestoreStateCode enum value
109404	FastSnapshotRestoreStateCodeDisabled = "disabled"
109405)
109406
109407const (
109408	// FleetActivityStatusError is a FleetActivityStatus enum value
109409	FleetActivityStatusError = "error"
109410
109411	// FleetActivityStatusPendingFulfillment is a FleetActivityStatus enum value
109412	FleetActivityStatusPendingFulfillment = "pending_fulfillment"
109413
109414	// FleetActivityStatusPendingTermination is a FleetActivityStatus enum value
109415	FleetActivityStatusPendingTermination = "pending_termination"
109416
109417	// FleetActivityStatusFulfilled is a FleetActivityStatus enum value
109418	FleetActivityStatusFulfilled = "fulfilled"
109419)
109420
109421const (
109422	// FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst is a FleetCapacityReservationUsageStrategy enum value
109423	FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst = "use-capacity-reservations-first"
109424)
109425
109426const (
109427	// FleetEventTypeInstanceChange is a FleetEventType enum value
109428	FleetEventTypeInstanceChange = "instance-change"
109429
109430	// FleetEventTypeFleetChange is a FleetEventType enum value
109431	FleetEventTypeFleetChange = "fleet-change"
109432
109433	// FleetEventTypeServiceError is a FleetEventType enum value
109434	FleetEventTypeServiceError = "service-error"
109435)
109436
109437const (
109438	// FleetExcessCapacityTerminationPolicyNoTermination is a FleetExcessCapacityTerminationPolicy enum value
109439	FleetExcessCapacityTerminationPolicyNoTermination = "no-termination"
109440
109441	// FleetExcessCapacityTerminationPolicyTermination is a FleetExcessCapacityTerminationPolicy enum value
109442	FleetExcessCapacityTerminationPolicyTermination = "termination"
109443)
109444
109445const (
109446	// FleetOnDemandAllocationStrategyLowestPrice is a FleetOnDemandAllocationStrategy enum value
109447	FleetOnDemandAllocationStrategyLowestPrice = "lowest-price"
109448
109449	// FleetOnDemandAllocationStrategyPrioritized is a FleetOnDemandAllocationStrategy enum value
109450	FleetOnDemandAllocationStrategyPrioritized = "prioritized"
109451)
109452
109453const (
109454	// FleetStateCodeSubmitted is a FleetStateCode enum value
109455	FleetStateCodeSubmitted = "submitted"
109456
109457	// FleetStateCodeActive is a FleetStateCode enum value
109458	FleetStateCodeActive = "active"
109459
109460	// FleetStateCodeDeleted is a FleetStateCode enum value
109461	FleetStateCodeDeleted = "deleted"
109462
109463	// FleetStateCodeFailed is a FleetStateCode enum value
109464	FleetStateCodeFailed = "failed"
109465
109466	// FleetStateCodeDeletedRunning is a FleetStateCode enum value
109467	FleetStateCodeDeletedRunning = "deleted_running"
109468
109469	// FleetStateCodeDeletedTerminating is a FleetStateCode enum value
109470	FleetStateCodeDeletedTerminating = "deleted_terminating"
109471
109472	// FleetStateCodeModifying is a FleetStateCode enum value
109473	FleetStateCodeModifying = "modifying"
109474)
109475
109476const (
109477	// FleetTypeRequest is a FleetType enum value
109478	FleetTypeRequest = "request"
109479
109480	// FleetTypeMaintain is a FleetType enum value
109481	FleetTypeMaintain = "maintain"
109482
109483	// FleetTypeInstant is a FleetType enum value
109484	FleetTypeInstant = "instant"
109485)
109486
109487const (
109488	// FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
109489	FlowLogsResourceTypeVpc = "VPC"
109490
109491	// FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
109492	FlowLogsResourceTypeSubnet = "Subnet"
109493
109494	// FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
109495	FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
109496)
109497
109498const (
109499	// FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value
109500	FpgaImageAttributeNameDescription = "description"
109501
109502	// FpgaImageAttributeNameName is a FpgaImageAttributeName enum value
109503	FpgaImageAttributeNameName = "name"
109504
109505	// FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value
109506	FpgaImageAttributeNameLoadPermission = "loadPermission"
109507
109508	// FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value
109509	FpgaImageAttributeNameProductCodes = "productCodes"
109510)
109511
109512const (
109513	// FpgaImageStateCodePending is a FpgaImageStateCode enum value
109514	FpgaImageStateCodePending = "pending"
109515
109516	// FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
109517	FpgaImageStateCodeFailed = "failed"
109518
109519	// FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
109520	FpgaImageStateCodeAvailable = "available"
109521
109522	// FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
109523	FpgaImageStateCodeUnavailable = "unavailable"
109524)
109525
109526const (
109527	// GatewayTypeIpsec1 is a GatewayType enum value
109528	GatewayTypeIpsec1 = "ipsec.1"
109529)
109530
109531const (
109532	// HostRecoveryOn is a HostRecovery enum value
109533	HostRecoveryOn = "on"
109534
109535	// HostRecoveryOff is a HostRecovery enum value
109536	HostRecoveryOff = "off"
109537)
109538
109539const (
109540	// HostTenancyDedicated is a HostTenancy enum value
109541	HostTenancyDedicated = "dedicated"
109542
109543	// HostTenancyHost is a HostTenancy enum value
109544	HostTenancyHost = "host"
109545)
109546
109547const (
109548	// HttpTokensStateOptional is a HttpTokensState enum value
109549	HttpTokensStateOptional = "optional"
109550
109551	// HttpTokensStateRequired is a HttpTokensState enum value
109552	HttpTokensStateRequired = "required"
109553)
109554
109555const (
109556	// HypervisorTypeOvm is a HypervisorType enum value
109557	HypervisorTypeOvm = "ovm"
109558
109559	// HypervisorTypeXen is a HypervisorType enum value
109560	HypervisorTypeXen = "xen"
109561)
109562
109563const (
109564	// IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
109565	IamInstanceProfileAssociationStateAssociating = "associating"
109566
109567	// IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
109568	IamInstanceProfileAssociationStateAssociated = "associated"
109569
109570	// IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
109571	IamInstanceProfileAssociationStateDisassociating = "disassociating"
109572
109573	// IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
109574	IamInstanceProfileAssociationStateDisassociated = "disassociated"
109575)
109576
109577const (
109578	// ImageAttributeNameDescription is a ImageAttributeName enum value
109579	ImageAttributeNameDescription = "description"
109580
109581	// ImageAttributeNameKernel is a ImageAttributeName enum value
109582	ImageAttributeNameKernel = "kernel"
109583
109584	// ImageAttributeNameRamdisk is a ImageAttributeName enum value
109585	ImageAttributeNameRamdisk = "ramdisk"
109586
109587	// ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
109588	ImageAttributeNameLaunchPermission = "launchPermission"
109589
109590	// ImageAttributeNameProductCodes is a ImageAttributeName enum value
109591	ImageAttributeNameProductCodes = "productCodes"
109592
109593	// ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
109594	ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
109595
109596	// ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
109597	ImageAttributeNameSriovNetSupport = "sriovNetSupport"
109598)
109599
109600const (
109601	// ImageStatePending is a ImageState enum value
109602	ImageStatePending = "pending"
109603
109604	// ImageStateAvailable is a ImageState enum value
109605	ImageStateAvailable = "available"
109606
109607	// ImageStateInvalid is a ImageState enum value
109608	ImageStateInvalid = "invalid"
109609
109610	// ImageStateDeregistered is a ImageState enum value
109611	ImageStateDeregistered = "deregistered"
109612
109613	// ImageStateTransient is a ImageState enum value
109614	ImageStateTransient = "transient"
109615
109616	// ImageStateFailed is a ImageState enum value
109617	ImageStateFailed = "failed"
109618
109619	// ImageStateError is a ImageState enum value
109620	ImageStateError = "error"
109621)
109622
109623const (
109624	// ImageTypeValuesMachine is a ImageTypeValues enum value
109625	ImageTypeValuesMachine = "machine"
109626
109627	// ImageTypeValuesKernel is a ImageTypeValues enum value
109628	ImageTypeValuesKernel = "kernel"
109629
109630	// ImageTypeValuesRamdisk is a ImageTypeValues enum value
109631	ImageTypeValuesRamdisk = "ramdisk"
109632)
109633
109634const (
109635	// InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
109636	InstanceAttributeNameInstanceType = "instanceType"
109637
109638	// InstanceAttributeNameKernel is a InstanceAttributeName enum value
109639	InstanceAttributeNameKernel = "kernel"
109640
109641	// InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
109642	InstanceAttributeNameRamdisk = "ramdisk"
109643
109644	// InstanceAttributeNameUserData is a InstanceAttributeName enum value
109645	InstanceAttributeNameUserData = "userData"
109646
109647	// InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
109648	InstanceAttributeNameDisableApiTermination = "disableApiTermination"
109649
109650	// InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
109651	InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
109652
109653	// InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
109654	InstanceAttributeNameRootDeviceName = "rootDeviceName"
109655
109656	// InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
109657	InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
109658
109659	// InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
109660	InstanceAttributeNameProductCodes = "productCodes"
109661
109662	// InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
109663	InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
109664
109665	// InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
109666	InstanceAttributeNameGroupSet = "groupSet"
109667
109668	// InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
109669	InstanceAttributeNameEbsOptimized = "ebsOptimized"
109670
109671	// InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
109672	InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
109673
109674	// InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
109675	InstanceAttributeNameEnaSupport = "enaSupport"
109676)
109677
109678const (
109679	// InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
109680	InstanceHealthStatusHealthy = "healthy"
109681
109682	// InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
109683	InstanceHealthStatusUnhealthy = "unhealthy"
109684)
109685
109686const (
109687	// InstanceInterruptionBehaviorHibernate is a InstanceInterruptionBehavior enum value
109688	InstanceInterruptionBehaviorHibernate = "hibernate"
109689
109690	// InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value
109691	InstanceInterruptionBehaviorStop = "stop"
109692
109693	// InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value
109694	InstanceInterruptionBehaviorTerminate = "terminate"
109695)
109696
109697const (
109698	// InstanceLifecycleSpot is a InstanceLifecycle enum value
109699	InstanceLifecycleSpot = "spot"
109700
109701	// InstanceLifecycleOnDemand is a InstanceLifecycle enum value
109702	InstanceLifecycleOnDemand = "on-demand"
109703)
109704
109705const (
109706	// InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
109707	InstanceLifecycleTypeSpot = "spot"
109708
109709	// InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
109710	InstanceLifecycleTypeScheduled = "scheduled"
109711)
109712
109713const (
109714	// InstanceMatchCriteriaOpen is a InstanceMatchCriteria enum value
109715	InstanceMatchCriteriaOpen = "open"
109716
109717	// InstanceMatchCriteriaTargeted is a InstanceMatchCriteria enum value
109718	InstanceMatchCriteriaTargeted = "targeted"
109719)
109720
109721const (
109722	// InstanceMetadataEndpointStateDisabled is a InstanceMetadataEndpointState enum value
109723	InstanceMetadataEndpointStateDisabled = "disabled"
109724
109725	// InstanceMetadataEndpointStateEnabled is a InstanceMetadataEndpointState enum value
109726	InstanceMetadataEndpointStateEnabled = "enabled"
109727)
109728
109729const (
109730	// InstanceMetadataOptionsStatePending is a InstanceMetadataOptionsState enum value
109731	InstanceMetadataOptionsStatePending = "pending"
109732
109733	// InstanceMetadataOptionsStateApplied is a InstanceMetadataOptionsState enum value
109734	InstanceMetadataOptionsStateApplied = "applied"
109735)
109736
109737const (
109738	// InstanceStateNamePending is a InstanceStateName enum value
109739	InstanceStateNamePending = "pending"
109740
109741	// InstanceStateNameRunning is a InstanceStateName enum value
109742	InstanceStateNameRunning = "running"
109743
109744	// InstanceStateNameShuttingDown is a InstanceStateName enum value
109745	InstanceStateNameShuttingDown = "shutting-down"
109746
109747	// InstanceStateNameTerminated is a InstanceStateName enum value
109748	InstanceStateNameTerminated = "terminated"
109749
109750	// InstanceStateNameStopping is a InstanceStateName enum value
109751	InstanceStateNameStopping = "stopping"
109752
109753	// InstanceStateNameStopped is a InstanceStateName enum value
109754	InstanceStateNameStopped = "stopped"
109755)
109756
109757const (
109758	// InstanceTypeT1Micro is a InstanceType enum value
109759	InstanceTypeT1Micro = "t1.micro"
109760
109761	// InstanceTypeT2Nano is a InstanceType enum value
109762	InstanceTypeT2Nano = "t2.nano"
109763
109764	// InstanceTypeT2Micro is a InstanceType enum value
109765	InstanceTypeT2Micro = "t2.micro"
109766
109767	// InstanceTypeT2Small is a InstanceType enum value
109768	InstanceTypeT2Small = "t2.small"
109769
109770	// InstanceTypeT2Medium is a InstanceType enum value
109771	InstanceTypeT2Medium = "t2.medium"
109772
109773	// InstanceTypeT2Large is a InstanceType enum value
109774	InstanceTypeT2Large = "t2.large"
109775
109776	// InstanceTypeT2Xlarge is a InstanceType enum value
109777	InstanceTypeT2Xlarge = "t2.xlarge"
109778
109779	// InstanceTypeT22xlarge is a InstanceType enum value
109780	InstanceTypeT22xlarge = "t2.2xlarge"
109781
109782	// InstanceTypeT3Nano is a InstanceType enum value
109783	InstanceTypeT3Nano = "t3.nano"
109784
109785	// InstanceTypeT3Micro is a InstanceType enum value
109786	InstanceTypeT3Micro = "t3.micro"
109787
109788	// InstanceTypeT3Small is a InstanceType enum value
109789	InstanceTypeT3Small = "t3.small"
109790
109791	// InstanceTypeT3Medium is a InstanceType enum value
109792	InstanceTypeT3Medium = "t3.medium"
109793
109794	// InstanceTypeT3Large is a InstanceType enum value
109795	InstanceTypeT3Large = "t3.large"
109796
109797	// InstanceTypeT3Xlarge is a InstanceType enum value
109798	InstanceTypeT3Xlarge = "t3.xlarge"
109799
109800	// InstanceTypeT32xlarge is a InstanceType enum value
109801	InstanceTypeT32xlarge = "t3.2xlarge"
109802
109803	// InstanceTypeT3aNano is a InstanceType enum value
109804	InstanceTypeT3aNano = "t3a.nano"
109805
109806	// InstanceTypeT3aMicro is a InstanceType enum value
109807	InstanceTypeT3aMicro = "t3a.micro"
109808
109809	// InstanceTypeT3aSmall is a InstanceType enum value
109810	InstanceTypeT3aSmall = "t3a.small"
109811
109812	// InstanceTypeT3aMedium is a InstanceType enum value
109813	InstanceTypeT3aMedium = "t3a.medium"
109814
109815	// InstanceTypeT3aLarge is a InstanceType enum value
109816	InstanceTypeT3aLarge = "t3a.large"
109817
109818	// InstanceTypeT3aXlarge is a InstanceType enum value
109819	InstanceTypeT3aXlarge = "t3a.xlarge"
109820
109821	// InstanceTypeT3a2xlarge is a InstanceType enum value
109822	InstanceTypeT3a2xlarge = "t3a.2xlarge"
109823
109824	// InstanceTypeM1Small is a InstanceType enum value
109825	InstanceTypeM1Small = "m1.small"
109826
109827	// InstanceTypeM1Medium is a InstanceType enum value
109828	InstanceTypeM1Medium = "m1.medium"
109829
109830	// InstanceTypeM1Large is a InstanceType enum value
109831	InstanceTypeM1Large = "m1.large"
109832
109833	// InstanceTypeM1Xlarge is a InstanceType enum value
109834	InstanceTypeM1Xlarge = "m1.xlarge"
109835
109836	// InstanceTypeM3Medium is a InstanceType enum value
109837	InstanceTypeM3Medium = "m3.medium"
109838
109839	// InstanceTypeM3Large is a InstanceType enum value
109840	InstanceTypeM3Large = "m3.large"
109841
109842	// InstanceTypeM3Xlarge is a InstanceType enum value
109843	InstanceTypeM3Xlarge = "m3.xlarge"
109844
109845	// InstanceTypeM32xlarge is a InstanceType enum value
109846	InstanceTypeM32xlarge = "m3.2xlarge"
109847
109848	// InstanceTypeM4Large is a InstanceType enum value
109849	InstanceTypeM4Large = "m4.large"
109850
109851	// InstanceTypeM4Xlarge is a InstanceType enum value
109852	InstanceTypeM4Xlarge = "m4.xlarge"
109853
109854	// InstanceTypeM42xlarge is a InstanceType enum value
109855	InstanceTypeM42xlarge = "m4.2xlarge"
109856
109857	// InstanceTypeM44xlarge is a InstanceType enum value
109858	InstanceTypeM44xlarge = "m4.4xlarge"
109859
109860	// InstanceTypeM410xlarge is a InstanceType enum value
109861	InstanceTypeM410xlarge = "m4.10xlarge"
109862
109863	// InstanceTypeM416xlarge is a InstanceType enum value
109864	InstanceTypeM416xlarge = "m4.16xlarge"
109865
109866	// InstanceTypeM2Xlarge is a InstanceType enum value
109867	InstanceTypeM2Xlarge = "m2.xlarge"
109868
109869	// InstanceTypeM22xlarge is a InstanceType enum value
109870	InstanceTypeM22xlarge = "m2.2xlarge"
109871
109872	// InstanceTypeM24xlarge is a InstanceType enum value
109873	InstanceTypeM24xlarge = "m2.4xlarge"
109874
109875	// InstanceTypeCr18xlarge is a InstanceType enum value
109876	InstanceTypeCr18xlarge = "cr1.8xlarge"
109877
109878	// InstanceTypeR3Large is a InstanceType enum value
109879	InstanceTypeR3Large = "r3.large"
109880
109881	// InstanceTypeR3Xlarge is a InstanceType enum value
109882	InstanceTypeR3Xlarge = "r3.xlarge"
109883
109884	// InstanceTypeR32xlarge is a InstanceType enum value
109885	InstanceTypeR32xlarge = "r3.2xlarge"
109886
109887	// InstanceTypeR34xlarge is a InstanceType enum value
109888	InstanceTypeR34xlarge = "r3.4xlarge"
109889
109890	// InstanceTypeR38xlarge is a InstanceType enum value
109891	InstanceTypeR38xlarge = "r3.8xlarge"
109892
109893	// InstanceTypeR4Large is a InstanceType enum value
109894	InstanceTypeR4Large = "r4.large"
109895
109896	// InstanceTypeR4Xlarge is a InstanceType enum value
109897	InstanceTypeR4Xlarge = "r4.xlarge"
109898
109899	// InstanceTypeR42xlarge is a InstanceType enum value
109900	InstanceTypeR42xlarge = "r4.2xlarge"
109901
109902	// InstanceTypeR44xlarge is a InstanceType enum value
109903	InstanceTypeR44xlarge = "r4.4xlarge"
109904
109905	// InstanceTypeR48xlarge is a InstanceType enum value
109906	InstanceTypeR48xlarge = "r4.8xlarge"
109907
109908	// InstanceTypeR416xlarge is a InstanceType enum value
109909	InstanceTypeR416xlarge = "r4.16xlarge"
109910
109911	// InstanceTypeR5Large is a InstanceType enum value
109912	InstanceTypeR5Large = "r5.large"
109913
109914	// InstanceTypeR5Xlarge is a InstanceType enum value
109915	InstanceTypeR5Xlarge = "r5.xlarge"
109916
109917	// InstanceTypeR52xlarge is a InstanceType enum value
109918	InstanceTypeR52xlarge = "r5.2xlarge"
109919
109920	// InstanceTypeR54xlarge is a InstanceType enum value
109921	InstanceTypeR54xlarge = "r5.4xlarge"
109922
109923	// InstanceTypeR58xlarge is a InstanceType enum value
109924	InstanceTypeR58xlarge = "r5.8xlarge"
109925
109926	// InstanceTypeR512xlarge is a InstanceType enum value
109927	InstanceTypeR512xlarge = "r5.12xlarge"
109928
109929	// InstanceTypeR516xlarge is a InstanceType enum value
109930	InstanceTypeR516xlarge = "r5.16xlarge"
109931
109932	// InstanceTypeR524xlarge is a InstanceType enum value
109933	InstanceTypeR524xlarge = "r5.24xlarge"
109934
109935	// InstanceTypeR5Metal is a InstanceType enum value
109936	InstanceTypeR5Metal = "r5.metal"
109937
109938	// InstanceTypeR5aLarge is a InstanceType enum value
109939	InstanceTypeR5aLarge = "r5a.large"
109940
109941	// InstanceTypeR5aXlarge is a InstanceType enum value
109942	InstanceTypeR5aXlarge = "r5a.xlarge"
109943
109944	// InstanceTypeR5a2xlarge is a InstanceType enum value
109945	InstanceTypeR5a2xlarge = "r5a.2xlarge"
109946
109947	// InstanceTypeR5a4xlarge is a InstanceType enum value
109948	InstanceTypeR5a4xlarge = "r5a.4xlarge"
109949
109950	// InstanceTypeR5a8xlarge is a InstanceType enum value
109951	InstanceTypeR5a8xlarge = "r5a.8xlarge"
109952
109953	// InstanceTypeR5a12xlarge is a InstanceType enum value
109954	InstanceTypeR5a12xlarge = "r5a.12xlarge"
109955
109956	// InstanceTypeR5a16xlarge is a InstanceType enum value
109957	InstanceTypeR5a16xlarge = "r5a.16xlarge"
109958
109959	// InstanceTypeR5a24xlarge is a InstanceType enum value
109960	InstanceTypeR5a24xlarge = "r5a.24xlarge"
109961
109962	// InstanceTypeR5dLarge is a InstanceType enum value
109963	InstanceTypeR5dLarge = "r5d.large"
109964
109965	// InstanceTypeR5dXlarge is a InstanceType enum value
109966	InstanceTypeR5dXlarge = "r5d.xlarge"
109967
109968	// InstanceTypeR5d2xlarge is a InstanceType enum value
109969	InstanceTypeR5d2xlarge = "r5d.2xlarge"
109970
109971	// InstanceTypeR5d4xlarge is a InstanceType enum value
109972	InstanceTypeR5d4xlarge = "r5d.4xlarge"
109973
109974	// InstanceTypeR5d8xlarge is a InstanceType enum value
109975	InstanceTypeR5d8xlarge = "r5d.8xlarge"
109976
109977	// InstanceTypeR5d12xlarge is a InstanceType enum value
109978	InstanceTypeR5d12xlarge = "r5d.12xlarge"
109979
109980	// InstanceTypeR5d16xlarge is a InstanceType enum value
109981	InstanceTypeR5d16xlarge = "r5d.16xlarge"
109982
109983	// InstanceTypeR5d24xlarge is a InstanceType enum value
109984	InstanceTypeR5d24xlarge = "r5d.24xlarge"
109985
109986	// InstanceTypeR5dMetal is a InstanceType enum value
109987	InstanceTypeR5dMetal = "r5d.metal"
109988
109989	// InstanceTypeR5adLarge is a InstanceType enum value
109990	InstanceTypeR5adLarge = "r5ad.large"
109991
109992	// InstanceTypeR5adXlarge is a InstanceType enum value
109993	InstanceTypeR5adXlarge = "r5ad.xlarge"
109994
109995	// InstanceTypeR5ad2xlarge is a InstanceType enum value
109996	InstanceTypeR5ad2xlarge = "r5ad.2xlarge"
109997
109998	// InstanceTypeR5ad4xlarge is a InstanceType enum value
109999	InstanceTypeR5ad4xlarge = "r5ad.4xlarge"
110000
110001	// InstanceTypeR5ad8xlarge is a InstanceType enum value
110002	InstanceTypeR5ad8xlarge = "r5ad.8xlarge"
110003
110004	// InstanceTypeR5ad12xlarge is a InstanceType enum value
110005	InstanceTypeR5ad12xlarge = "r5ad.12xlarge"
110006
110007	// InstanceTypeR5ad16xlarge is a InstanceType enum value
110008	InstanceTypeR5ad16xlarge = "r5ad.16xlarge"
110009
110010	// InstanceTypeR5ad24xlarge is a InstanceType enum value
110011	InstanceTypeR5ad24xlarge = "r5ad.24xlarge"
110012
110013	// InstanceTypeX116xlarge is a InstanceType enum value
110014	InstanceTypeX116xlarge = "x1.16xlarge"
110015
110016	// InstanceTypeX132xlarge is a InstanceType enum value
110017	InstanceTypeX132xlarge = "x1.32xlarge"
110018
110019	// InstanceTypeX1eXlarge is a InstanceType enum value
110020	InstanceTypeX1eXlarge = "x1e.xlarge"
110021
110022	// InstanceTypeX1e2xlarge is a InstanceType enum value
110023	InstanceTypeX1e2xlarge = "x1e.2xlarge"
110024
110025	// InstanceTypeX1e4xlarge is a InstanceType enum value
110026	InstanceTypeX1e4xlarge = "x1e.4xlarge"
110027
110028	// InstanceTypeX1e8xlarge is a InstanceType enum value
110029	InstanceTypeX1e8xlarge = "x1e.8xlarge"
110030
110031	// InstanceTypeX1e16xlarge is a InstanceType enum value
110032	InstanceTypeX1e16xlarge = "x1e.16xlarge"
110033
110034	// InstanceTypeX1e32xlarge is a InstanceType enum value
110035	InstanceTypeX1e32xlarge = "x1e.32xlarge"
110036
110037	// InstanceTypeI2Xlarge is a InstanceType enum value
110038	InstanceTypeI2Xlarge = "i2.xlarge"
110039
110040	// InstanceTypeI22xlarge is a InstanceType enum value
110041	InstanceTypeI22xlarge = "i2.2xlarge"
110042
110043	// InstanceTypeI24xlarge is a InstanceType enum value
110044	InstanceTypeI24xlarge = "i2.4xlarge"
110045
110046	// InstanceTypeI28xlarge is a InstanceType enum value
110047	InstanceTypeI28xlarge = "i2.8xlarge"
110048
110049	// InstanceTypeI3Large is a InstanceType enum value
110050	InstanceTypeI3Large = "i3.large"
110051
110052	// InstanceTypeI3Xlarge is a InstanceType enum value
110053	InstanceTypeI3Xlarge = "i3.xlarge"
110054
110055	// InstanceTypeI32xlarge is a InstanceType enum value
110056	InstanceTypeI32xlarge = "i3.2xlarge"
110057
110058	// InstanceTypeI34xlarge is a InstanceType enum value
110059	InstanceTypeI34xlarge = "i3.4xlarge"
110060
110061	// InstanceTypeI38xlarge is a InstanceType enum value
110062	InstanceTypeI38xlarge = "i3.8xlarge"
110063
110064	// InstanceTypeI316xlarge is a InstanceType enum value
110065	InstanceTypeI316xlarge = "i3.16xlarge"
110066
110067	// InstanceTypeI3Metal is a InstanceType enum value
110068	InstanceTypeI3Metal = "i3.metal"
110069
110070	// InstanceTypeI3enLarge is a InstanceType enum value
110071	InstanceTypeI3enLarge = "i3en.large"
110072
110073	// InstanceTypeI3enXlarge is a InstanceType enum value
110074	InstanceTypeI3enXlarge = "i3en.xlarge"
110075
110076	// InstanceTypeI3en2xlarge is a InstanceType enum value
110077	InstanceTypeI3en2xlarge = "i3en.2xlarge"
110078
110079	// InstanceTypeI3en3xlarge is a InstanceType enum value
110080	InstanceTypeI3en3xlarge = "i3en.3xlarge"
110081
110082	// InstanceTypeI3en6xlarge is a InstanceType enum value
110083	InstanceTypeI3en6xlarge = "i3en.6xlarge"
110084
110085	// InstanceTypeI3en12xlarge is a InstanceType enum value
110086	InstanceTypeI3en12xlarge = "i3en.12xlarge"
110087
110088	// InstanceTypeI3en24xlarge is a InstanceType enum value
110089	InstanceTypeI3en24xlarge = "i3en.24xlarge"
110090
110091	// InstanceTypeI3enMetal is a InstanceType enum value
110092	InstanceTypeI3enMetal = "i3en.metal"
110093
110094	// InstanceTypeHi14xlarge is a InstanceType enum value
110095	InstanceTypeHi14xlarge = "hi1.4xlarge"
110096
110097	// InstanceTypeHs18xlarge is a InstanceType enum value
110098	InstanceTypeHs18xlarge = "hs1.8xlarge"
110099
110100	// InstanceTypeC1Medium is a InstanceType enum value
110101	InstanceTypeC1Medium = "c1.medium"
110102
110103	// InstanceTypeC1Xlarge is a InstanceType enum value
110104	InstanceTypeC1Xlarge = "c1.xlarge"
110105
110106	// InstanceTypeC3Large is a InstanceType enum value
110107	InstanceTypeC3Large = "c3.large"
110108
110109	// InstanceTypeC3Xlarge is a InstanceType enum value
110110	InstanceTypeC3Xlarge = "c3.xlarge"
110111
110112	// InstanceTypeC32xlarge is a InstanceType enum value
110113	InstanceTypeC32xlarge = "c3.2xlarge"
110114
110115	// InstanceTypeC34xlarge is a InstanceType enum value
110116	InstanceTypeC34xlarge = "c3.4xlarge"
110117
110118	// InstanceTypeC38xlarge is a InstanceType enum value
110119	InstanceTypeC38xlarge = "c3.8xlarge"
110120
110121	// InstanceTypeC4Large is a InstanceType enum value
110122	InstanceTypeC4Large = "c4.large"
110123
110124	// InstanceTypeC4Xlarge is a InstanceType enum value
110125	InstanceTypeC4Xlarge = "c4.xlarge"
110126
110127	// InstanceTypeC42xlarge is a InstanceType enum value
110128	InstanceTypeC42xlarge = "c4.2xlarge"
110129
110130	// InstanceTypeC44xlarge is a InstanceType enum value
110131	InstanceTypeC44xlarge = "c4.4xlarge"
110132
110133	// InstanceTypeC48xlarge is a InstanceType enum value
110134	InstanceTypeC48xlarge = "c4.8xlarge"
110135
110136	// InstanceTypeC5Large is a InstanceType enum value
110137	InstanceTypeC5Large = "c5.large"
110138
110139	// InstanceTypeC5Xlarge is a InstanceType enum value
110140	InstanceTypeC5Xlarge = "c5.xlarge"
110141
110142	// InstanceTypeC52xlarge is a InstanceType enum value
110143	InstanceTypeC52xlarge = "c5.2xlarge"
110144
110145	// InstanceTypeC54xlarge is a InstanceType enum value
110146	InstanceTypeC54xlarge = "c5.4xlarge"
110147
110148	// InstanceTypeC59xlarge is a InstanceType enum value
110149	InstanceTypeC59xlarge = "c5.9xlarge"
110150
110151	// InstanceTypeC512xlarge is a InstanceType enum value
110152	InstanceTypeC512xlarge = "c5.12xlarge"
110153
110154	// InstanceTypeC518xlarge is a InstanceType enum value
110155	InstanceTypeC518xlarge = "c5.18xlarge"
110156
110157	// InstanceTypeC524xlarge is a InstanceType enum value
110158	InstanceTypeC524xlarge = "c5.24xlarge"
110159
110160	// InstanceTypeC5Metal is a InstanceType enum value
110161	InstanceTypeC5Metal = "c5.metal"
110162
110163	// InstanceTypeC5dLarge is a InstanceType enum value
110164	InstanceTypeC5dLarge = "c5d.large"
110165
110166	// InstanceTypeC5dXlarge is a InstanceType enum value
110167	InstanceTypeC5dXlarge = "c5d.xlarge"
110168
110169	// InstanceTypeC5d2xlarge is a InstanceType enum value
110170	InstanceTypeC5d2xlarge = "c5d.2xlarge"
110171
110172	// InstanceTypeC5d4xlarge is a InstanceType enum value
110173	InstanceTypeC5d4xlarge = "c5d.4xlarge"
110174
110175	// InstanceTypeC5d9xlarge is a InstanceType enum value
110176	InstanceTypeC5d9xlarge = "c5d.9xlarge"
110177
110178	// InstanceTypeC5d12xlarge is a InstanceType enum value
110179	InstanceTypeC5d12xlarge = "c5d.12xlarge"
110180
110181	// InstanceTypeC5d18xlarge is a InstanceType enum value
110182	InstanceTypeC5d18xlarge = "c5d.18xlarge"
110183
110184	// InstanceTypeC5d24xlarge is a InstanceType enum value
110185	InstanceTypeC5d24xlarge = "c5d.24xlarge"
110186
110187	// InstanceTypeC5dMetal is a InstanceType enum value
110188	InstanceTypeC5dMetal = "c5d.metal"
110189
110190	// InstanceTypeC5nLarge is a InstanceType enum value
110191	InstanceTypeC5nLarge = "c5n.large"
110192
110193	// InstanceTypeC5nXlarge is a InstanceType enum value
110194	InstanceTypeC5nXlarge = "c5n.xlarge"
110195
110196	// InstanceTypeC5n2xlarge is a InstanceType enum value
110197	InstanceTypeC5n2xlarge = "c5n.2xlarge"
110198
110199	// InstanceTypeC5n4xlarge is a InstanceType enum value
110200	InstanceTypeC5n4xlarge = "c5n.4xlarge"
110201
110202	// InstanceTypeC5n9xlarge is a InstanceType enum value
110203	InstanceTypeC5n9xlarge = "c5n.9xlarge"
110204
110205	// InstanceTypeC5n18xlarge is a InstanceType enum value
110206	InstanceTypeC5n18xlarge = "c5n.18xlarge"
110207
110208	// InstanceTypeCc14xlarge is a InstanceType enum value
110209	InstanceTypeCc14xlarge = "cc1.4xlarge"
110210
110211	// InstanceTypeCc28xlarge is a InstanceType enum value
110212	InstanceTypeCc28xlarge = "cc2.8xlarge"
110213
110214	// InstanceTypeG22xlarge is a InstanceType enum value
110215	InstanceTypeG22xlarge = "g2.2xlarge"
110216
110217	// InstanceTypeG28xlarge is a InstanceType enum value
110218	InstanceTypeG28xlarge = "g2.8xlarge"
110219
110220	// InstanceTypeG34xlarge is a InstanceType enum value
110221	InstanceTypeG34xlarge = "g3.4xlarge"
110222
110223	// InstanceTypeG38xlarge is a InstanceType enum value
110224	InstanceTypeG38xlarge = "g3.8xlarge"
110225
110226	// InstanceTypeG316xlarge is a InstanceType enum value
110227	InstanceTypeG316xlarge = "g3.16xlarge"
110228
110229	// InstanceTypeG3sXlarge is a InstanceType enum value
110230	InstanceTypeG3sXlarge = "g3s.xlarge"
110231
110232	// InstanceTypeG4dnXlarge is a InstanceType enum value
110233	InstanceTypeG4dnXlarge = "g4dn.xlarge"
110234
110235	// InstanceTypeG4dn2xlarge is a InstanceType enum value
110236	InstanceTypeG4dn2xlarge = "g4dn.2xlarge"
110237
110238	// InstanceTypeG4dn4xlarge is a InstanceType enum value
110239	InstanceTypeG4dn4xlarge = "g4dn.4xlarge"
110240
110241	// InstanceTypeG4dn8xlarge is a InstanceType enum value
110242	InstanceTypeG4dn8xlarge = "g4dn.8xlarge"
110243
110244	// InstanceTypeG4dn12xlarge is a InstanceType enum value
110245	InstanceTypeG4dn12xlarge = "g4dn.12xlarge"
110246
110247	// InstanceTypeG4dn16xlarge is a InstanceType enum value
110248	InstanceTypeG4dn16xlarge = "g4dn.16xlarge"
110249
110250	// InstanceTypeCg14xlarge is a InstanceType enum value
110251	InstanceTypeCg14xlarge = "cg1.4xlarge"
110252
110253	// InstanceTypeP2Xlarge is a InstanceType enum value
110254	InstanceTypeP2Xlarge = "p2.xlarge"
110255
110256	// InstanceTypeP28xlarge is a InstanceType enum value
110257	InstanceTypeP28xlarge = "p2.8xlarge"
110258
110259	// InstanceTypeP216xlarge is a InstanceType enum value
110260	InstanceTypeP216xlarge = "p2.16xlarge"
110261
110262	// InstanceTypeP32xlarge is a InstanceType enum value
110263	InstanceTypeP32xlarge = "p3.2xlarge"
110264
110265	// InstanceTypeP38xlarge is a InstanceType enum value
110266	InstanceTypeP38xlarge = "p3.8xlarge"
110267
110268	// InstanceTypeP316xlarge is a InstanceType enum value
110269	InstanceTypeP316xlarge = "p3.16xlarge"
110270
110271	// InstanceTypeP3dn24xlarge is a InstanceType enum value
110272	InstanceTypeP3dn24xlarge = "p3dn.24xlarge"
110273
110274	// InstanceTypeD2Xlarge is a InstanceType enum value
110275	InstanceTypeD2Xlarge = "d2.xlarge"
110276
110277	// InstanceTypeD22xlarge is a InstanceType enum value
110278	InstanceTypeD22xlarge = "d2.2xlarge"
110279
110280	// InstanceTypeD24xlarge is a InstanceType enum value
110281	InstanceTypeD24xlarge = "d2.4xlarge"
110282
110283	// InstanceTypeD28xlarge is a InstanceType enum value
110284	InstanceTypeD28xlarge = "d2.8xlarge"
110285
110286	// InstanceTypeF12xlarge is a InstanceType enum value
110287	InstanceTypeF12xlarge = "f1.2xlarge"
110288
110289	// InstanceTypeF14xlarge is a InstanceType enum value
110290	InstanceTypeF14xlarge = "f1.4xlarge"
110291
110292	// InstanceTypeF116xlarge is a InstanceType enum value
110293	InstanceTypeF116xlarge = "f1.16xlarge"
110294
110295	// InstanceTypeM5Large is a InstanceType enum value
110296	InstanceTypeM5Large = "m5.large"
110297
110298	// InstanceTypeM5Xlarge is a InstanceType enum value
110299	InstanceTypeM5Xlarge = "m5.xlarge"
110300
110301	// InstanceTypeM52xlarge is a InstanceType enum value
110302	InstanceTypeM52xlarge = "m5.2xlarge"
110303
110304	// InstanceTypeM54xlarge is a InstanceType enum value
110305	InstanceTypeM54xlarge = "m5.4xlarge"
110306
110307	// InstanceTypeM58xlarge is a InstanceType enum value
110308	InstanceTypeM58xlarge = "m5.8xlarge"
110309
110310	// InstanceTypeM512xlarge is a InstanceType enum value
110311	InstanceTypeM512xlarge = "m5.12xlarge"
110312
110313	// InstanceTypeM516xlarge is a InstanceType enum value
110314	InstanceTypeM516xlarge = "m5.16xlarge"
110315
110316	// InstanceTypeM524xlarge is a InstanceType enum value
110317	InstanceTypeM524xlarge = "m5.24xlarge"
110318
110319	// InstanceTypeM5Metal is a InstanceType enum value
110320	InstanceTypeM5Metal = "m5.metal"
110321
110322	// InstanceTypeM5aLarge is a InstanceType enum value
110323	InstanceTypeM5aLarge = "m5a.large"
110324
110325	// InstanceTypeM5aXlarge is a InstanceType enum value
110326	InstanceTypeM5aXlarge = "m5a.xlarge"
110327
110328	// InstanceTypeM5a2xlarge is a InstanceType enum value
110329	InstanceTypeM5a2xlarge = "m5a.2xlarge"
110330
110331	// InstanceTypeM5a4xlarge is a InstanceType enum value
110332	InstanceTypeM5a4xlarge = "m5a.4xlarge"
110333
110334	// InstanceTypeM5a8xlarge is a InstanceType enum value
110335	InstanceTypeM5a8xlarge = "m5a.8xlarge"
110336
110337	// InstanceTypeM5a12xlarge is a InstanceType enum value
110338	InstanceTypeM5a12xlarge = "m5a.12xlarge"
110339
110340	// InstanceTypeM5a16xlarge is a InstanceType enum value
110341	InstanceTypeM5a16xlarge = "m5a.16xlarge"
110342
110343	// InstanceTypeM5a24xlarge is a InstanceType enum value
110344	InstanceTypeM5a24xlarge = "m5a.24xlarge"
110345
110346	// InstanceTypeM5dLarge is a InstanceType enum value
110347	InstanceTypeM5dLarge = "m5d.large"
110348
110349	// InstanceTypeM5dXlarge is a InstanceType enum value
110350	InstanceTypeM5dXlarge = "m5d.xlarge"
110351
110352	// InstanceTypeM5d2xlarge is a InstanceType enum value
110353	InstanceTypeM5d2xlarge = "m5d.2xlarge"
110354
110355	// InstanceTypeM5d4xlarge is a InstanceType enum value
110356	InstanceTypeM5d4xlarge = "m5d.4xlarge"
110357
110358	// InstanceTypeM5d8xlarge is a InstanceType enum value
110359	InstanceTypeM5d8xlarge = "m5d.8xlarge"
110360
110361	// InstanceTypeM5d12xlarge is a InstanceType enum value
110362	InstanceTypeM5d12xlarge = "m5d.12xlarge"
110363
110364	// InstanceTypeM5d16xlarge is a InstanceType enum value
110365	InstanceTypeM5d16xlarge = "m5d.16xlarge"
110366
110367	// InstanceTypeM5d24xlarge is a InstanceType enum value
110368	InstanceTypeM5d24xlarge = "m5d.24xlarge"
110369
110370	// InstanceTypeM5dMetal is a InstanceType enum value
110371	InstanceTypeM5dMetal = "m5d.metal"
110372
110373	// InstanceTypeM5adLarge is a InstanceType enum value
110374	InstanceTypeM5adLarge = "m5ad.large"
110375
110376	// InstanceTypeM5adXlarge is a InstanceType enum value
110377	InstanceTypeM5adXlarge = "m5ad.xlarge"
110378
110379	// InstanceTypeM5ad2xlarge is a InstanceType enum value
110380	InstanceTypeM5ad2xlarge = "m5ad.2xlarge"
110381
110382	// InstanceTypeM5ad4xlarge is a InstanceType enum value
110383	InstanceTypeM5ad4xlarge = "m5ad.4xlarge"
110384
110385	// InstanceTypeM5ad8xlarge is a InstanceType enum value
110386	InstanceTypeM5ad8xlarge = "m5ad.8xlarge"
110387
110388	// InstanceTypeM5ad12xlarge is a InstanceType enum value
110389	InstanceTypeM5ad12xlarge = "m5ad.12xlarge"
110390
110391	// InstanceTypeM5ad16xlarge is a InstanceType enum value
110392	InstanceTypeM5ad16xlarge = "m5ad.16xlarge"
110393
110394	// InstanceTypeM5ad24xlarge is a InstanceType enum value
110395	InstanceTypeM5ad24xlarge = "m5ad.24xlarge"
110396
110397	// InstanceTypeH12xlarge is a InstanceType enum value
110398	InstanceTypeH12xlarge = "h1.2xlarge"
110399
110400	// InstanceTypeH14xlarge is a InstanceType enum value
110401	InstanceTypeH14xlarge = "h1.4xlarge"
110402
110403	// InstanceTypeH18xlarge is a InstanceType enum value
110404	InstanceTypeH18xlarge = "h1.8xlarge"
110405
110406	// InstanceTypeH116xlarge is a InstanceType enum value
110407	InstanceTypeH116xlarge = "h1.16xlarge"
110408
110409	// InstanceTypeZ1dLarge is a InstanceType enum value
110410	InstanceTypeZ1dLarge = "z1d.large"
110411
110412	// InstanceTypeZ1dXlarge is a InstanceType enum value
110413	InstanceTypeZ1dXlarge = "z1d.xlarge"
110414
110415	// InstanceTypeZ1d2xlarge is a InstanceType enum value
110416	InstanceTypeZ1d2xlarge = "z1d.2xlarge"
110417
110418	// InstanceTypeZ1d3xlarge is a InstanceType enum value
110419	InstanceTypeZ1d3xlarge = "z1d.3xlarge"
110420
110421	// InstanceTypeZ1d6xlarge is a InstanceType enum value
110422	InstanceTypeZ1d6xlarge = "z1d.6xlarge"
110423
110424	// InstanceTypeZ1d12xlarge is a InstanceType enum value
110425	InstanceTypeZ1d12xlarge = "z1d.12xlarge"
110426
110427	// InstanceTypeZ1dMetal is a InstanceType enum value
110428	InstanceTypeZ1dMetal = "z1d.metal"
110429
110430	// InstanceTypeU6tb1Metal is a InstanceType enum value
110431	InstanceTypeU6tb1Metal = "u-6tb1.metal"
110432
110433	// InstanceTypeU9tb1Metal is a InstanceType enum value
110434	InstanceTypeU9tb1Metal = "u-9tb1.metal"
110435
110436	// InstanceTypeU12tb1Metal is a InstanceType enum value
110437	InstanceTypeU12tb1Metal = "u-12tb1.metal"
110438
110439	// InstanceTypeU18tb1Metal is a InstanceType enum value
110440	InstanceTypeU18tb1Metal = "u-18tb1.metal"
110441
110442	// InstanceTypeU24tb1Metal is a InstanceType enum value
110443	InstanceTypeU24tb1Metal = "u-24tb1.metal"
110444
110445	// InstanceTypeA1Medium is a InstanceType enum value
110446	InstanceTypeA1Medium = "a1.medium"
110447
110448	// InstanceTypeA1Large is a InstanceType enum value
110449	InstanceTypeA1Large = "a1.large"
110450
110451	// InstanceTypeA1Xlarge is a InstanceType enum value
110452	InstanceTypeA1Xlarge = "a1.xlarge"
110453
110454	// InstanceTypeA12xlarge is a InstanceType enum value
110455	InstanceTypeA12xlarge = "a1.2xlarge"
110456
110457	// InstanceTypeA14xlarge is a InstanceType enum value
110458	InstanceTypeA14xlarge = "a1.4xlarge"
110459
110460	// InstanceTypeA1Metal is a InstanceType enum value
110461	InstanceTypeA1Metal = "a1.metal"
110462
110463	// InstanceTypeM5dnLarge is a InstanceType enum value
110464	InstanceTypeM5dnLarge = "m5dn.large"
110465
110466	// InstanceTypeM5dnXlarge is a InstanceType enum value
110467	InstanceTypeM5dnXlarge = "m5dn.xlarge"
110468
110469	// InstanceTypeM5dn2xlarge is a InstanceType enum value
110470	InstanceTypeM5dn2xlarge = "m5dn.2xlarge"
110471
110472	// InstanceTypeM5dn4xlarge is a InstanceType enum value
110473	InstanceTypeM5dn4xlarge = "m5dn.4xlarge"
110474
110475	// InstanceTypeM5dn8xlarge is a InstanceType enum value
110476	InstanceTypeM5dn8xlarge = "m5dn.8xlarge"
110477
110478	// InstanceTypeM5dn12xlarge is a InstanceType enum value
110479	InstanceTypeM5dn12xlarge = "m5dn.12xlarge"
110480
110481	// InstanceTypeM5dn16xlarge is a InstanceType enum value
110482	InstanceTypeM5dn16xlarge = "m5dn.16xlarge"
110483
110484	// InstanceTypeM5dn24xlarge is a InstanceType enum value
110485	InstanceTypeM5dn24xlarge = "m5dn.24xlarge"
110486
110487	// InstanceTypeM5nLarge is a InstanceType enum value
110488	InstanceTypeM5nLarge = "m5n.large"
110489
110490	// InstanceTypeM5nXlarge is a InstanceType enum value
110491	InstanceTypeM5nXlarge = "m5n.xlarge"
110492
110493	// InstanceTypeM5n2xlarge is a InstanceType enum value
110494	InstanceTypeM5n2xlarge = "m5n.2xlarge"
110495
110496	// InstanceTypeM5n4xlarge is a InstanceType enum value
110497	InstanceTypeM5n4xlarge = "m5n.4xlarge"
110498
110499	// InstanceTypeM5n8xlarge is a InstanceType enum value
110500	InstanceTypeM5n8xlarge = "m5n.8xlarge"
110501
110502	// InstanceTypeM5n12xlarge is a InstanceType enum value
110503	InstanceTypeM5n12xlarge = "m5n.12xlarge"
110504
110505	// InstanceTypeM5n16xlarge is a InstanceType enum value
110506	InstanceTypeM5n16xlarge = "m5n.16xlarge"
110507
110508	// InstanceTypeM5n24xlarge is a InstanceType enum value
110509	InstanceTypeM5n24xlarge = "m5n.24xlarge"
110510
110511	// InstanceTypeR5dnLarge is a InstanceType enum value
110512	InstanceTypeR5dnLarge = "r5dn.large"
110513
110514	// InstanceTypeR5dnXlarge is a InstanceType enum value
110515	InstanceTypeR5dnXlarge = "r5dn.xlarge"
110516
110517	// InstanceTypeR5dn2xlarge is a InstanceType enum value
110518	InstanceTypeR5dn2xlarge = "r5dn.2xlarge"
110519
110520	// InstanceTypeR5dn4xlarge is a InstanceType enum value
110521	InstanceTypeR5dn4xlarge = "r5dn.4xlarge"
110522
110523	// InstanceTypeR5dn8xlarge is a InstanceType enum value
110524	InstanceTypeR5dn8xlarge = "r5dn.8xlarge"
110525
110526	// InstanceTypeR5dn12xlarge is a InstanceType enum value
110527	InstanceTypeR5dn12xlarge = "r5dn.12xlarge"
110528
110529	// InstanceTypeR5dn16xlarge is a InstanceType enum value
110530	InstanceTypeR5dn16xlarge = "r5dn.16xlarge"
110531
110532	// InstanceTypeR5dn24xlarge is a InstanceType enum value
110533	InstanceTypeR5dn24xlarge = "r5dn.24xlarge"
110534
110535	// InstanceTypeR5nLarge is a InstanceType enum value
110536	InstanceTypeR5nLarge = "r5n.large"
110537
110538	// InstanceTypeR5nXlarge is a InstanceType enum value
110539	InstanceTypeR5nXlarge = "r5n.xlarge"
110540
110541	// InstanceTypeR5n2xlarge is a InstanceType enum value
110542	InstanceTypeR5n2xlarge = "r5n.2xlarge"
110543
110544	// InstanceTypeR5n4xlarge is a InstanceType enum value
110545	InstanceTypeR5n4xlarge = "r5n.4xlarge"
110546
110547	// InstanceTypeR5n8xlarge is a InstanceType enum value
110548	InstanceTypeR5n8xlarge = "r5n.8xlarge"
110549
110550	// InstanceTypeR5n12xlarge is a InstanceType enum value
110551	InstanceTypeR5n12xlarge = "r5n.12xlarge"
110552
110553	// InstanceTypeR5n16xlarge is a InstanceType enum value
110554	InstanceTypeR5n16xlarge = "r5n.16xlarge"
110555
110556	// InstanceTypeR5n24xlarge is a InstanceType enum value
110557	InstanceTypeR5n24xlarge = "r5n.24xlarge"
110558
110559	// InstanceTypeInf1Xlarge is a InstanceType enum value
110560	InstanceTypeInf1Xlarge = "inf1.xlarge"
110561
110562	// InstanceTypeInf12xlarge is a InstanceType enum value
110563	InstanceTypeInf12xlarge = "inf1.2xlarge"
110564
110565	// InstanceTypeInf16xlarge is a InstanceType enum value
110566	InstanceTypeInf16xlarge = "inf1.6xlarge"
110567
110568	// InstanceTypeInf124xlarge is a InstanceType enum value
110569	InstanceTypeInf124xlarge = "inf1.24xlarge"
110570)
110571
110572const (
110573	// InstanceTypeHypervisorNitro is a InstanceTypeHypervisor enum value
110574	InstanceTypeHypervisorNitro = "nitro"
110575
110576	// InstanceTypeHypervisorXen is a InstanceTypeHypervisor enum value
110577	InstanceTypeHypervisorXen = "xen"
110578)
110579
110580const (
110581	// InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
110582	InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
110583
110584	// InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
110585	InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
110586)
110587
110588const (
110589	// Ipv6SupportValueEnable is a Ipv6SupportValue enum value
110590	Ipv6SupportValueEnable = "enable"
110591
110592	// Ipv6SupportValueDisable is a Ipv6SupportValue enum value
110593	Ipv6SupportValueDisable = "disable"
110594)
110595
110596const (
110597	// LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist is a LaunchTemplateErrorCode enum value
110598	LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
110599
110600	// LaunchTemplateErrorCodeLaunchTemplateIdMalformed is a LaunchTemplateErrorCode enum value
110601	LaunchTemplateErrorCodeLaunchTemplateIdMalformed = "launchTemplateIdMalformed"
110602
110603	// LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist is a LaunchTemplateErrorCode enum value
110604	LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
110605
110606	// LaunchTemplateErrorCodeLaunchTemplateNameMalformed is a LaunchTemplateErrorCode enum value
110607	LaunchTemplateErrorCodeLaunchTemplateNameMalformed = "launchTemplateNameMalformed"
110608
110609	// LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist is a LaunchTemplateErrorCode enum value
110610	LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
110611
110612	// LaunchTemplateErrorCodeUnexpectedError is a LaunchTemplateErrorCode enum value
110613	LaunchTemplateErrorCodeUnexpectedError = "unexpectedError"
110614)
110615
110616const (
110617	// LaunchTemplateHttpTokensStateOptional is a LaunchTemplateHttpTokensState enum value
110618	LaunchTemplateHttpTokensStateOptional = "optional"
110619
110620	// LaunchTemplateHttpTokensStateRequired is a LaunchTemplateHttpTokensState enum value
110621	LaunchTemplateHttpTokensStateRequired = "required"
110622)
110623
110624const (
110625	// LaunchTemplateInstanceMetadataEndpointStateDisabled is a LaunchTemplateInstanceMetadataEndpointState enum value
110626	LaunchTemplateInstanceMetadataEndpointStateDisabled = "disabled"
110627
110628	// LaunchTemplateInstanceMetadataEndpointStateEnabled is a LaunchTemplateInstanceMetadataEndpointState enum value
110629	LaunchTemplateInstanceMetadataEndpointStateEnabled = "enabled"
110630)
110631
110632const (
110633	// LaunchTemplateInstanceMetadataOptionsStatePending is a LaunchTemplateInstanceMetadataOptionsState enum value
110634	LaunchTemplateInstanceMetadataOptionsStatePending = "pending"
110635
110636	// LaunchTemplateInstanceMetadataOptionsStateApplied is a LaunchTemplateInstanceMetadataOptionsState enum value
110637	LaunchTemplateInstanceMetadataOptionsStateApplied = "applied"
110638)
110639
110640const (
110641	// ListingStateAvailable is a ListingState enum value
110642	ListingStateAvailable = "available"
110643
110644	// ListingStateSold is a ListingState enum value
110645	ListingStateSold = "sold"
110646
110647	// ListingStateCancelled is a ListingState enum value
110648	ListingStateCancelled = "cancelled"
110649
110650	// ListingStatePending is a ListingState enum value
110651	ListingStatePending = "pending"
110652)
110653
110654const (
110655	// ListingStatusActive is a ListingStatus enum value
110656	ListingStatusActive = "active"
110657
110658	// ListingStatusPending is a ListingStatus enum value
110659	ListingStatusPending = "pending"
110660
110661	// ListingStatusCancelled is a ListingStatus enum value
110662	ListingStatusCancelled = "cancelled"
110663
110664	// ListingStatusClosed is a ListingStatus enum value
110665	ListingStatusClosed = "closed"
110666)
110667
110668const (
110669	// LocalGatewayRouteStatePending is a LocalGatewayRouteState enum value
110670	LocalGatewayRouteStatePending = "pending"
110671
110672	// LocalGatewayRouteStateActive is a LocalGatewayRouteState enum value
110673	LocalGatewayRouteStateActive = "active"
110674
110675	// LocalGatewayRouteStateBlackhole is a LocalGatewayRouteState enum value
110676	LocalGatewayRouteStateBlackhole = "blackhole"
110677
110678	// LocalGatewayRouteStateDeleting is a LocalGatewayRouteState enum value
110679	LocalGatewayRouteStateDeleting = "deleting"
110680
110681	// LocalGatewayRouteStateDeleted is a LocalGatewayRouteState enum value
110682	LocalGatewayRouteStateDeleted = "deleted"
110683)
110684
110685const (
110686	// LocalGatewayRouteTypeStatic is a LocalGatewayRouteType enum value
110687	LocalGatewayRouteTypeStatic = "static"
110688
110689	// LocalGatewayRouteTypePropagated is a LocalGatewayRouteType enum value
110690	LocalGatewayRouteTypePropagated = "propagated"
110691)
110692
110693const (
110694	// LocationTypeRegion is a LocationType enum value
110695	LocationTypeRegion = "region"
110696
110697	// LocationTypeAvailabilityZone is a LocationType enum value
110698	LocationTypeAvailabilityZone = "availability-zone"
110699
110700	// LocationTypeAvailabilityZoneId is a LocationType enum value
110701	LocationTypeAvailabilityZoneId = "availability-zone-id"
110702)
110703
110704const (
110705	// LogDestinationTypeCloudWatchLogs is a LogDestinationType enum value
110706	LogDestinationTypeCloudWatchLogs = "cloud-watch-logs"
110707
110708	// LogDestinationTypeS3 is a LogDestinationType enum value
110709	LogDestinationTypeS3 = "s3"
110710)
110711
110712const (
110713	// MarketTypeSpot is a MarketType enum value
110714	MarketTypeSpot = "spot"
110715)
110716
110717const (
110718	// MembershipTypeStatic is a MembershipType enum value
110719	MembershipTypeStatic = "static"
110720
110721	// MembershipTypeIgmp is a MembershipType enum value
110722	MembershipTypeIgmp = "igmp"
110723)
110724
110725const (
110726	// ModifyAvailabilityZoneOptInStatusOptedIn is a ModifyAvailabilityZoneOptInStatus enum value
110727	ModifyAvailabilityZoneOptInStatusOptedIn = "opted-in"
110728
110729	// ModifyAvailabilityZoneOptInStatusNotOptedIn is a ModifyAvailabilityZoneOptInStatus enum value
110730	ModifyAvailabilityZoneOptInStatusNotOptedIn = "not-opted-in"
110731)
110732
110733const (
110734	// MonitoringStateDisabled is a MonitoringState enum value
110735	MonitoringStateDisabled = "disabled"
110736
110737	// MonitoringStateDisabling is a MonitoringState enum value
110738	MonitoringStateDisabling = "disabling"
110739
110740	// MonitoringStateEnabled is a MonitoringState enum value
110741	MonitoringStateEnabled = "enabled"
110742
110743	// MonitoringStatePending is a MonitoringState enum value
110744	MonitoringStatePending = "pending"
110745)
110746
110747const (
110748	// MoveStatusMovingToVpc is a MoveStatus enum value
110749	MoveStatusMovingToVpc = "movingToVpc"
110750
110751	// MoveStatusRestoringToClassic is a MoveStatus enum value
110752	MoveStatusRestoringToClassic = "restoringToClassic"
110753)
110754
110755const (
110756	// MulticastSupportValueEnable is a MulticastSupportValue enum value
110757	MulticastSupportValueEnable = "enable"
110758
110759	// MulticastSupportValueDisable is a MulticastSupportValue enum value
110760	MulticastSupportValueDisable = "disable"
110761)
110762
110763const (
110764	// NatGatewayStatePending is a NatGatewayState enum value
110765	NatGatewayStatePending = "pending"
110766
110767	// NatGatewayStateFailed is a NatGatewayState enum value
110768	NatGatewayStateFailed = "failed"
110769
110770	// NatGatewayStateAvailable is a NatGatewayState enum value
110771	NatGatewayStateAvailable = "available"
110772
110773	// NatGatewayStateDeleting is a NatGatewayState enum value
110774	NatGatewayStateDeleting = "deleting"
110775
110776	// NatGatewayStateDeleted is a NatGatewayState enum value
110777	NatGatewayStateDeleted = "deleted"
110778)
110779
110780const (
110781	// NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
110782	NetworkInterfaceAttributeDescription = "description"
110783
110784	// NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
110785	NetworkInterfaceAttributeGroupSet = "groupSet"
110786
110787	// NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
110788	NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
110789
110790	// NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
110791	NetworkInterfaceAttributeAttachment = "attachment"
110792)
110793
110794const (
110795	// NetworkInterfaceCreationTypeEfa is a NetworkInterfaceCreationType enum value
110796	NetworkInterfaceCreationTypeEfa = "efa"
110797)
110798
110799const (
110800	// NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
110801	NetworkInterfacePermissionStateCodePending = "pending"
110802
110803	// NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
110804	NetworkInterfacePermissionStateCodeGranted = "granted"
110805
110806	// NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
110807	NetworkInterfacePermissionStateCodeRevoking = "revoking"
110808
110809	// NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
110810	NetworkInterfacePermissionStateCodeRevoked = "revoked"
110811)
110812
110813const (
110814	// NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
110815	NetworkInterfaceStatusAvailable = "available"
110816
110817	// NetworkInterfaceStatusAssociated is a NetworkInterfaceStatus enum value
110818	NetworkInterfaceStatusAssociated = "associated"
110819
110820	// NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
110821	NetworkInterfaceStatusAttaching = "attaching"
110822
110823	// NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
110824	NetworkInterfaceStatusInUse = "in-use"
110825
110826	// NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
110827	NetworkInterfaceStatusDetaching = "detaching"
110828)
110829
110830const (
110831	// NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
110832	NetworkInterfaceTypeInterface = "interface"
110833
110834	// NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
110835	NetworkInterfaceTypeNatGateway = "natGateway"
110836
110837	// NetworkInterfaceTypeEfa is a NetworkInterfaceType enum value
110838	NetworkInterfaceTypeEfa = "efa"
110839)
110840
110841const (
110842	// OfferingClassTypeStandard is a OfferingClassType enum value
110843	OfferingClassTypeStandard = "standard"
110844
110845	// OfferingClassTypeConvertible is a OfferingClassType enum value
110846	OfferingClassTypeConvertible = "convertible"
110847)
110848
110849const (
110850	// OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
110851	OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
110852
110853	// OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
110854	OfferingTypeValuesMediumUtilization = "Medium Utilization"
110855
110856	// OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
110857	OfferingTypeValuesLightUtilization = "Light Utilization"
110858
110859	// OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
110860	OfferingTypeValuesNoUpfront = "No Upfront"
110861
110862	// OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
110863	OfferingTypeValuesPartialUpfront = "Partial Upfront"
110864
110865	// OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
110866	OfferingTypeValuesAllUpfront = "All Upfront"
110867)
110868
110869const (
110870	// OnDemandAllocationStrategyLowestPrice is a OnDemandAllocationStrategy enum value
110871	OnDemandAllocationStrategyLowestPrice = "lowestPrice"
110872
110873	// OnDemandAllocationStrategyPrioritized is a OnDemandAllocationStrategy enum value
110874	OnDemandAllocationStrategyPrioritized = "prioritized"
110875)
110876
110877const (
110878	// OperationTypeAdd is a OperationType enum value
110879	OperationTypeAdd = "add"
110880
110881	// OperationTypeRemove is a OperationType enum value
110882	OperationTypeRemove = "remove"
110883)
110884
110885const (
110886	// PaymentOptionAllUpfront is a PaymentOption enum value
110887	PaymentOptionAllUpfront = "AllUpfront"
110888
110889	// PaymentOptionPartialUpfront is a PaymentOption enum value
110890	PaymentOptionPartialUpfront = "PartialUpfront"
110891
110892	// PaymentOptionNoUpfront is a PaymentOption enum value
110893	PaymentOptionNoUpfront = "NoUpfront"
110894)
110895
110896const (
110897	// PermissionGroupAll is a PermissionGroup enum value
110898	PermissionGroupAll = "all"
110899)
110900
110901const (
110902	// PlacementGroupStatePending is a PlacementGroupState enum value
110903	PlacementGroupStatePending = "pending"
110904
110905	// PlacementGroupStateAvailable is a PlacementGroupState enum value
110906	PlacementGroupStateAvailable = "available"
110907
110908	// PlacementGroupStateDeleting is a PlacementGroupState enum value
110909	PlacementGroupStateDeleting = "deleting"
110910
110911	// PlacementGroupStateDeleted is a PlacementGroupState enum value
110912	PlacementGroupStateDeleted = "deleted"
110913)
110914
110915const (
110916	// PlacementGroupStrategyCluster is a PlacementGroupStrategy enum value
110917	PlacementGroupStrategyCluster = "cluster"
110918
110919	// PlacementGroupStrategyPartition is a PlacementGroupStrategy enum value
110920	PlacementGroupStrategyPartition = "partition"
110921
110922	// PlacementGroupStrategySpread is a PlacementGroupStrategy enum value
110923	PlacementGroupStrategySpread = "spread"
110924)
110925
110926const (
110927	// PlacementStrategyCluster is a PlacementStrategy enum value
110928	PlacementStrategyCluster = "cluster"
110929
110930	// PlacementStrategySpread is a PlacementStrategy enum value
110931	PlacementStrategySpread = "spread"
110932
110933	// PlacementStrategyPartition is a PlacementStrategy enum value
110934	PlacementStrategyPartition = "partition"
110935)
110936
110937const (
110938	// PlatformValuesWindows is a PlatformValues enum value
110939	PlatformValuesWindows = "Windows"
110940)
110941
110942const (
110943	// PrincipalTypeAll is a PrincipalType enum value
110944	PrincipalTypeAll = "All"
110945
110946	// PrincipalTypeService is a PrincipalType enum value
110947	PrincipalTypeService = "Service"
110948
110949	// PrincipalTypeOrganizationUnit is a PrincipalType enum value
110950	PrincipalTypeOrganizationUnit = "OrganizationUnit"
110951
110952	// PrincipalTypeAccount is a PrincipalType enum value
110953	PrincipalTypeAccount = "Account"
110954
110955	// PrincipalTypeUser is a PrincipalType enum value
110956	PrincipalTypeUser = "User"
110957
110958	// PrincipalTypeRole is a PrincipalType enum value
110959	PrincipalTypeRole = "Role"
110960)
110961
110962const (
110963	// ProductCodeValuesDevpay is a ProductCodeValues enum value
110964	ProductCodeValuesDevpay = "devpay"
110965
110966	// ProductCodeValuesMarketplace is a ProductCodeValues enum value
110967	ProductCodeValuesMarketplace = "marketplace"
110968)
110969
110970const (
110971	// RIProductDescriptionLinuxUnix is a RIProductDescription enum value
110972	RIProductDescriptionLinuxUnix = "Linux/UNIX"
110973
110974	// RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
110975	RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
110976
110977	// RIProductDescriptionWindows is a RIProductDescription enum value
110978	RIProductDescriptionWindows = "Windows"
110979
110980	// RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
110981	RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
110982)
110983
110984const (
110985	// RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
110986	RecurringChargeFrequencyHourly = "Hourly"
110987)
110988
110989const (
110990	// ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
110991	ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
110992
110993	// ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
110994	ReportInstanceReasonCodesUnresponsive = "unresponsive"
110995
110996	// ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
110997	ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
110998
110999	// ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
111000	ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
111001
111002	// ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
111003	ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
111004
111005	// ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
111006	ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
111007
111008	// ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
111009	ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
111010
111011	// ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
111012	ReportInstanceReasonCodesPerformanceOther = "performance-other"
111013
111014	// ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
111015	ReportInstanceReasonCodesOther = "other"
111016)
111017
111018const (
111019	// ReportStatusTypeOk is a ReportStatusType enum value
111020	ReportStatusTypeOk = "ok"
111021
111022	// ReportStatusTypeImpaired is a ReportStatusType enum value
111023	ReportStatusTypeImpaired = "impaired"
111024)
111025
111026const (
111027	// ReservationStatePaymentPending is a ReservationState enum value
111028	ReservationStatePaymentPending = "payment-pending"
111029
111030	// ReservationStatePaymentFailed is a ReservationState enum value
111031	ReservationStatePaymentFailed = "payment-failed"
111032
111033	// ReservationStateActive is a ReservationState enum value
111034	ReservationStateActive = "active"
111035
111036	// ReservationStateRetired is a ReservationState enum value
111037	ReservationStateRetired = "retired"
111038)
111039
111040const (
111041	// ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
111042	ReservedInstanceStatePaymentPending = "payment-pending"
111043
111044	// ReservedInstanceStateActive is a ReservedInstanceState enum value
111045	ReservedInstanceStateActive = "active"
111046
111047	// ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
111048	ReservedInstanceStatePaymentFailed = "payment-failed"
111049
111050	// ReservedInstanceStateRetired is a ReservedInstanceState enum value
111051	ReservedInstanceStateRetired = "retired"
111052
111053	// ReservedInstanceStateQueued is a ReservedInstanceState enum value
111054	ReservedInstanceStateQueued = "queued"
111055
111056	// ReservedInstanceStateQueuedDeleted is a ReservedInstanceState enum value
111057	ReservedInstanceStateQueuedDeleted = "queued-deleted"
111058)
111059
111060const (
111061	// ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value
111062	ResetFpgaImageAttributeNameLoadPermission = "loadPermission"
111063)
111064
111065const (
111066	// ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
111067	ResetImageAttributeNameLaunchPermission = "launchPermission"
111068)
111069
111070const (
111071	// ResourceTypeClientVpnEndpoint is a ResourceType enum value
111072	ResourceTypeClientVpnEndpoint = "client-vpn-endpoint"
111073
111074	// ResourceTypeCustomerGateway is a ResourceType enum value
111075	ResourceTypeCustomerGateway = "customer-gateway"
111076
111077	// ResourceTypeDedicatedHost is a ResourceType enum value
111078	ResourceTypeDedicatedHost = "dedicated-host"
111079
111080	// ResourceTypeDhcpOptions is a ResourceType enum value
111081	ResourceTypeDhcpOptions = "dhcp-options"
111082
111083	// ResourceTypeElasticIp is a ResourceType enum value
111084	ResourceTypeElasticIp = "elastic-ip"
111085
111086	// ResourceTypeFleet is a ResourceType enum value
111087	ResourceTypeFleet = "fleet"
111088
111089	// ResourceTypeFpgaImage is a ResourceType enum value
111090	ResourceTypeFpgaImage = "fpga-image"
111091
111092	// ResourceTypeHostReservation is a ResourceType enum value
111093	ResourceTypeHostReservation = "host-reservation"
111094
111095	// ResourceTypeImage is a ResourceType enum value
111096	ResourceTypeImage = "image"
111097
111098	// ResourceTypeInstance is a ResourceType enum value
111099	ResourceTypeInstance = "instance"
111100
111101	// ResourceTypeInternetGateway is a ResourceType enum value
111102	ResourceTypeInternetGateway = "internet-gateway"
111103
111104	// ResourceTypeKeyPair is a ResourceType enum value
111105	ResourceTypeKeyPair = "key-pair"
111106
111107	// ResourceTypeLaunchTemplate is a ResourceType enum value
111108	ResourceTypeLaunchTemplate = "launch-template"
111109
111110	// ResourceTypeNatgateway is a ResourceType enum value
111111	ResourceTypeNatgateway = "natgateway"
111112
111113	// ResourceTypeNetworkAcl is a ResourceType enum value
111114	ResourceTypeNetworkAcl = "network-acl"
111115
111116	// ResourceTypeNetworkInterface is a ResourceType enum value
111117	ResourceTypeNetworkInterface = "network-interface"
111118
111119	// ResourceTypePlacementGroup is a ResourceType enum value
111120	ResourceTypePlacementGroup = "placement-group"
111121
111122	// ResourceTypeReservedInstances is a ResourceType enum value
111123	ResourceTypeReservedInstances = "reserved-instances"
111124
111125	// ResourceTypeRouteTable is a ResourceType enum value
111126	ResourceTypeRouteTable = "route-table"
111127
111128	// ResourceTypeSecurityGroup is a ResourceType enum value
111129	ResourceTypeSecurityGroup = "security-group"
111130
111131	// ResourceTypeSnapshot is a ResourceType enum value
111132	ResourceTypeSnapshot = "snapshot"
111133
111134	// ResourceTypeSpotFleetRequest is a ResourceType enum value
111135	ResourceTypeSpotFleetRequest = "spot-fleet-request"
111136
111137	// ResourceTypeSpotInstancesRequest is a ResourceType enum value
111138	ResourceTypeSpotInstancesRequest = "spot-instances-request"
111139
111140	// ResourceTypeSubnet is a ResourceType enum value
111141	ResourceTypeSubnet = "subnet"
111142
111143	// ResourceTypeTrafficMirrorFilter is a ResourceType enum value
111144	ResourceTypeTrafficMirrorFilter = "traffic-mirror-filter"
111145
111146	// ResourceTypeTrafficMirrorSession is a ResourceType enum value
111147	ResourceTypeTrafficMirrorSession = "traffic-mirror-session"
111148
111149	// ResourceTypeTrafficMirrorTarget is a ResourceType enum value
111150	ResourceTypeTrafficMirrorTarget = "traffic-mirror-target"
111151
111152	// ResourceTypeTransitGateway is a ResourceType enum value
111153	ResourceTypeTransitGateway = "transit-gateway"
111154
111155	// ResourceTypeTransitGatewayAttachment is a ResourceType enum value
111156	ResourceTypeTransitGatewayAttachment = "transit-gateway-attachment"
111157
111158	// ResourceTypeTransitGatewayMulticastDomain is a ResourceType enum value
111159	ResourceTypeTransitGatewayMulticastDomain = "transit-gateway-multicast-domain"
111160
111161	// ResourceTypeTransitGatewayRouteTable is a ResourceType enum value
111162	ResourceTypeTransitGatewayRouteTable = "transit-gateway-route-table"
111163
111164	// ResourceTypeVolume is a ResourceType enum value
111165	ResourceTypeVolume = "volume"
111166
111167	// ResourceTypeVpc is a ResourceType enum value
111168	ResourceTypeVpc = "vpc"
111169
111170	// ResourceTypeVpcPeeringConnection is a ResourceType enum value
111171	ResourceTypeVpcPeeringConnection = "vpc-peering-connection"
111172
111173	// ResourceTypeVpnConnection is a ResourceType enum value
111174	ResourceTypeVpnConnection = "vpn-connection"
111175
111176	// ResourceTypeVpnGateway is a ResourceType enum value
111177	ResourceTypeVpnGateway = "vpn-gateway"
111178
111179	// ResourceTypeVpcFlowLog is a ResourceType enum value
111180	ResourceTypeVpcFlowLog = "vpc-flow-log"
111181)
111182
111183const (
111184	// RootDeviceTypeEbs is a RootDeviceType enum value
111185	RootDeviceTypeEbs = "ebs"
111186
111187	// RootDeviceTypeInstanceStore is a RootDeviceType enum value
111188	RootDeviceTypeInstanceStore = "instance-store"
111189)
111190
111191const (
111192	// RouteOriginCreateRouteTable is a RouteOrigin enum value
111193	RouteOriginCreateRouteTable = "CreateRouteTable"
111194
111195	// RouteOriginCreateRoute is a RouteOrigin enum value
111196	RouteOriginCreateRoute = "CreateRoute"
111197
111198	// RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
111199	RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
111200)
111201
111202const (
111203	// RouteStateActive is a RouteState enum value
111204	RouteStateActive = "active"
111205
111206	// RouteStateBlackhole is a RouteState enum value
111207	RouteStateBlackhole = "blackhole"
111208)
111209
111210const (
111211	// RouteTableAssociationStateCodeAssociating is a RouteTableAssociationStateCode enum value
111212	RouteTableAssociationStateCodeAssociating = "associating"
111213
111214	// RouteTableAssociationStateCodeAssociated is a RouteTableAssociationStateCode enum value
111215	RouteTableAssociationStateCodeAssociated = "associated"
111216
111217	// RouteTableAssociationStateCodeDisassociating is a RouteTableAssociationStateCode enum value
111218	RouteTableAssociationStateCodeDisassociating = "disassociating"
111219
111220	// RouteTableAssociationStateCodeDisassociated is a RouteTableAssociationStateCode enum value
111221	RouteTableAssociationStateCodeDisassociated = "disassociated"
111222
111223	// RouteTableAssociationStateCodeFailed is a RouteTableAssociationStateCode enum value
111224	RouteTableAssociationStateCodeFailed = "failed"
111225)
111226
111227const (
111228	// RuleActionAllow is a RuleAction enum value
111229	RuleActionAllow = "allow"
111230
111231	// RuleActionDeny is a RuleAction enum value
111232	RuleActionDeny = "deny"
111233)
111234
111235const (
111236	// ScopeAvailabilityZone is a Scope enum value
111237	ScopeAvailabilityZone = "Availability Zone"
111238
111239	// ScopeRegion is a Scope enum value
111240	ScopeRegion = "Region"
111241)
111242
111243const (
111244	// ServiceStatePending is a ServiceState enum value
111245	ServiceStatePending = "Pending"
111246
111247	// ServiceStateAvailable is a ServiceState enum value
111248	ServiceStateAvailable = "Available"
111249
111250	// ServiceStateDeleting is a ServiceState enum value
111251	ServiceStateDeleting = "Deleting"
111252
111253	// ServiceStateDeleted is a ServiceState enum value
111254	ServiceStateDeleted = "Deleted"
111255
111256	// ServiceStateFailed is a ServiceState enum value
111257	ServiceStateFailed = "Failed"
111258)
111259
111260const (
111261	// ServiceTypeInterface is a ServiceType enum value
111262	ServiceTypeInterface = "Interface"
111263
111264	// ServiceTypeGateway is a ServiceType enum value
111265	ServiceTypeGateway = "Gateway"
111266)
111267
111268const (
111269	// ShutdownBehaviorStop is a ShutdownBehavior enum value
111270	ShutdownBehaviorStop = "stop"
111271
111272	// ShutdownBehaviorTerminate is a ShutdownBehavior enum value
111273	ShutdownBehaviorTerminate = "terminate"
111274)
111275
111276const (
111277	// SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
111278	SnapshotAttributeNameProductCodes = "productCodes"
111279
111280	// SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
111281	SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
111282)
111283
111284const (
111285	// SnapshotStatePending is a SnapshotState enum value
111286	SnapshotStatePending = "pending"
111287
111288	// SnapshotStateCompleted is a SnapshotState enum value
111289	SnapshotStateCompleted = "completed"
111290
111291	// SnapshotStateError is a SnapshotState enum value
111292	SnapshotStateError = "error"
111293)
111294
111295const (
111296	// SpotAllocationStrategyLowestPrice is a SpotAllocationStrategy enum value
111297	SpotAllocationStrategyLowestPrice = "lowest-price"
111298
111299	// SpotAllocationStrategyDiversified is a SpotAllocationStrategy enum value
111300	SpotAllocationStrategyDiversified = "diversified"
111301
111302	// SpotAllocationStrategyCapacityOptimized is a SpotAllocationStrategy enum value
111303	SpotAllocationStrategyCapacityOptimized = "capacity-optimized"
111304)
111305
111306const (
111307	// SpotInstanceInterruptionBehaviorHibernate is a SpotInstanceInterruptionBehavior enum value
111308	SpotInstanceInterruptionBehaviorHibernate = "hibernate"
111309
111310	// SpotInstanceInterruptionBehaviorStop is a SpotInstanceInterruptionBehavior enum value
111311	SpotInstanceInterruptionBehaviorStop = "stop"
111312
111313	// SpotInstanceInterruptionBehaviorTerminate is a SpotInstanceInterruptionBehavior enum value
111314	SpotInstanceInterruptionBehaviorTerminate = "terminate"
111315)
111316
111317const (
111318	// SpotInstanceStateOpen is a SpotInstanceState enum value
111319	SpotInstanceStateOpen = "open"
111320
111321	// SpotInstanceStateActive is a SpotInstanceState enum value
111322	SpotInstanceStateActive = "active"
111323
111324	// SpotInstanceStateClosed is a SpotInstanceState enum value
111325	SpotInstanceStateClosed = "closed"
111326
111327	// SpotInstanceStateCancelled is a SpotInstanceState enum value
111328	SpotInstanceStateCancelled = "cancelled"
111329
111330	// SpotInstanceStateFailed is a SpotInstanceState enum value
111331	SpotInstanceStateFailed = "failed"
111332)
111333
111334const (
111335	// SpotInstanceTypeOneTime is a SpotInstanceType enum value
111336	SpotInstanceTypeOneTime = "one-time"
111337
111338	// SpotInstanceTypePersistent is a SpotInstanceType enum value
111339	SpotInstanceTypePersistent = "persistent"
111340)
111341
111342const (
111343	// StatePendingAcceptance is a State enum value
111344	StatePendingAcceptance = "PendingAcceptance"
111345
111346	// StatePending is a State enum value
111347	StatePending = "Pending"
111348
111349	// StateAvailable is a State enum value
111350	StateAvailable = "Available"
111351
111352	// StateDeleting is a State enum value
111353	StateDeleting = "Deleting"
111354
111355	// StateDeleted is a State enum value
111356	StateDeleted = "Deleted"
111357
111358	// StateRejected is a State enum value
111359	StateRejected = "Rejected"
111360
111361	// StateFailed is a State enum value
111362	StateFailed = "Failed"
111363
111364	// StateExpired is a State enum value
111365	StateExpired = "Expired"
111366)
111367
111368const (
111369	// StatusMoveInProgress is a Status enum value
111370	StatusMoveInProgress = "MoveInProgress"
111371
111372	// StatusInVpc is a Status enum value
111373	StatusInVpc = "InVpc"
111374
111375	// StatusInClassic is a Status enum value
111376	StatusInClassic = "InClassic"
111377)
111378
111379const (
111380	// StatusNameReachability is a StatusName enum value
111381	StatusNameReachability = "reachability"
111382)
111383
111384const (
111385	// StatusTypePassed is a StatusType enum value
111386	StatusTypePassed = "passed"
111387
111388	// StatusTypeFailed is a StatusType enum value
111389	StatusTypeFailed = "failed"
111390
111391	// StatusTypeInsufficientData is a StatusType enum value
111392	StatusTypeInsufficientData = "insufficient-data"
111393
111394	// StatusTypeInitializing is a StatusType enum value
111395	StatusTypeInitializing = "initializing"
111396)
111397
111398const (
111399	// SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
111400	SubnetCidrBlockStateCodeAssociating = "associating"
111401
111402	// SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
111403	SubnetCidrBlockStateCodeAssociated = "associated"
111404
111405	// SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
111406	SubnetCidrBlockStateCodeDisassociating = "disassociating"
111407
111408	// SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
111409	SubnetCidrBlockStateCodeDisassociated = "disassociated"
111410
111411	// SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
111412	SubnetCidrBlockStateCodeFailing = "failing"
111413
111414	// SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
111415	SubnetCidrBlockStateCodeFailed = "failed"
111416)
111417
111418const (
111419	// SubnetStatePending is a SubnetState enum value
111420	SubnetStatePending = "pending"
111421
111422	// SubnetStateAvailable is a SubnetState enum value
111423	SubnetStateAvailable = "available"
111424)
111425
111426const (
111427	// SummaryStatusOk is a SummaryStatus enum value
111428	SummaryStatusOk = "ok"
111429
111430	// SummaryStatusImpaired is a SummaryStatus enum value
111431	SummaryStatusImpaired = "impaired"
111432
111433	// SummaryStatusInsufficientData is a SummaryStatus enum value
111434	SummaryStatusInsufficientData = "insufficient-data"
111435
111436	// SummaryStatusNotApplicable is a SummaryStatus enum value
111437	SummaryStatusNotApplicable = "not-applicable"
111438
111439	// SummaryStatusInitializing is a SummaryStatus enum value
111440	SummaryStatusInitializing = "initializing"
111441)
111442
111443const (
111444	// TelemetryStatusUp is a TelemetryStatus enum value
111445	TelemetryStatusUp = "UP"
111446
111447	// TelemetryStatusDown is a TelemetryStatus enum value
111448	TelemetryStatusDown = "DOWN"
111449)
111450
111451const (
111452	// TenancyDefault is a Tenancy enum value
111453	TenancyDefault = "default"
111454
111455	// TenancyDedicated is a Tenancy enum value
111456	TenancyDedicated = "dedicated"
111457
111458	// TenancyHost is a Tenancy enum value
111459	TenancyHost = "host"
111460)
111461
111462const (
111463	// TrafficDirectionIngress is a TrafficDirection enum value
111464	TrafficDirectionIngress = "ingress"
111465
111466	// TrafficDirectionEgress is a TrafficDirection enum value
111467	TrafficDirectionEgress = "egress"
111468)
111469
111470const (
111471	// TrafficMirrorFilterRuleFieldDestinationPortRange is a TrafficMirrorFilterRuleField enum value
111472	TrafficMirrorFilterRuleFieldDestinationPortRange = "destination-port-range"
111473
111474	// TrafficMirrorFilterRuleFieldSourcePortRange is a TrafficMirrorFilterRuleField enum value
111475	TrafficMirrorFilterRuleFieldSourcePortRange = "source-port-range"
111476
111477	// TrafficMirrorFilterRuleFieldProtocol is a TrafficMirrorFilterRuleField enum value
111478	TrafficMirrorFilterRuleFieldProtocol = "protocol"
111479
111480	// TrafficMirrorFilterRuleFieldDescription is a TrafficMirrorFilterRuleField enum value
111481	TrafficMirrorFilterRuleFieldDescription = "description"
111482)
111483
111484const (
111485	// TrafficMirrorNetworkServiceAmazonDns is a TrafficMirrorNetworkService enum value
111486	TrafficMirrorNetworkServiceAmazonDns = "amazon-dns"
111487)
111488
111489const (
111490	// TrafficMirrorRuleActionAccept is a TrafficMirrorRuleAction enum value
111491	TrafficMirrorRuleActionAccept = "accept"
111492
111493	// TrafficMirrorRuleActionReject is a TrafficMirrorRuleAction enum value
111494	TrafficMirrorRuleActionReject = "reject"
111495)
111496
111497const (
111498	// TrafficMirrorSessionFieldPacketLength is a TrafficMirrorSessionField enum value
111499	TrafficMirrorSessionFieldPacketLength = "packet-length"
111500
111501	// TrafficMirrorSessionFieldDescription is a TrafficMirrorSessionField enum value
111502	TrafficMirrorSessionFieldDescription = "description"
111503
111504	// TrafficMirrorSessionFieldVirtualNetworkId is a TrafficMirrorSessionField enum value
111505	TrafficMirrorSessionFieldVirtualNetworkId = "virtual-network-id"
111506)
111507
111508const (
111509	// TrafficMirrorTargetTypeNetworkInterface is a TrafficMirrorTargetType enum value
111510	TrafficMirrorTargetTypeNetworkInterface = "network-interface"
111511
111512	// TrafficMirrorTargetTypeNetworkLoadBalancer is a TrafficMirrorTargetType enum value
111513	TrafficMirrorTargetTypeNetworkLoadBalancer = "network-load-balancer"
111514)
111515
111516const (
111517	// TrafficTypeAccept is a TrafficType enum value
111518	TrafficTypeAccept = "ACCEPT"
111519
111520	// TrafficTypeReject is a TrafficType enum value
111521	TrafficTypeReject = "REJECT"
111522
111523	// TrafficTypeAll is a TrafficType enum value
111524	TrafficTypeAll = "ALL"
111525)
111526
111527const (
111528	// TransitGatewayAssociationStateAssociating is a TransitGatewayAssociationState enum value
111529	TransitGatewayAssociationStateAssociating = "associating"
111530
111531	// TransitGatewayAssociationStateAssociated is a TransitGatewayAssociationState enum value
111532	TransitGatewayAssociationStateAssociated = "associated"
111533
111534	// TransitGatewayAssociationStateDisassociating is a TransitGatewayAssociationState enum value
111535	TransitGatewayAssociationStateDisassociating = "disassociating"
111536
111537	// TransitGatewayAssociationStateDisassociated is a TransitGatewayAssociationState enum value
111538	TransitGatewayAssociationStateDisassociated = "disassociated"
111539)
111540
111541const (
111542	// TransitGatewayAttachmentResourceTypeVpc is a TransitGatewayAttachmentResourceType enum value
111543	TransitGatewayAttachmentResourceTypeVpc = "vpc"
111544
111545	// TransitGatewayAttachmentResourceTypeVpn is a TransitGatewayAttachmentResourceType enum value
111546	TransitGatewayAttachmentResourceTypeVpn = "vpn"
111547
111548	// TransitGatewayAttachmentResourceTypeDirectConnectGateway is a TransitGatewayAttachmentResourceType enum value
111549	TransitGatewayAttachmentResourceTypeDirectConnectGateway = "direct-connect-gateway"
111550
111551	// TransitGatewayAttachmentResourceTypeTgwPeering is a TransitGatewayAttachmentResourceType enum value
111552	TransitGatewayAttachmentResourceTypeTgwPeering = "tgw-peering"
111553)
111554
111555const (
111556	// TransitGatewayAttachmentStateInitiating is a TransitGatewayAttachmentState enum value
111557	TransitGatewayAttachmentStateInitiating = "initiating"
111558
111559	// TransitGatewayAttachmentStatePendingAcceptance is a TransitGatewayAttachmentState enum value
111560	TransitGatewayAttachmentStatePendingAcceptance = "pendingAcceptance"
111561
111562	// TransitGatewayAttachmentStateRollingBack is a TransitGatewayAttachmentState enum value
111563	TransitGatewayAttachmentStateRollingBack = "rollingBack"
111564
111565	// TransitGatewayAttachmentStatePending is a TransitGatewayAttachmentState enum value
111566	TransitGatewayAttachmentStatePending = "pending"
111567
111568	// TransitGatewayAttachmentStateAvailable is a TransitGatewayAttachmentState enum value
111569	TransitGatewayAttachmentStateAvailable = "available"
111570
111571	// TransitGatewayAttachmentStateModifying is a TransitGatewayAttachmentState enum value
111572	TransitGatewayAttachmentStateModifying = "modifying"
111573
111574	// TransitGatewayAttachmentStateDeleting is a TransitGatewayAttachmentState enum value
111575	TransitGatewayAttachmentStateDeleting = "deleting"
111576
111577	// TransitGatewayAttachmentStateDeleted is a TransitGatewayAttachmentState enum value
111578	TransitGatewayAttachmentStateDeleted = "deleted"
111579
111580	// TransitGatewayAttachmentStateFailed is a TransitGatewayAttachmentState enum value
111581	TransitGatewayAttachmentStateFailed = "failed"
111582
111583	// TransitGatewayAttachmentStateRejected is a TransitGatewayAttachmentState enum value
111584	TransitGatewayAttachmentStateRejected = "rejected"
111585
111586	// TransitGatewayAttachmentStateRejecting is a TransitGatewayAttachmentState enum value
111587	TransitGatewayAttachmentStateRejecting = "rejecting"
111588
111589	// TransitGatewayAttachmentStateFailing is a TransitGatewayAttachmentState enum value
111590	TransitGatewayAttachmentStateFailing = "failing"
111591)
111592
111593const (
111594	// TransitGatewayMulitcastDomainAssociationStateAssociating is a TransitGatewayMulitcastDomainAssociationState enum value
111595	TransitGatewayMulitcastDomainAssociationStateAssociating = "associating"
111596
111597	// TransitGatewayMulitcastDomainAssociationStateAssociated is a TransitGatewayMulitcastDomainAssociationState enum value
111598	TransitGatewayMulitcastDomainAssociationStateAssociated = "associated"
111599
111600	// TransitGatewayMulitcastDomainAssociationStateDisassociating is a TransitGatewayMulitcastDomainAssociationState enum value
111601	TransitGatewayMulitcastDomainAssociationStateDisassociating = "disassociating"
111602
111603	// TransitGatewayMulitcastDomainAssociationStateDisassociated is a TransitGatewayMulitcastDomainAssociationState enum value
111604	TransitGatewayMulitcastDomainAssociationStateDisassociated = "disassociated"
111605)
111606
111607const (
111608	// TransitGatewayMulticastDomainStatePending is a TransitGatewayMulticastDomainState enum value
111609	TransitGatewayMulticastDomainStatePending = "pending"
111610
111611	// TransitGatewayMulticastDomainStateAvailable is a TransitGatewayMulticastDomainState enum value
111612	TransitGatewayMulticastDomainStateAvailable = "available"
111613
111614	// TransitGatewayMulticastDomainStateDeleting is a TransitGatewayMulticastDomainState enum value
111615	TransitGatewayMulticastDomainStateDeleting = "deleting"
111616
111617	// TransitGatewayMulticastDomainStateDeleted is a TransitGatewayMulticastDomainState enum value
111618	TransitGatewayMulticastDomainStateDeleted = "deleted"
111619)
111620
111621const (
111622	// TransitGatewayPropagationStateEnabling is a TransitGatewayPropagationState enum value
111623	TransitGatewayPropagationStateEnabling = "enabling"
111624
111625	// TransitGatewayPropagationStateEnabled is a TransitGatewayPropagationState enum value
111626	TransitGatewayPropagationStateEnabled = "enabled"
111627
111628	// TransitGatewayPropagationStateDisabling is a TransitGatewayPropagationState enum value
111629	TransitGatewayPropagationStateDisabling = "disabling"
111630
111631	// TransitGatewayPropagationStateDisabled is a TransitGatewayPropagationState enum value
111632	TransitGatewayPropagationStateDisabled = "disabled"
111633)
111634
111635const (
111636	// TransitGatewayRouteStatePending is a TransitGatewayRouteState enum value
111637	TransitGatewayRouteStatePending = "pending"
111638
111639	// TransitGatewayRouteStateActive is a TransitGatewayRouteState enum value
111640	TransitGatewayRouteStateActive = "active"
111641
111642	// TransitGatewayRouteStateBlackhole is a TransitGatewayRouteState enum value
111643	TransitGatewayRouteStateBlackhole = "blackhole"
111644
111645	// TransitGatewayRouteStateDeleting is a TransitGatewayRouteState enum value
111646	TransitGatewayRouteStateDeleting = "deleting"
111647
111648	// TransitGatewayRouteStateDeleted is a TransitGatewayRouteState enum value
111649	TransitGatewayRouteStateDeleted = "deleted"
111650)
111651
111652const (
111653	// TransitGatewayRouteTableStatePending is a TransitGatewayRouteTableState enum value
111654	TransitGatewayRouteTableStatePending = "pending"
111655
111656	// TransitGatewayRouteTableStateAvailable is a TransitGatewayRouteTableState enum value
111657	TransitGatewayRouteTableStateAvailable = "available"
111658
111659	// TransitGatewayRouteTableStateDeleting is a TransitGatewayRouteTableState enum value
111660	TransitGatewayRouteTableStateDeleting = "deleting"
111661
111662	// TransitGatewayRouteTableStateDeleted is a TransitGatewayRouteTableState enum value
111663	TransitGatewayRouteTableStateDeleted = "deleted"
111664)
111665
111666const (
111667	// TransitGatewayRouteTypeStatic is a TransitGatewayRouteType enum value
111668	TransitGatewayRouteTypeStatic = "static"
111669
111670	// TransitGatewayRouteTypePropagated is a TransitGatewayRouteType enum value
111671	TransitGatewayRouteTypePropagated = "propagated"
111672)
111673
111674const (
111675	// TransitGatewayStatePending is a TransitGatewayState enum value
111676	TransitGatewayStatePending = "pending"
111677
111678	// TransitGatewayStateAvailable is a TransitGatewayState enum value
111679	TransitGatewayStateAvailable = "available"
111680
111681	// TransitGatewayStateModifying is a TransitGatewayState enum value
111682	TransitGatewayStateModifying = "modifying"
111683
111684	// TransitGatewayStateDeleting is a TransitGatewayState enum value
111685	TransitGatewayStateDeleting = "deleting"
111686
111687	// TransitGatewayStateDeleted is a TransitGatewayState enum value
111688	TransitGatewayStateDeleted = "deleted"
111689)
111690
111691const (
111692	// TransportProtocolTcp is a TransportProtocol enum value
111693	TransportProtocolTcp = "tcp"
111694
111695	// TransportProtocolUdp is a TransportProtocol enum value
111696	TransportProtocolUdp = "udp"
111697)
111698
111699const (
111700	// UnlimitedSupportedInstanceFamilyT2 is a UnlimitedSupportedInstanceFamily enum value
111701	UnlimitedSupportedInstanceFamilyT2 = "t2"
111702
111703	// UnlimitedSupportedInstanceFamilyT3 is a UnlimitedSupportedInstanceFamily enum value
111704	UnlimitedSupportedInstanceFamilyT3 = "t3"
111705
111706	// UnlimitedSupportedInstanceFamilyT3a is a UnlimitedSupportedInstanceFamily enum value
111707	UnlimitedSupportedInstanceFamilyT3a = "t3a"
111708)
111709
111710const (
111711	// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
111712	UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
111713
111714	// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
111715	UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound = "InvalidInstanceID.NotFound"
111716
111717	// UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
111718	UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState = "IncorrectInstanceState"
111719
111720	// UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
111721	UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported"
111722)
111723
111724const (
111725	// UsageClassTypeSpot is a UsageClassType enum value
111726	UsageClassTypeSpot = "spot"
111727
111728	// UsageClassTypeOnDemand is a UsageClassType enum value
111729	UsageClassTypeOnDemand = "on-demand"
111730)
111731
111732const (
111733	// VirtualizationTypeHvm is a VirtualizationType enum value
111734	VirtualizationTypeHvm = "hvm"
111735
111736	// VirtualizationTypeParavirtual is a VirtualizationType enum value
111737	VirtualizationTypeParavirtual = "paravirtual"
111738)
111739
111740const (
111741	// VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
111742	VolumeAttachmentStateAttaching = "attaching"
111743
111744	// VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
111745	VolumeAttachmentStateAttached = "attached"
111746
111747	// VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
111748	VolumeAttachmentStateDetaching = "detaching"
111749
111750	// VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
111751	VolumeAttachmentStateDetached = "detached"
111752
111753	// VolumeAttachmentStateBusy is a VolumeAttachmentState enum value
111754	VolumeAttachmentStateBusy = "busy"
111755)
111756
111757const (
111758	// VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
111759	VolumeAttributeNameAutoEnableIo = "autoEnableIO"
111760
111761	// VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
111762	VolumeAttributeNameProductCodes = "productCodes"
111763)
111764
111765const (
111766	// VolumeModificationStateModifying is a VolumeModificationState enum value
111767	VolumeModificationStateModifying = "modifying"
111768
111769	// VolumeModificationStateOptimizing is a VolumeModificationState enum value
111770	VolumeModificationStateOptimizing = "optimizing"
111771
111772	// VolumeModificationStateCompleted is a VolumeModificationState enum value
111773	VolumeModificationStateCompleted = "completed"
111774
111775	// VolumeModificationStateFailed is a VolumeModificationState enum value
111776	VolumeModificationStateFailed = "failed"
111777)
111778
111779const (
111780	// VolumeStateCreating is a VolumeState enum value
111781	VolumeStateCreating = "creating"
111782
111783	// VolumeStateAvailable is a VolumeState enum value
111784	VolumeStateAvailable = "available"
111785
111786	// VolumeStateInUse is a VolumeState enum value
111787	VolumeStateInUse = "in-use"
111788
111789	// VolumeStateDeleting is a VolumeState enum value
111790	VolumeStateDeleting = "deleting"
111791
111792	// VolumeStateDeleted is a VolumeState enum value
111793	VolumeStateDeleted = "deleted"
111794
111795	// VolumeStateError is a VolumeState enum value
111796	VolumeStateError = "error"
111797)
111798
111799const (
111800	// VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
111801	VolumeStatusInfoStatusOk = "ok"
111802
111803	// VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
111804	VolumeStatusInfoStatusImpaired = "impaired"
111805
111806	// VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
111807	VolumeStatusInfoStatusInsufficientData = "insufficient-data"
111808)
111809
111810const (
111811	// VolumeStatusNameIoEnabled is a VolumeStatusName enum value
111812	VolumeStatusNameIoEnabled = "io-enabled"
111813
111814	// VolumeStatusNameIoPerformance is a VolumeStatusName enum value
111815	VolumeStatusNameIoPerformance = "io-performance"
111816)
111817
111818const (
111819	// VolumeTypeStandard is a VolumeType enum value
111820	VolumeTypeStandard = "standard"
111821
111822	// VolumeTypeIo1 is a VolumeType enum value
111823	VolumeTypeIo1 = "io1"
111824
111825	// VolumeTypeGp2 is a VolumeType enum value
111826	VolumeTypeGp2 = "gp2"
111827
111828	// VolumeTypeSc1 is a VolumeType enum value
111829	VolumeTypeSc1 = "sc1"
111830
111831	// VolumeTypeSt1 is a VolumeType enum value
111832	VolumeTypeSt1 = "st1"
111833)
111834
111835const (
111836	// VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
111837	VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
111838
111839	// VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
111840	VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
111841)
111842
111843const (
111844	// VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
111845	VpcCidrBlockStateCodeAssociating = "associating"
111846
111847	// VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
111848	VpcCidrBlockStateCodeAssociated = "associated"
111849
111850	// VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
111851	VpcCidrBlockStateCodeDisassociating = "disassociating"
111852
111853	// VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
111854	VpcCidrBlockStateCodeDisassociated = "disassociated"
111855
111856	// VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
111857	VpcCidrBlockStateCodeFailing = "failing"
111858
111859	// VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
111860	VpcCidrBlockStateCodeFailed = "failed"
111861)
111862
111863const (
111864	// VpcEndpointTypeInterface is a VpcEndpointType enum value
111865	VpcEndpointTypeInterface = "Interface"
111866
111867	// VpcEndpointTypeGateway is a VpcEndpointType enum value
111868	VpcEndpointTypeGateway = "Gateway"
111869)
111870
111871const (
111872	// VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
111873	VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
111874
111875	// VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
111876	VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
111877
111878	// VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
111879	VpcPeeringConnectionStateReasonCodeActive = "active"
111880
111881	// VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
111882	VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
111883
111884	// VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
111885	VpcPeeringConnectionStateReasonCodeRejected = "rejected"
111886
111887	// VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
111888	VpcPeeringConnectionStateReasonCodeFailed = "failed"
111889
111890	// VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
111891	VpcPeeringConnectionStateReasonCodeExpired = "expired"
111892
111893	// VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
111894	VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
111895
111896	// VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
111897	VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
111898)
111899
111900const (
111901	// VpcStatePending is a VpcState enum value
111902	VpcStatePending = "pending"
111903
111904	// VpcStateAvailable is a VpcState enum value
111905	VpcStateAvailable = "available"
111906)
111907
111908const (
111909	// VpcTenancyDefault is a VpcTenancy enum value
111910	VpcTenancyDefault = "default"
111911)
111912
111913const (
111914	// VpnEcmpSupportValueEnable is a VpnEcmpSupportValue enum value
111915	VpnEcmpSupportValueEnable = "enable"
111916
111917	// VpnEcmpSupportValueDisable is a VpnEcmpSupportValue enum value
111918	VpnEcmpSupportValueDisable = "disable"
111919)
111920
111921const (
111922	// VpnProtocolOpenvpn is a VpnProtocol enum value
111923	VpnProtocolOpenvpn = "openvpn"
111924)
111925
111926const (
111927	// VpnStatePending is a VpnState enum value
111928	VpnStatePending = "pending"
111929
111930	// VpnStateAvailable is a VpnState enum value
111931	VpnStateAvailable = "available"
111932
111933	// VpnStateDeleting is a VpnState enum value
111934	VpnStateDeleting = "deleting"
111935
111936	// VpnStateDeleted is a VpnState enum value
111937	VpnStateDeleted = "deleted"
111938)
111939
111940const (
111941	// VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
111942	VpnStaticRouteSourceStatic = "Static"
111943)
111944